Proposed Asterisk Dialplan
From LinuxMCE
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 four possible states:
- Ring extensions
- All checked extensions (2xx) are rung.
- 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 four 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
- If extension does not pick up within specified IVR delay time, Transfer to (101) for IVR menu
- 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 per user routing below)
- Yes, it is a priority caller, Process priority caller routing (see per user routing below)