Proposed Asterisk Dialplan: Difference between revisions
Appearance
more content. |
|||
| Line 5: | Line 5: | ||
===Call from outside line (1xx)=== | ===Call from outside line (1xx)=== | ||
*Call comes in from outside line | *Call comes in from outside line | ||
**Get house mode and branch between | **Get house mode and branch between five possible states: | ||
***Ring extensions | ***Ring extensions | ||
****All checked extensions (2xx) are rung. | ****All checked extensions (2xx) are rung in parallel. | ||
***Transfer to a specific user | ***Transfer to a specific user | ||
****Transfer to specified (3xx) extension | ****Transfer to specified (3xx) extension | ||
| Line 27: | Line 27: | ||
**Yes? ...then | **Yes? ...then | ||
***Ring specified extension | ***Ring specified extension | ||
****While ringing, user has the opportunity to: | |||
*****Transfer to a specific phone (2xx) | |||
*****Transfer to a specific user (3xx) | |||
*****Transfer to an outside number (dial specified number given to dial pad) | |||
*****dial someone else in to conference before we all pick up (this is strange, but the button is there!) | |||
*****Send to General voicemail (100) | |||
*****Drop the call | |||
****If extension does not pick up within specified IVR delay time, Transfer to (101) for IVR menu | ****If extension does not pick up within specified IVR delay time, Transfer to (101) for IVR menu | ||
| Line 34: | Line 41: | ||
**No, it is a normal caller, Process normal caller routing (see normal/priority user routing below) | **No, it is a normal caller, Process normal caller routing (see normal/priority user routing below) | ||
**Yes, it is a priority caller, Process priority caller routing (see normal/priority user routing below) | **Yes, it is a priority caller, Process priority caller routing (see normal/priority user routing below) | ||
====Normal/Priority User Routing==== | |||
For each user, there is a set of routing steps to be executed serially, depending on if the user is a normal or priority caller, and then based on the current USER mode. A user is a priority caller if they are listed in the priority callers list. Any number of steps can be created, and a dial plan segment should be created for each one. | |||
* Get house mode | |||
**If Normal caller, select normal caller steps given house mode | |||
**If Priority caller, select priority caller steps given house mode | |||
*** Execute next step which is one of four possible states: | |||
**** Ring Extensions | |||
***** Parallel ring selected extensions (2xx) | |||
**** Transfer to another user | |||
***** Transfer call to specified (3xx) extension | |||
**** Go to user's voicemail | |||
***** Transfer call to specified user voicemail | |||
**** Transfer to an outside number | |||
*** If all instructions are carried out and still unresolved, drop back to menu (101) | |||
==Lists for...== | |||
=== House Modes === | |||
* Armed - At Home | |||
* Armed - Away | |||
* Armed - Extended Away | |||
* Entertaining | |||
* Sleeping | |||
* Unarmed - At Home | |||
=== User Modes === | |||
* At Home | |||
* Away | |||
* Do Not Disturb | |||
* Sleeping | |||
=== Incoming Call extensions === | |||
* 100 - General Voicemail box | |||
* 101 - IVR menu | |||
=== Example Phone extensions === | |||
* 201 - Living Room | |||
* 202 - Bedroom Master | |||
* 203 - Den | |||
* ... | |||
=== Example User extensions === | |||
* 301 - Thom | |||
* 302 - Lana | |||
* 303 - Nina | |||
* ... | |||
=== Example User voicemail extensions === | |||
* 401 - Thom | |||
* 402 - Lana | |||
* 403 - Nina | |||
Revision as of 04:38, 18 July 2013
We desperately need to write a new Asterisk dial plan to replace the AMP generated one that has become far too bit-rotten to be of any substantial use. This page will track the conceptual flow of what will be needed for the new post Asterisk 1.8+ dialplan.
Dial Plan Flow
Call from outside line (1xx)
- Call comes in from outside line
- Get house mode and branch between five possible states:
- Ring extensions
- All checked extensions (2xx) are rung in parallel.
- Transfer to a specific user
- Transfer to specified (3xx) extension
- Go to a specific user's voicemail
- Transfer to selected user's voicemail
- Present a menu to select Home user (101)
- Is the number listed in Callers for me(?) for a user.
- Transfer to user extension. (3xx)
- Present menu audio, and select between options:
- If explicit extension is selected, ring said extension. (Do we want to allow all extensions to be pressed here?)
- If User number is selected, Transfer to user (3xx)
- If General Voicemail, drop to general voicemail box (100)
- Is the number listed in Callers for me(?) for a user.
- Transfer to outside number
- Dial outside #
- Ring extensions
- Get house mode and branch between five possible states:
Ring specific extension (2xx)
- Does current house mode allow extension to be rang?
- No? Bounce to Menu (101)
- Yes? ...then
- Ring specified extension
- While ringing, user has the opportunity to:
- Transfer to a specific phone (2xx)
- Transfer to a specific user (3xx)
- Transfer to an outside number (dial specified number given to dial pad)
- dial someone else in to conference before we all pick up (this is strange, but the button is there!)
- Send to General voicemail (100)
- Drop the call
- If extension does not pick up within specified IVR delay time, Transfer to (101) for IVR menu
- While ringing, user has the opportunity to:
- Ring specified extension
Ring specific user (3xx)
- Find user via AGI script, map to a list of (2xx) extensions.
- Is number on Priority caller list?
- No, it is a normal caller, Process normal caller routing (see normal/priority user routing below)
- Yes, it is a priority caller, Process priority caller routing (see normal/priority user routing below)
Normal/Priority User Routing
For each user, there is a set of routing steps to be executed serially, depending on if the user is a normal or priority caller, and then based on the current USER mode. A user is a priority caller if they are listed in the priority callers list. Any number of steps can be created, and a dial plan segment should be created for each one.
- Get house mode
- If Normal caller, select normal caller steps given house mode
- If Priority caller, select priority caller steps given house mode
- Execute next step which is one of four possible states:
- Ring Extensions
- Parallel ring selected extensions (2xx)
- Transfer to another user
- Transfer call to specified (3xx) extension
- Go to user's voicemail
- Transfer call to specified user voicemail
- Transfer to an outside number
- Ring Extensions
- If all instructions are carried out and still unresolved, drop back to menu (101)
- Execute next step which is one of four possible states:
Lists for...
House Modes
- Armed - At Home
- Armed - Away
- Armed - Extended Away
- Entertaining
- Sleeping
- Unarmed - At Home
User Modes
- At Home
- Away
- Do Not Disturb
- Sleeping
Incoming Call extensions
- 100 - General Voicemail box
- 101 - IVR menu
Example Phone extensions
- 201 - Living Room
- 202 - Bedroom Master
- 203 - Den
- ...
Example User extensions
- 301 - Thom
- 302 - Lana
- 303 - Nina
- ...
Example User voicemail extensions
- 401 - Thom
- 402 - Lana
- 403 - Nina