Difference between revisions of "Proposed Asterisk Dialplan"
From LinuxMCE
(→Ring specific user (3xx)) |
(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 05: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.
Contents
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