Guest User

Untitled

a guest
Apr 10th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.93 KB | None | 0 0
  1.  
  2. [general]
  3. ;
  4. ; If static is set to no, or omitted, then the pbx_config will rewrite
  5. ; this file when extensions are modified. Remember that all comments
  6. ; made in the file will be lost when that happens.
  7. ;
  8. ; XXX Not yet implemented XXX
  9. ;
  10. static = yes
  11. ;
  12. ; if static=yes and writeprotect=no, you can save dialplan by
  13. ; CLI command 'save dialplan' too
  14. ;
  15. writeprotect = no
  16. ;
  17. ; If autofallthrough is set, then if an extension runs out of
  18. ; things to do, it will terminate the call with BUSY, CONGESTION
  19. ; or HANGUP depending on Asterisk's best guess. This is the default.
  20. ;
  21. ; If autofallthrough is not set, then if an extension runs out of
  22. ; things to do, Asterisk will wait for a new extension to be dialed
  23. ; (this is the original behavior of Asterisk 1.0 and earlier).
  24. ;
  25. autofallthrough = yes
  26. ;
  27. ; If clearglobalvars is set, global variables will be cleared
  28. ; and reparsed on an extensions reload, or Asterisk reload.
  29. ;
  30. ; If clearglobalvars is not set, then global variables will persist
  31. ; through reloads, and even if deleted from the extensions.conf or
  32. ; one of its included files, will remain set to the previous value.
  33. ;
  34. ; NOTE: A complication sets in, if you put your global variables into
  35. ; the AEL file, instead of the extensions.conf file. With clearglobalvars
  36. ; set, a 'reload' will often leave the globals vars cleared, because it
  37. ; is not unusual to have extensions.conf (which will have no globals)
  38. ; load after the extensions.ael file (where the global vars are stored).
  39. ; So, with 'reload' in this particular situation, first the AEL file will
  40. ; clear and then set all the global vars, then, later, when the extensions.conf
  41. ; file is loaded, the global vars are all cleared, and then not set, because
  42. ; they are not stored in the extensions.conf file.
  43. ;
  44. clearglobalvars = no
  45. ;
  46. ; If priorityjumping is set to 'yes', then applications that support
  47. ; 'jumping' to a different priority based on the result of their operations
  48. ; will do so (this is backwards compatible behavior with pre-1.2 releases
  49. ; of Asterisk). Individual applications can also be requested to do this
  50. ; by passing a 'j' option in their arguments.
  51. ;
  52. ;priorityjumping=yes
  53. ;
  54. ; User context is where entries from users.conf are registered. The
  55. ; default value is 'default'
  56. ;
  57. ;userscontext=default
  58. ;
  59. ; You can include other config files, use the #include command
  60. ; (without the ';'). Note that this is different from the "include" command
  61. ; that includes contexts within other contexts. The #include command works
  62. ; in all asterisk configuration files.
  63. ;
  64. ;#include "filename.conf"
  65. ;
  66. ; The "Globals" category contains global variables that can be referenced
  67. ; in the dialplan with the GLOBAL dialplan function:
  68. ;
  69. ; ${GLOBAL(VARIABLE)}
  70. ;
  71. ; ${${GLOBAL(VARIABLE)}} or ${text${GLOBAL(VARIABLE)}} or any hybrid
  72. ; Unix/Linux environmental variables can be reached with the ENV dialplan
  73. ; function: ${ENV(VARIABLE)}
  74. ;
  75. ;---------------------------------------------------------------------------------------------
  76. ;Start DialPlan Basics
  77. ;---------------------------------------------------------------------------------------------
  78. ; Any category other than "General" and "Globals" represent
  79. ; extension contexts, which are collections of extensions.
  80. ;
  81. ; Extension names may be numbers, letters, or combinations
  82. ; thereof. If an extension name is prefixed by a '_'
  83. ; character, it is interpreted as a pattern rather than a
  84. ; literal. In patterns, some characters have special meanings:
  85. ;
  86. ; X - any digit from 0-9
  87. ; Z - any digit from 1-9
  88. ; N - any digit from 2-9
  89. ; [1235-9] - any digit in the brackets (in this example, 1,2,3,5,6,7,8,9)
  90. ; . - wildcard, matches anything remaining (e.g. _9011. matches
  91. ; anything starting with 9011 excluding 9011 itself)
  92. ; ! - wildcard, causes the matching process to complete as soon as
  93. ; it can unambiguously determine that no other matches are possible
  94. ;
  95. ; For example the extension _NXXXXXX would match normal 7 digit dialings,
  96. ; while _1NXXNXXXXXX would represent an area code plus phone number
  97. ; preceded by a one.
  98. ;
  99. ; Each step of an extension is ordered by priority, which must
  100. ; always start with 1 to be considered a valid extension. The priority
  101. ; "next" or "n" means the previous priority plus one, regardless of whether
  102. ; the previous priority was associated with the current extension or not.
  103. ; The priority "same" or "s" means the same as the previously specified
  104. ; priority, again regardless of whether the previous entry was for the
  105. ; same extension. Priorities may be immediately followed by a plus sign
  106. ; and another integer to add that amount (most useful with 's' or 'n').
  107. ; Priorities may then also have an alias, or label, in
  108. ; parenthesis after their name which can be used in goto situations
  109. ;
  110. ; Contexts contain several lines, one for each step of each
  111. ; extension, which can take one of two forms as listed below,
  112. ; with the first form being preferred. One may include another
  113. ; context in the current one as well, optionally with a
  114. ; date and time. Included contexts are included in the order
  115. ; they are listed.
  116. ;
  117. ;-----------------------------------------------------------------------------
  118. ; Magic Extensions to be used within a context
  119. ;-----------------------------------------------------------------------------
  120. ; s = start
  121. ; t = This gets jumped to on timeout waiting for keypress
  122. ; i = This gets jumped to on an invalid extension
  123. ; h = This gets jumped to when a call in a given context is hung up
  124. ; fax = This gets jumped to on fax tone detection
  125. ;-----------------------------------------------------------------------------
  126. ; Dial Options
  127. ;-----------------------------------------------------------------------------
  128. ; Dial jumps to priority n+101 on Congestion if n+101 exists
  129. ; 't' -- Allow the user to dial # then an extension to transfer
  130. ; 'T' -- to allow the calling user to transfer the call
  131. ; 'r' -- indicate ringing to the calling party, pass no audio until answer
  132. ; 'm' -- provide hold music to the calling party until answered
  133. ; 'd' -- data-quality (modem) call (minimum delay)
  134. ; 'c' -- clear-channel data call (PRI-PRI only)
  135. ; 'H' -- allow caller to hang up by hitting *
  136. ; 'C' -- reset call detail record for this call
  137. ; 'P[(x)]' -- privacy mode, using 'x' as database if provided
  138. ; 'g' -- goes on in context if the destination channel hangs up
  139. ;----------------------------------------------------------------------------
  140. ;
  141. ;
  142. ; Note the 'g2' in the TRUNK variable below. It specifies which group (defined
  143. ; in zapata.conf) to dial, i.e. group 2, and how to choose a channel to use in
  144. ; the specified group. The four possible options are:
  145. ;
  146. ; g: select the lowest-numbered non-busy Zap channel
  147. ; (aka. ascending sequential hunt group).
  148. ; G: select the highest-numbered non-busy Zap channel
  149. ; (aka. descending sequential hunt group).
  150. ; r: use a round-robin search, starting at the next highest channel than last
  151. ; time (aka. ascending rotary hunt group).
  152. ; R: use a round-robin search, starting at the next lowest channel than last
  153. ; time (aka. descending rotary hunt group).
  154. ;
  155. ;-----------------------------------------------------
  156. ;Start Globals
  157. ;-----------------------------------------------------
  158. [globals]
  159. ;CONSOLE=Console/dsp ; Console interface for demo
  160. ;CONSOLE=Zap/1
  161. ;CONSOLE=Phone/phone0
  162. ;IAXINFO=guest ; IAXtel username/password
  163. ;IAXINFO=myuser:mypass
  164. ;TRUNK=Zap/g2
  165. ;
  166. TRUNKMSD = 0 ; MSD digits to strip (usually 1 or 0)
  167. ;
  168. fwddialup = SIP/fwddialup
  169. sipphone = SIP/sipphone
  170. ;
  171. ;-------------------------------------------------------------
  172. ; Sip/Voip Provider. Context for each diff provider.
  173. ; Read and used to fill in dial strings for outbound Dialing.
  174. ;-------------------------------------------------------------
  175. ;Number=
  176. ;AREACODE=
  177. ;USERID=
  178. ;USERPASS=
  179. ;SIPCOMPANYNAME=
  180. ;PROTOCOL=SIP ;SIP or IAX2
  181. ;
  182. ;SipPhone.com
  183. ;SIPNUMBER= ;your SipPhonecom Number Here
  184. ;SIPUSERID= ;Your User ID here
  185. ;SIPPASS= ;Your Password here
  186. ;PROTOCOL=SIP
  187. ;
  188. ;IAXTEL.com user info ------ currently iaxtell offline---------------
  189. ;IAXLINE=
  190. ;IAXTELUSER=
  191. ;IAXCOMPANYNAME=
  192. ;IAXTELPASS=
  193. ;PROTOCOL=IAX2
  194. ;
  195. ;FreeWorld Dialup user info
  196. ;FWDNUMBER=
  197. ;FWDUSERID=
  198. ;FWDPASSWD=
  199. ;PROTOCOL=SIP ;SIP or IAX2
  200. ;
  201. ;--------------------------
  202. ;asterisk talk show globals exten 501
  203. ;-------------------------
  204. MY_PIN = 3232814080
  205. MY_SHOW = 22622
  206. ;
  207. ;-----------------------------------------------------
  208. ;Start DialPlan
  209. ;-----------------------------------------------------
  210. ;------------------------------------------------------
  211. ; Start - inbound call mapping
  212. ;------------------------------------------------------
  213. [inbound]
  214. ;
  215. ;This Exten Goes to Automated attendant after putting
  216. ;caller ID into the Database
  217. exten = s,1,Set(BD(Last/Caller=${CALLERIDNUM})
  218. exten = s,n,Goto(us-holiday-timerules,s,1)
  219. ;exten = s,n,Goto(can-holiday-timerules,s,1)
  220. ;
  221. ;------------------------------------------------------
  222. ; Basic Time Checking for inbouund routing
  223. ;
  224. ;I mapped us and canadian holidays. Still needs EU holidays.
  225. ;I planb to create a holidays.conf in the future with all the
  226. ;diff holidays and their country
  227. ;------------------------------------------------------
  228. ;
  229. [us-holiday-timerules]
  230. exten = s,1,GotoIfTime(*|*|31-1|dec-jan?s|HOLIDAY1)
  231. exten = s,n,GotoIfTime(*|*|28|may?s|HOLIDAY2)
  232. exten = s,n,GotoIfTime(*|*|4|jul?s|HOLIDAY3)
  233. exten = s,n,GotoIfTime(*|*|3|sept?s|HOLIDAY4)
  234. exten = s,n,GotoIfTime(*|*|8|oct?s|HOLIDAY5)
  235. exten = s,n,GotoIfTime(*|*|11|nov?s|HOLIDAY6)
  236. exten = s,n,GotoIfTime(*|*|22|nov?s|HOLIDAY7)
  237. exten = s,n,GotoIfTime(*|*|24-26|dec?s|HOLIDAY8)
  238. exten = s,n,Goto(timebasedrules,1,1)
  239. ;
  240. exten = s,n(HOLIDAY1),Playback(office-closed&newyears)
  241. exten = s,n,Goto(s,HOURS))
  242. exten = s,n(HOLIDAY2),Playback(office-closed&memorialday)
  243. exten = s,n,Goto(s,HOURS))
  244. exten = s,n(HOLIDAY3),Playback(office-closed&independanceday)
  245. exten = s,n,Goto(s,HOURS))
  246. exten = s,n(HOLIDAY4),Playback(office-closed&Laborday)
  247. exten = s,n,Goto(s,HOURS)
  248. exten = s,n(HOLIDAY5),Playback(office-closed&ColumbusDay)
  249. exten = s,n,Goto(s,HOURS)
  250. exten = s,n(HOLIDAY6),Playback(office-closed&vetrans)
  251. exten = s,n,Goto(s,HOURS)
  252. exten = s,n(HOLIDAY7),Playback(office-closed&thanksgiving)
  253. exten = s,n,Goto(s,HOURS)
  254. exten = s,n(HOLIDAY8),Playback(office-closed&x-mas)
  255. exten = s,n,Goto(s,HOURS)
  256. ;
  257. [can-holiday-timerules]
  258. exten = s,1,GotoIfTime(*|*|31-1|dec-jan?s|HOLIDAY1)
  259. exten = s,n,GotoIfTime(*|*|6|april?s|HOLIDAY2)
  260. exten = s,n,GotoIfTime(*|*|9|april?s|HOLIDAY3)
  261. exten = s,n,GotoIfTime(*|*|21|may?s|HOLIDAY4)
  262. exten = s,n,GotoIfTime(*|*|25|jun?s|HOLIDAY5)
  263. exten = s,n,GotoIfTime(*|*|1-2|jul?s|HOLIDAY6)
  264. exten = s,n,GotoIfTime(*|*|6|aug?s|HOLIDAY7)
  265. exten = s,n,GotoIfTime(*|*|3|sept?s|HOLIDAY8)
  266. exten = s,n,GotoIfTime(*|*|8|oct?s|HOLIDAY9)
  267. exten = s,n,GotoIfTime(*|*|12|nov?s|HOLIDAY10)
  268. exten = s,n,GotoIfTime(*|*|24-25|dec?s|HOLIDAY11)
  269. exten = s,n,GotoIfTime(*|*|26|dec?s|HOLIDAY12)
  270. exten = s,n,Goto(timebasedrules,1,1)
  271. ;
  272. exten = s,n(HOLIDAY1),Playback(office-closed&New-Years)
  273. exten = s,n,Goto(s,HOURS))
  274. exten = s,n(HOLIDAY2),Playback(office-closed&Good-Friday)
  275. exten = s,n,Goto(s,HOURS))
  276. exten = s,n(HOLIDAY3),Playback(office-closed&Easter-Monday)
  277. exten = s,n,Goto(s,HOURS))
  278. exten = s,n(HOLIDAY4),Playback(office-closed&Victoriaday)
  279. exten = s,n,Goto(s,HOURS)
  280. exten = s,n(HOLIDAY5),Playback(office-closed&SanJuanBaptisteDay)
  281. exten = s,n,Goto(s,HOURS)
  282. exten = s,n(HOLIDAY6),Playback(office-closed&CanadaDay)
  283. exten = s,n,Goto(s,HOURS)
  284. exten = s,n(HOLIDAY7),Playback(office-closed&Laborday)
  285. exten = s,n,Goto(s,HOURS)
  286. exten = s,n(HOLIDAY8),Playback(office-closed&Thanksgiviing)
  287. exten = s,n,Goto(s,HOURS)
  288. exten = s,n(HOLIDAY9),Playback(office-closed&Remberanceday)
  289. exten = s,n,Goto(s,HOURS)
  290. exten = s,n(HOLIDAY10),Playback(office-closed&xmas)
  291. exten = s,n,Goto(s,HOURS)
  292. exten = s,n(HOLIDAY11),Playback(office-closed&boxingday)
  293. exten = s,n,Goto(office-hours,s,1)
  294. ;
  295. [office-hours]
  296. exten = s,1,Playback(office-hours&vm-goodbye))
  297. exten = s,n,Macro(hangupcall))
  298. ;
  299. [timebasedrules]
  300. exten = 1,1,NoOp(Office Open)
  301. exten = 1,n,GotoIfTime(08:00-20:00|mon-fri|*|jan-dec?main-irv-menu,s,1)
  302. exten = 1,n,Goto(office-hours,s,1)
  303. ;
  304. ;-------------------------------------------------------------------
  305. ; Basic Inbound - IVR Menu
  306. ;-------------------------------------------------------------------
  307. [main-ivr-menu]
  308. exten = s,1,Answer()
  309. exten = s,n,Background(ivr-menu-gsm-or-wav-file)
  310. exten = s,n,DigitTimeout(5)
  311. exten = s,n,ResponseTimeout(10)
  312. ;
  313. exten = i,1,Background(pbx-invalid) ; "That's not valid, try again"
  314. exten = i,2,Wait(1)
  315. exten = i,3,Goto(s,9)
  316. ;
  317. exten = t,1,Playback(pls-wait-connect-call)
  318. exten = t,n,Goto(operator-queue,s,1)
  319. ;
  320. ;1 Sales Dept
  321. exten = 1,1,GotoIfTime(08:00-16:59|mon-fri|*|*?selection,5,2)
  322. exten = 1,2,Playback(sales-closed)
  323. exten = 1,3,Playback(vm-goodbye)
  324. exten = 1,4,Hangup
  325. exten = 1,5,Playback(pls-wait-connect-call)
  326. exten = 1,6,Goto(basic-queues|100|1)
  327. ;
  328. ;2 Billing Dept
  329. exten = 2,1,GotoIfTime(08:00-16:59|mon-fri|*|*?selection,5,2)
  330. exten = 2,2,Playback(biling-closed)
  331. exten = 2,3,Playback(vm-goodbye)
  332. exten = 2,4,Hangup
  333. exten = 2,5,Playback(pls-wait-connect-call)
  334. exten = 2,6,Goto(basic-queues|101|1)
  335. ;
  336. ;3 Technical Support Dept
  337. exten = 3,1,GotoIfTime(08:00-22:59|mon-fri|*|*?selection,5,2)
  338. exten = 3,2,Playback(techsupport-closed)
  339. exten = 3,3,Playback(vm-goodbye)
  340. exten = 3,4,Hangup
  341. exten = 3,5,Playback(pls-wait-connect-call)
  342. exten = 3,6,Goto(basic-queues|102|1)
  343. ;
  344. ;9 Fax Extension
  345. exten = 9,1,Set(CALLEDFAX=${EXTEN})
  346. exten = 9,2,Answer
  347. exten = 9,3,Goto(fax,${EXTEN},1)
  348. ;
  349. exten = fax,1,Goto(ext- fax,in_fax,1)
  350. ;
  351. ;-----------------------------------------------------
  352. ;Basic Sip / IAX2 Outbound Proviver setup
  353. ;change provider to your sip/iax2 provider
  354. ;-----------------------------------------------------
  355. ;[provider]
  356. ;US LD & Canada 11 digit Dialing
  357. ;exten = _1XXXXXXXXXX,1,DIAL(${PROTOCOL}/${USERNAME}:${PASSWORD}@${PROVIDER}/${EXTEN})
  358. ;exten = _1NXXNXXXXXX,n,Hangup
  359. ;
  360. ;10 digit us dialing
  361. ;exten = _NXXNXXXXXX,1,DIAL(${PROTOCOL}/${USERNAME}:${PASSWORD}@${PROVIDER}/${EXTEN})
  362. ;exten = _NXXNXXXXXX,n,Hangup
  363. ;
  364. ;us local 7 digit dialing
  365. ;exten = _NXXXXXX,1,DIAL(${PROTOCOL}/${USERNAME}:${PASSWORD}@${PROVIDER}/&{AREACODE}${EXTEN})
  366. ;exten = _NXXXXXX,n,Hangup
  367. ;
  368. ;International Dialing
  369. ;exten = _011.,1,DIAL(${PROTOCOL}/${USERNAME}:${PASSWORD}@${PROVIDER}/${EXTEN})
  370. ;exten = _011.,n,Hangup
  371. ;
  372. ;---------------------------------------------
  373. ;Spipphone.com Ooutboune Setup
  374. ;---------------------------------------------
  375. ;[sipphone]
  376. ;exten = _1747NXXXXXX,1,Dial(SIP/${EXTEN}@sipphone)
  377. ;exten = _1747NXXXXXX,n,Playback(invalid)
  378. ;exten = _1747NXXXXXX,n,Congestion
  379. ;exten = _1747NXXXXXX,n,Hangup
  380. ;
  381. ;--------------------------------------------
  382. ;Free world Dialup outbound
  383. ;--------------------------------------------
  384. ;[fwddialup]
  385. ;exten = _#6.,1,Dial(${PROTOCOL}/${FWDNUMBER}:${FWDPASSWORD}@fwd.pulver.com/${EXTEN:2},60,r)
  386. ;exten = _#6.,n,Hangup
  387. ;
  388. ;----------------------------------------------
  389. ;Master Dialplan
  390. ;Need to add active feature checking and status checking.
  391. ;----------------------------------------------
  392. [macro-trunkdial]
  393. ;
  394. ; Standard trunk dial macro (hangs up on a dialstatus that shoul terminate call)
  395. ; ${ARG1} - What to dial
  396. ;
  397. exten => s,1,Dial(${ARG1})
  398. exten => s,n,Goto(s-${DIALSTATUS},1,)
  399. exten => s-NOANSWER,1,Hangup
  400. exten => s-BUSY,1,Hangup
  401. exten => _s-.,1,NoOp
  402. ;
  403. [macro-stdexten]
  404. ;
  405. ; Standard extension macro:
  406. ; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well
  407. ; ${ARG2} - Device(s) to ring
  408. ;
  409. exten => s,1,Dial(${ARG2},20) ; Ring the interface, 20 seconds maximum
  410. exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
  411. exten => s-NOANSWER,1,Voicemail(${ARG1},u) ; If unavailable, send to voicemail w/ unavail announce
  412. exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
  413. exten => s-BUSY,1,Voicemail(${ARG1},b) ; If busy, send to voicemail w/ busy announce
  414. exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
  415. exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
  416. exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain
  417. ;
  418. [macro-stdPrivacyexten];
  419. ;
  420. ; Standard extension macro:
  421. ; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well
  422. ; ${ARG2} - Device(s) to ring
  423. ; ${ARG3} - Optional DONTCALL context name to jump to (assumes the s,1 extension-priority)
  424. ; ${ARG4} - Optional TORTURE context name to jump to (assumes the s,1 extension-priority)`
  425. ;
  426. exten => s,1,Dial(${ARG2},20|p) ; Ring the interface, 20 seconds maximum, call screening
  427. ; option (or use P for databased call screening)
  428. exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
  429. exten => s-NOANSWER,1,Voicemail(${ARG1},u) ; If unavailable, send to voicemail w/ unavail announce
  430. exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
  431. exten => s-BUSY,1,Voicemail(${ARG1},b) ; If busy, send to voicemail w/ busy announce
  432. exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
  433. exten => s-DONTCALL,1,Goto(${ARG3},s,1) ; Callee chose to send this call to a polite "Don't call again" script.
  434. exten => s-TORTURE,1,Goto(${ARG4},s,1) ; Callee chose to send this call to a telemarketer torture script.
  435. exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
  436. exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain
  437. ;
  438. ;------------------------------------------------
  439. ;Vertical Service Code & Definitions
  440. ;-----------------------------------------------------
  441. ;This is Nanpa vertical service codes + Codes I added to the setup and testing, Some of these functions have not been mapped in
  442. ;asterisk. Some of them can be remapped or changed, but for the most part the layout fallows Nanpa(North American Numbering Plan Assoc).
  443. ;I did my best to document as I went along as to what each function does.
  444. ;
  445. ;I would like to see all the vsc code move to a functions.conf just use a #include = functionc.conf and the same with the macros in time.
  446. ;
  447. ;-----------------------------------------------------
  448. ;Remote Line Pickup ** is used so that gxp2000 can use this function.
  449. ;-----------------------------------------------------
  450. [app-pickup]
  451. exten = _**.,1,Noop(Attempt to Pickup ${EXTEN:2} by ${CALLERID(num)})
  452. exten = _**.,n,Pickup(${EXTEN:2})
  453. ;
  454. ;--------------------------------------------------------------------------------------------------------------------------------
  455. ;Inward Voice Activated Services (*00 English, *01 French)
  456. ;IVAS enables a subscribing business to provide automated voice activated routing for inbound English or French speaking calls
  457. ;(i.e., separate codes for the same service in each language). IVAS will initially consist of the following services:
  458. ;
  459. ;* Voice Activated Premier Dialing (VAPD) which allows customers to contact subscribing businesses by speaking the business
  460. ; name or service.
  461. ;
  462. ;* Voice Activated Blue Pages (VABP) which allows customers to request access to government services.
  463. ;
  464. ;* Voice Activated Auto Attendant (VAAA) which provides enhancements to Auto Attendant applications by providing a voice
  465. ; recognition interface in place of Touch Tone.
  466. ;
  467. ;* Voice Activated Audio Text (VAAT) provides users ability to request specific information from a business.
  468. ;
  469. ;* Voice Activated Interactive Voice Response (VAIVR) which allows the caller to interact with a subscriber's specific
  470. ; application in a prescribed manner.
  471. ;--------------------------------------------------------------------------------------------------------------------------------
  472. ;
  473. ;--------------------------------------------------------------------------------------------------------------------------------
  474. ;Deactivation/Activation of In-Session Activation (ISA) on a per line basis (*02)
  475. ;Allows a subscriber to deactivate or activate (i.e., toggle) the In-Session Activation feature on a per line basis. ISA
  476. ;is feature that gives the caller a menu of call completion services using voice prompts when the call encounters a busy
  477. ;or no-answer condition.
  478. ;--------------------------------------------------------------------------------------------------------------------------------
  479. ;
  480. ;--------------------------------------------------------------------------------------------------------------------------------
  481. ;Deactivation of In-Session Activation (ISA) on a per call basis (*03)
  482. ;Allows a subscriber to deactivate the In-Session Activation feature on a per call basis. When the call is completed, ISA
  483. ;reverts back to the active state. ISA is a feature that gives the caller a menu of call completion services using voice
  484. ;prompts when the call encounters a busy or no-answer condition.
  485. ;--------------------------------------------------------------------------------------------------------------------------------
  486. ;----------------------------------------------------
  487. ; *1 -
  488. ;----------------------------------------------------
  489. ;
  490. ;-----------------------------------------------------------
  491. ; *2 - Say Phone Number
  492. ;-----------------------------------------------------------
  493. [app-say-exten]
  494. exten = *2,1,Answer
  495. exten = *2,n,Playback(your-exten-num-is)
  496. exten = *2,n,SayDigits(${CALLERID(number)})
  497. exten = *2,n,Macro(hangupcall)
  498. ;
  499. ;-----------------------------------------------------------
  500. ; *3 - Say Date and Time
  501. ;-----------------------------------------------------------
  502. [app-say-date]
  503. exten = *3,1,Answer
  504. exten = *3,2,Playback(at-tone-time-exactly)
  505. exten = *3,3,SayUnixTime(,,IMp)
  506. exten = *3,4,Playback(beep)
  507. exten = *3,5,Macro(hangupcall)
  508. ;
  509. ;-----------------------------------------------------------
  510. ; *4 - Echo Test
  511. ;-----------------------------------------------------------
  512. [app-echo]
  513. exten = *4,1,Answer
  514. exten = *4,n,Playback(demo-echotest)
  515. exten = *4,n,Playback(beep)
  516. exten = *4,n,Echo
  517. exten = *4,n,Playback(demo-echodone)
  518. exten = *4,n,Macro(hangupcall)
  519. ;
  520. ;-----------------------------------------------------------
  521. ; *5 - Milliwatt Tone
  522. ;-----------------------------------------------------------
  523. [app-milliwatt]
  524. exten = *5,1,Answer
  525. exten = *5,n,Milliwatt
  526. exten = *5,n,Macro(hangupcall)
  527. ;
  528. ;-----------------------------------------------------------
  529. ; *6 - Record Promt Test Format Gsm
  530. ; This exten Records and Plays back a gsm file to test the audio on the phone.
  531. ;-----------------------------------------------------------
  532. [app-rec-playback]
  533. exten = *6,1,Answer
  534. exten = *6,n,Wait(1)
  535. exten = *6,n,Record(record:gsm)
  536. exten = *6,n,Wait(1)
  537. exten = *6,n,Playback(record)
  538. exten = *6,n,Macro(hangupcall)
  539. ;
  540. ;-----------------------------------------------------------
  541. ; *7 - Music On Hold
  542. ; You can edit the musiconhold.conf and setup multi diff moh streams Just change MusicOnHold(....)
  543. ;-----------------------------------------------------------
  544. [app-moh]
  545. exten = *7,1,Answer
  546. exten = *7,n,MusicOnHold(default)
  547. exten = *7,n,Macro(hangupcall)
  548. ;
  549. ;------------------------------------
  550. ;*8 Says Time & plays Tone & Repeat's
  551. ;------------------------------------
  552. [app-clock]; repeates time.
  553. exten = *8,1,Answer
  554. exten = *8,2,Set(FutureTime=$[${EPOCH} + 8])
  555. exten = *8,3,Set(FutureTimeMod=$[${FutureTime} % 10])
  556. exten = *8,4,Set(FutureTime=$[${FutureTime} - ${FutureTimeMod}])
  557. exten = *8,5,Set(MaxConnectTime=$[${FutureTime} + 180])
  558. exten = *8,6,Set(FutureTimeMod=$[${FutureTime} - ${EPOCH}])
  559. exten = *8,7,GotoIf($["${FutureTimeMod}" < "0"]?10:8)
  560. exten = *8,8,wait(1)
  561. exten = *8,9,goto(6)
  562. exten = *8,10,Answer
  563. exten = *8,11,Set(FutureTime=$[${FutureTime} + 10])
  564. exten = *8,12,Set(FutureTimeMod=$[${FutureTime} % 60])
  565. exten = *8,13,wait(1)
  566. exten = *8,14,playback(at-tone-time-exactly)
  567. exten = *8,15,SayUnixTime(${FutureTime},,I)
  568. exten = *8,16,SayUnixTime(${FutureTime},,M)
  569. exten = *8,17,GotoIf($["${FutureTimeMod}" = "0"]?18:20)
  570. exten = *8,18,SayUnixTime(${FutureTime},,p)
  571. exten = *8,19,goto(23)
  572. ext
Add Comment
Please, Sign In to add comment