pbx*CLI> show dialplnan pbx*CLI> [ Context 'default' created by 'pbx_config' ] 's' => 1. Playback(vm-goodbye) [pbx_config] pbx*CLI> 2. Macro(hangupcall) [pbx_config] Include => 'ext-local' [pbx_config] [ Context 'ext-fax' created by 'pbx_config' ] 'analog_fax' => 1. GotoIf($["${FAX_RX}" = "disabled"]?4:2) [pbx_config] pbx*CLI> 2. Set(DIAL=${DB(DEVICE/${FAX_RX}/dial)}) [pbx_config] 3. Dial(${DIAL}|20|d) [pbx_config] 4. Hangup() [pbx_config] 'h' => 1. system(/var/lib/asterisk/bin/fax-process.pl --to ${EMAILADDR} --from ${FAX_RX_FROM} --subject "Fax from ${URIENCODE(${CALLERID(number)})} ${URIENCODE(${CALLERID(name)})}" --attachment fax_${URIENCODE(${CALLERID(number)})}.pdf --type application/pdf --f [pbx_config] 2. Hangup() [pbx_config] 'in_fax' => 1. StopPlayTones() [pbx_config] 2. GotoIf($["${FAX_RX}" = "system"]?3:analog_fax|1) [pbx_config] 3. Macro(faxreceive) [pbx_config] pbx*CLI> 4. Hangup() [pbx_config] 'out_fax' => 1. txfax(${TXFAX_NAME}|caller) [pbx_config] 2. Hangup() [pbx_config] pbx*CLI> 's' => 1. Answer() [pbx_config] 2. Goto(in_fax|1) [pbx_config] [ Context 'findmefollow-ringallv2' created by 'pbx_config' ] '_FMGL-.' => 1. Noop(In FMGL ${FMGRP} with ${EXTEN:5}) [pbx_config] 2. GotoIf($["${DB(FM/DND/${FMGRP}/${FMUNIQUE})}" = "DND"]?dodnd) [pbx_config] pbx*CLI> 3. Wait(1) [pbx_config] 4. GotoIf($["${DB(FM/DND/${FMGRP}/${FMUNIQUE})}" = "DND"]?dodnd) [pbx_config] 5. Wait(1) [pbx_config] 6. GotoIf($["${DB(FM/DND/${FMGRP}/${FMUNIQUE})}" = "DND"]?dodnd) [pbx_config] 7. Wait(${FMPRERING}) [pbx_config] pbx*CLI> 8. GotoIf($["${DB(FM/DND/${FMGRP}/${FMUNIQUE})}" = "DND"]?dodnd) [pbx_config] 9. DBDel(FM/DND/${FMGRP}/${FMUNIQUE}) [pbx_config] [dodial] 10. Macro(dial|${FMGRPTIME}|${DIAL_OPTIONS}|${EXTEN:5}) [pbx_config] 11. Noop(Ending FMGL ${FMGRP} with ${EXTEN:5} and dialstatus ${DIALSTATUS}) [pbx_config] 12. Hangup() [pbx_config] [dodnd] 23. DBDel(FM/DND/${FMGRP}/${FMUNIQUE}) [pbx_config] 24. GotoIf($["${FMPRIME}" = "FALSE"]?dodial) [pbx_config] 25. Noop(Got DND in FMGL ${FMGRP} with ${EXTEN:5} in ${RingGroupMethod} mode| aborting) [pbx_config] 26. Hangup() [pbx_config] pbx*CLI> '_FMPR-.' => 1. Noop(In FMPR ${FMGRP} with ${EXTEN:5}) [pbx_config] 2. Set(RingGroupMethod=) [pbx_config] 3. Set(USE_CONFIRMATION=) [pbx_config] 4. Set(RINGGROUP_INDEX=) [pbx_config] pbx*CLI> 5. Macro(simple-dial|${EXTEN:5}|${FMREALPRERING}) [pbx_config] 6. GotoIf($["${DIALSTATUS}" != "BUSY"]?nodnd) [pbx_config] 7. Set(DB(FM/DND/${FMGRP}/${FMUNIQUE})=DND) [pbx_config] [nodnd] 8. Noop(Ending FMPR ${FMGRP} with ${EXTEN:5} and dialstatus ${DIALSTATUS}) [pbx_config] 9. Hangup() [pbx_config] [ Context 'macro-confirm' created by 'pbx_config' ] 'h' => 1. Noop(Hangup Extension in macro-confirm) [pbx_config] 2. Macro(hangupcall) [pbx_config] 's' => 1. Set(LOOPCOUNT=0) [pbx_config] 2. Noop(CALLCONFIRMCID: ${CALLCONFIRMCID}) [pbx_config] 3. Set(__MACRO_RESULT=ABORT) [pbx_config] 4. Set(MSG1=${IF($["foo${ARG1}" != "foo"]?${ARG1}:"incoming-call-1-accept-2-decline")}) [pbx_config] [start] 5. Read(INPUT|${MSG1}|1||1|5) [pbx_config] 6. GotoIf(${DB_EXISTS(RG/${ARG3}/${UNIQCHAN})}?check:toolate) [pbx_config] [check] 7. GotoIf($["${INPUT}"="1"]?ok) [pbx_config] 8. GotoIf($["${INPUT}"="9"]?noanswer) [pbx_config] 9. GotoIf($["${INPUT}"="2"]?noanswer) [pbx_config] 10. GotoIf($["${INPUT}"="3"]?playcid) [pbx_config] 11. Set(LOOPCOUNT=$[ ${LOOPCOUNT} + 1 ]) [pbx_config] 12. GotoIf($[ ${LOOPCOUNT} < 5 ]?start) [pbx_config] [noanswer] 13. Set(__MACRO_RESULT=ABORT) [pbx_config] pbx*CLI> 14. Goto(fin) [pbx_config] [playcid] 15. Noop(Playing CID: ${CALLCONFIRMCID}) [pbx_config] 16. SayDigits(${CALLCONFIRMCID}) [pbx_config] 17. Goto(start) [pbx_config] pbx*CLI> [toolate] 18. Set(MSG2=${IF($["foo${ARG2}" != "foo"]?${ARG2}:"incoming-call-no-longer-avail")}) [pbx_config] 19. Playback(${MSG2}) [pbx_config] 20. Goto(noanswer) [pbx_config] [ok] 21. DBDel(RG/${ARG3}/${UNIQCHAN}) [pbx_config] 22. DBDel(${BLKVM_OVERRIDE}) [pbx_config] pbx*CLI> 23. Set(__MACRO_RESULT=) [pbx_config] [fin] 24. NoOp(Finished) [pbx_config] [ Context 'ext-local-confirm' created by 'pbx_config' ] '_LC-.' => 1. Noop(IN ext-local-confirm with - RT: ${RT}| RG_IDX: ${RG_IDX}) [pbx_config] 2. GotoIf($["x${ALERT_INFO}"="x"]?godial) [pbx_config] pbx*CLI> 3. SIPAddHeader(Alert-Info: ${ALERT_INFO}) [pbx_config] [godial] 4. dial(${DB(DEVICE/${EXTEN:3}/dial)}|${RT}|M(auto-confirm^${RG_IDX})${DIAL_OPTIONS}) [pbx_config] [ Context 'macro-auto-blkvm' created by 'pbx_config' ] 's' => 1. Set(__MACRO_RESULT=) [pbx_config] 2. Set(__CWIGNORE=) [pbx_config] 3. DBDel(${BLKVM_OVERRIDE}) [pbx_config] pbx*CLI> [ Context 'macro-auto-confirm' created by 'pbx_config' ] 's' => 1. Set(__MACRO_RESULT=) [pbx_config] 2. Set(__CWIGNORE=) [pbx_config] 3. DBDel(${BLKVM_OVERRIDE}) [pbx_config] 4. DBDel(RG/${ARG1}/${UNIQCHAN}) [pbx_config] pbx*CLI> [ Context 'macro-dial-confirm' created by 'pbx_config' ] 's' => 1. Set(DB(RG/${ARG4}/${CHANNEL})=RINGING) [pbx_config] 2. Set(__UNIQCHAN=${CHANNEL}) [pbx_config] 3. Set(USE_CONFIRMATION=TRUE) [pbx_config] 4. Set(RINGGROUP_INDEX=${ARG4}) [pbx_config] pbx*CLI> 5. Set(ARG4=) [pbx_config] 6. Macro(dial|${ARG1}|${ARG2}|${ARG3}) [pbx_config] 7. DBDel(RG/${RINGGROUP_INDEX}/${CHANNEL}) [pbx_config] 8. Set(USE_CONFIRMATION=) [pbx_config] 9. Set(RINGGROUP_INDEX=) [pbx_config] [ Context 'macro-setmusic' created by 'pbx_config' ] 's' => 1. NoOp(Setting Outbound Route MoH To: ${ARG1}) [pbx_config] 2. SetMusicOnHold(${ARG1}) [pbx_config] pbx*CLI> [ Context 'from-zaptel' created by 'pbx_config' ] pbx*CLI> 'fax' => 1. Goto(ext-fax|in_fax|1) [pbx_config] 's' => 1. NoOp(Entering from-zaptel with DID == ${DID}) [pbx_config] 2. Ringing() [pbx_config] 3. Set(DID=${IF($["${DID}"= ""]?s:${DID})}) [pbx_config] 4. NoOp(DID is now ${DID}) [pbx_config] pbx*CLI> 5. GotoIf($["${CHANNEL:0:3}"="Zap"]?zapok:notzap) [pbx_config] [notzap] 6. Goto(from-pstn|${DID}|1) [pbx_config] 7. Macro(hangup) [pbx_config] [zapok] 8. NoOp(Is a Zaptel Channel) [pbx_config] pbx*CLI> 9. Set(CHAN=${CHANNEL:4}) [pbx_config] 10. Set(CHAN=${CUT(CHAN|-|1)}) [pbx_config] 11. Macro(from-zaptel-${CHAN}|${DID}|1) [pbx_config] 12. NoOp(Returned from Macro from-zaptel-${CHAN}) [pbx_config] 13. Goto(from-pstn|${DID}|1) [pbx_config] '_X.' => 1. Set(DID=${EXTEN}) [pbx_config] pbx*CLI> 2. Goto(s|1) [pbx_config] [ Context 'from-internal' created by 'pbx_config' ] Include => 'from-internal-xfer' [pbx_config] Include => 'bad-number' [pbx_config] [ Context 'from-internal-xfer' created by 'pbx_config' ] 'h' => 1. Macro(hangupcall) [pbx_config] pbx*CLI> 's' => 1. Macro(hangupcall) [pbx_config] Include => 'parkedcalls' [pbx_config] Include => 'from-internal-custom' [pbx_config] Include => 'ext-fax' [pbx_config] Include => 'ext-local-confirm' [pbx_config] Include => 'findmefollow-ringallv2' [pbx_config] Include => 'from-internal-additional' [pbx_config] [ Context 'from-sip-external' created by 'pbx_config' ] 'h' => 1. NoOp(Hangup) [pbx_config] 'i' => 1. NoOp(Invalid) [pbx_config] pbx*CLI> 's' => 1. GotoIf($["${ALLOW_SIP_ANON}"="yes"]?from-trunk|${DID}|1) [pbx_config] 2. Set(TIMEOUT(absolute)=15) [pbx_config] 3. Answer() [pbx_config] 4. Wait(2) [pbx_config] pbx*CLI> 5. Playback(ss-noservice) [pbx_config] 6. Playtones(congestion) [pbx_config] 7. Congestion(5) [pbx_config] 't' => 1. NoOp(Timeout) [pbx_config] '_.' => 1. NoOp(Received incoming SIP connection from unknown peer to ${EXTEN}) [pbx_config] pbx*CLI> 2. Set(DID=${IF($["${EXTEN:1:2}"=""]?s:${EXTEN})}) [pbx_config] 3. Goto(s|1) [pbx_config] [ Context 'macro-saydigits' created by 'pbx_config' ] 's' => 1. Noop(Trying custom SayDigits playback for "${ARG1}") [pbx_config] 2. Playback(tts/custom-${MD5(${ARG1})}) [pbx_config] 3. GotoIf($["${PLAYBACKSTATUS}"="SUCCESS"]?done) [pbx_config] [tts] 4. Macro(tts-saydigits|${ARG1}|${ARG2}|${ARG3}) [pbx_config] 5. SayDigits(${ARG1}) [pbx_config] 6. Goto(done) [pbx_config] [ Context 'macro-saynumber' created by 'pbx_config' ] 's' => 1. Noop(Trying custom SayNumber playback for "${ARG1}") [pbx_config] 2. Playback(tts/custom-${MD5(${ARG1})}) [pbx_config] pbx*CLI> 3. GotoIf($["${PLAYBACKSTATUS}"="SUCCESS"]?done) [pbx_config] [tts] 4. Macro(tts-saynumber|${ARG1}|${ARG2}|${ARG3}) [pbx_config] 5. SayNumber(${ARG1}) [pbx_config] 6. Goto(done) [pbx_config] pbx*CLI> 105. Noop(tts handled saynumber) [pbx_config] [ Context 'macro-sayname' created by 'pbx_config' ] 's' => 1. Noop(Trying custom SayName playback for "${ARG1}") [pbx_config] 2. Playback(tts/custom-${MD5(${ARG1})}) [pbx_config] 3. GotoIf($["${PLAYBACKSTATUS}"="SUCCESS"]?done) [pbx_config] pbx*CLI> [tts] 4. Macro(tts-sayalpha|${ARG1}|${ARG2}|${ARG3}) [pbx_config] 5. SayAlpha(${ARG1}) [pbx_config] 6. Goto(done) [pbx_config] 105. Noop(tts handled sayname) [pbx_config] [ Context 'macro-saytext' created by 'pbx_config' ] 's' => 1. Noop(Trying custom SayText playback for "${ARG1}") [pbx_config] pbx*CLI> 2. Playback(tts/custom-${MD5(${ARG1})}) [pbx_config] 3. GotoIf($["${PLAYBACKSTATUS}"="SUCCESS"]?done) [pbx_config] [tts] 4. Macro(tts-saytext|${ARG1}|${ARG2}|${ARG3}) [pbx_config] 5. Noop(No text-to-speech handler for SayText| cannot say "${ARG1}") [pbx_config] 6. Goto(done) [pbx_config] pbx*CLI> 105. Noop(tts handled saytext) [pbx_config] [ Context 'macro-privacy-mgr' created by 'pbx_config' ] 's' => 1. Set(KEEPCID=${CALLERID(num)}) [pbx_config] 2. GotoIf($["foo${CALLERID(num):0:1}"="foo+"]?CIDTEST2:CIDTEST1) [pbx_config] [CIDTEST1] 3. Set(TESTCID=${MATH(1+${CALLERID(num)})}) [pbx_config] pbx*CLI> 4. Goto(TESTRESULT) [pbx_config] [CIDTEST2] 5. Set(TESTCID=${MATH(1+${CALLERID(num):1})}) [pbx_config] [TESTRESULT] 6. GotoIf($["foo${TESTCID}"="foo"]?CLEARCID:PRIVMGR) [pbx_config] [CLEARCID] 7. Set(CALLERID(num)=) [pbx_config] [PRIVMGR] 8. PrivacyManager() [pbx_config] pbx*CLI> 9. GotoIf($["${PRIVACYMGRSTATUS}"="FAILED"]?fail) [pbx_config] 10. SetCallerPres(allowed_passed_screen) [pbx_config] [fail] 109. Noop(STATUS: ${PRIVACYMGRSTATUS} CID: ${CALLERID(num)} ${CALLERID(name)} CALLPRES: ${CALLLINGPRES}) [pbx_config] 110. Playback(sorry-youre-having-problems) [pbx_config] 111. Playback(goodbye) [pbx_config] pbx*CLI> 112. Playtones(congestion) [pbx_config] 113. Congestion(5) [pbx_config] [ Context 'macro-user-logoff' created by 'pbx_config' ] 's' => 1. Set(DEVICETYPE=${DB(DEVICE/${CALLERID(number)}/type)}) [pbx_config] 2. GotoIf($["${DEVICETYPE}" = "fixed"]?s-FIXED|1) [pbx_config] pbx*CLI> 3. DeadAGI(user_login_out.agi|logout|${CALLERID(number)}) [pbx_config] [done] 4. Playback(vm-goodbye) [pbx_config] 's-FIXED' => 1. NoOp(Device is FIXED and cannot be logged out of) [pbx_config] 2. Playback(an-error-has-occured&vm-goodbye) [pbx_config] 3. Hangup() [pbx_config] [ Context 'macro-user-logon' created by 'pbx_config' ] 's' => 1. Set(DEVICETYPE=${DB(DEVICE/${CALLERID(number)}/type)}) [pbx_config] 2. GotoIf($["${DEVICETYPE}" = "fixed"]?s-FIXED|1) [pbx_config] 3. Set(AMPUSER=${ARG1}) [pbx_config] 4. GotoIf($["${AMPUSER}" != ""]?gotpass) [pbx_config] 5. Playback(please-enter-your&extension) [pbx_config] 6. Read(AMPUSER|then-press-pound) [pbx_config] pbx*CLI> [gotpass] 7. Set(AMPUSERPASS=${DB(AMPUSER/${AMPUSER}/password)}) [pbx_config] 8. GotoIf($[${LEN(${AMPUSERPASS})} = 0]?s-NOPASSWORD|1) [pbx_config] 9. Set(DEVICEUSER=${DB(DEVICE/${CALLERID(number)}/user)}) [pbx_config] 10. GotoIf($["${DEVICEUSER}" = "${AMPUSER}"]?s-ALREADYLOGGEDON|1) [pbx_config] pbx*CLI> 11. Authenticate(${AMPUSERPASS}) [pbx_config] 12. DeadAGI(user_login_out.agi|login|${CALLERID(number)}|${AMPUSER}) [pbx_config] 13. Playback(vm-goodbye) [pbx_config] 's-ALREADYLOGGEDON' => 1. NoOp(This device has already been logged into by this user) [pbx_config] 2. Playback(vm-goodbye) [pbx_config] 3. Hangup() [pbx_config] 's-FIXED' => 1. NoOp(Device is FIXED and cannot be logged into) [pbx_config] 2. Playback(ha/phone) [pbx_config] 3. SayDigits(${CALLERID(number)}) [pbx_config] pbx*CLI> 4. Playback(is-curntly-unavail&vm-goodbye) [pbx_config] 5. Hangup() [pbx_config] pbx*CLI> 's-NOPASSWORD' => 1. NoOp(This extension does not exist or no password is set) [pbx_config] pbx*CLI> 2. Playback(an-error-has-occured&vm-goodbye) [pbx_config] 3. Hangup() [pbx_config] [ Context 'macro-dumpvars' created by 'pbx_config' ] 's' => 1. Noop(ACCOUNTCODE=${ACCOUNTCODE}) [pbx_config] 2. Noop(ANSWEREDTIME=${ANSWEREDTIME}) [pbx_config] pbx*CLI> 3. Noop(BLINDTRANSFER=${BLINDTRANSFER}) [pbx_config] 4. Noop(CALLERID=${CALLERID(all)}) [pbx_config] 5. Noop(CALLERID(name)=${CALLERID(name)}) [pbx_config] 6. Noop(CALLERID(number)=${CALLERID(number)}) [pbx_config] 7. Noop(CALLINGPRES=${CALLINGPRES}) [pbx_config] pbx*CLI> 8. Noop(CHANNEL=${CHANNEL}) [pbx_config] 9. Noop(CONTEXT=${CONTEXT}) [pbx_config] 10. Noop(DATETIME=${DATETIME}) [pbx_config] 11. Noop(DIALEDPEERNAME=${DIALEDPEERNAME}) [pbx_config] 12. Noop(DIALEDPEERNUMBER=${DIALEDPEERNUMBER}) [pbx_config] 13. Noop(DIALEDTIME=${DIALEDTIME}) [pbx_config] pbx*CLI> 14. Noop(DIALSTATUS=${DIALSTATUS}) [pbx_config] 15. Noop(DNID=${DNID}) [pbx_config] 16. Noop(EPOCH=${EPOCH}) [pbx_config] 17. Noop(EXTEN=${EXTEN}) [pbx_config] 18. Noop(HANGUPCAUSE=${HANGUPCAUSE}) [pbx_config] pbx*CLI> 19. Noop(INVALID_EXTEN=${INVALID_EXTEN}) [pbx_config] 20. Noop(LANGUAGE=${LANGUAGE}) [pbx_config] 21. Noop(MEETMESECS=${MEETMESECS}) [pbx_config] 22. Noop(PRIORITY=${PRIORITY}) [pbx_config] 23. Noop(RDNIS=${RDNIS}) [pbx_config] 24. Noop(SIPDOMAIN=${SIPDOMAIN}) [pbx_config] 25. Noop(SIP_CODEC=${SIP_CODEC}) [pbx_config] 26. Noop(SIPCALLID=${SIPCALLID}) [pbx_config] 27. Noop(SIPUSERAGENT=${SIPUSERAGENT}) [pbx_config] 29. Noop(TXTCIDNAME=${TXTCIDNAME}) [pbx_config] 30. Noop(UNIQUEID=${UNIQUEID}) [pbx_config] 31. Noop(TOUCH_MONITOR=${TOUCH_MONITOR}) [pbx_config] 32. Noop(MACRO_CONTEXT=${MACRO_CONTEXT}) [pbx_config] 33. Noop(MACRO_EXTEN=${MACRO_EXTEN}) [pbx_config] 34. Noop(MACRO_PRIORITY=${MACRO_PRIORITY}) [pbx_config] [ Context 'macro-record-enable' created by 'pbx_config' ] pbx*CLI> 's' => 1. GotoIf($[${LEN(${BLINDTRANSFER})} > 0]?2:4) [pbx_config] 2. ResetCDR(w) [pbx_config] 3. StopMonitor() [pbx_config] 4. AGI(recordingcheck|${STRFTIME(${EPOCH}||%Y%m%d-%H%M%S)}|${UNIQUEID}) [pbx_config] pbx*CLI> 5. Noop(No recording needed) [pbx_config] 999. MixMonitor(${CALLFILENAME}.wav) [pbx_config] [ Context 'macro-dialout-trunk-predial-hook' created by 'pbx_config' ] [ Context 'macro-dialout-default' created by 'pbx_config' ] 's' => 1. Macro(user-callerid|SKIPTTL) [pbx_config] pbx*CLI> 2. Macro(record-enable|${CALLERID(number)}|OUT) [pbx_config] 3. Macro(outbound-callerid|${ARG1}) [pbx_config] 4. Dial(${OUT}/${ARG1}) [pbx_config] 5. Playtones(congestion) [pbx_config] 6. Congestion(5) [pbx_config] 105. Macro(outisbusy) [pbx_config] pbx*CLI> [ Context 'macro-dialout' created by 'pbx_config' ] 's' => 1. Macro(user-callerid|SKIPTTL) [pbx_config] 2. GotoIf($["${ECID${CALLERID(number)}}" = ""]?5) [pbx_config] 3. Set(CALLERID(all)=${ECID${CALLERID(number)}}) [pbx_config] 4. Goto(7) [pbx_config] 5. GotoIf($["${OUTCID_${ARG1}}" = ""]?7) [pbx_config] pbx*CLI> 6. Set(CALLERID(all)=${OUTCID_${ARG1}}) [pbx_config] 7. Set(length=${LEN(${DIAL_OUT_${ARG1}})}) [pbx_config] 8. Dial(${OUT_${ARG1}}/${ARG2:${length}}) [pbx_config] 9. Playtones(congestion) [pbx_config] 10. Congestion(5) [pbx_config] 109. Macro(outisbusy) [pbx_config] pbx*CLI> [ Context 'macro-faxreceive' created by 'pbx_config' ] 's' => 1. Set(FAXFILE=${ASTSPOOLDIR}/fax/${UNIQUEID}.tif) [pbx_config] 2. Set(EMAILADDR=${FAX_RX_EMAIL}) [pbx_config] 3. rxfax(${FAXFILE}) [pbx_config] 103. Set(EMAILADDR=${FAX_RX_EMAIL}) [pbx_config] pbx*CLI> 104. Goto(3) [pbx_config] [ Context 'macro-hangupcall' created by 'pbx_config' ] 's' => 1. ResetCDR(w) [pbx_config] 2. NoCDR() [pbx_config] 3. GotoIf($[ "x${USE_CONFIRMATION}" = "x" | "x${RINGGROUP_INDEX}" = "x" | "${CHANNEL}" != "${UNIQCHAN}"]?skiprg) [pbx_config] 4. Noop(Cleaning Up Confirmation Flag: RG/${RINGGROUP_INDEX}/${CHANNEL}) [pbx_config] 5. DBDel(RG/${RINGGROUP_INDEX}/${CHANNEL}) [pbx_config] [skiprg] 6. GotoIf($[ "x${BLKVM_BASE}" = "x" | "BLKVM/${BLKVM_BASE}/${CHANNEL}" != "${BLKVM_OVERRIDE}" ]?skipblkvm) [pbx_config] 7. Noop(Cleaning Up Block VM Flag: ${BLKVM_OVERRIDE}) [pbx_config] 8. DBDel(${BLKVM_OVERRIDE}) [pbx_config] [skipblkvm] 9. GotoIf($[ "x${FMGRP}" = "x" | "x${FMUNIQUE}" = "x" | "${CHANNEL}" != "${FMUNIQUE}" ]?theend) [pbx_config] 10. DBDel(FM/DND/${FMGRP}/${CHANNEL}) [pbx_config] [theend] 11. Hangup() [pbx_config] [ Context 'macro-outisbusy' created by 'pbx_config' ] pbx*CLI> 's' => 1. Playback(all-circuits-busy-now|noanswer) [pbx_config] 2. Playback(pls-try-call-later|noanswer) [pbx_config] 3. Macro(hangupcall) [pbx_config] [ Context 'macro-rg-group' created by 'pbx_config' ] pbx*CLI> 's' => 1. Macro(user-callerid|SKIPTTL) [pbx_config] 2. GotoIf($["${CALLERID(name):0:${LEN(${RGPREFIX})}}" != "${RGPREFIX}"]?4:3) [pbx_config] 3. Set(CALLERID(name)=${CALLERID(name):${LEN(${RGPREFIX})}}) [pbx_config] 4. Set(RGPREFIX=${ARG3}) [pbx_config] 5. Set(CALLERID(name)=${RGPREFIX}${CALLERID(name)}) [pbx_config] 6. Set(RecordMethod=Group) [pbx_config] 7. Macro(record-enable|${MACRO_EXTEN}|${RecordMethod}) [pbx_config] 8. Set(RingGroupMethod=${ARG1}) [pbx_config] 9. Macro(dial|${ARG2}|${DIAL_OPTIONS}|${ARG4}) [pbx_config] 10. Set(RingGroupMethod=) [pbx_config] pbx*CLI> [ Context 'macro-fixcid' created by 'pbx_config' ] 's' => 1. Set(CALLERID(name)=${CALLERID(name)}) [pbx_config] [ Context 'macro-get-vmcontext' created by 'pbx_config' ] 's' => 1. Set(VMCONTEXT=${DB(AMPUSER/${ARG1}/voicemail)}) [pbx_config] pbx*CLI> 2. GotoIf($["foo${VMCONTEXT}" = "foo"]?200:300) [pbx_config] 200. Set(VMCONTEXT=default) [pbx_config] 300. NoOp() [pbx_config] [ Context 'macro-simple-dial' created by 'pbx_config' ] 'docfb' => 1. GotoIf( $[ "foo${DB(AMPUSER/${CFBEXT}/device)}" = "foo" ]?chlocal) [pbx_config] pbx*CLI> 2. Dial(Local/${CFBEXT}@ext-local|${RT}|${DIAL_OPTIONS}) [pbx_config] 3. Return() [pbx_config] [chlocal] 4. Dial(Local/${CFBEXT}@from-internal/n|${RT}|${DIAL_OPTIONS}) [pbx_config] 5. Return() [pbx_config] 'docfu' => 1. GotoIf( $[ "foo${DB(AMPUSER/${CFUEXT}/device)}" = "foo" ]?chlocal) [pbx_config] pbx*CLI> 2. Dial(Local/${CFUEXT}@ext-local|${RT}|${DIAL_OPTIONS}) [pbx_config] 3. Return() [pbx_config] [chlocal] 4. Dial(Local/${CFUEXT}@from-internal/n|${RT}|${DIAL_OPTIONS}) [pbx_config] 5. Return() [pbx_config] 's' => 1. Macro(user-callerid|SKIPTTL) [pbx_config] pbx*CLI> 2. Set(EXTTOCALL=${ARG1}) [pbx_config] 3. Set(RT=${ARG2}) [pbx_config] 4. Set(CFUEXT=${DB(CFU/${EXTTOCALL})}) [pbx_config] 5. Set(CFBEXT=${DB(CFB/${EXTTOCALL})}) [pbx_config] 6. Macro(record-enable|${EXTTOCALL}|IN) [pbx_config] 7. Macro(dial|${RT}|${DIAL_OPTIONS}|${EXTTOCALL}) [pbx_config] 8. Set(PR_DIALSTATUS=${DIALSTATUS}) [pbx_config] 9. GosubIf($[$["${PR_DIALSTATUS}"="NOANSWER"] & $["foo${CFUEXT}"!="foo"]]?docfu|1) [pbx_config] 10. GosubIf($[$["${PR_DIALSTATUS}"="BUSY"] & $["foo${CFBEXT}"!="foo"]]?docfb|1) [pbx_config] 11. Set(DIALSTATUS=${PR_DIALSTATUS}) [pbx_config] 12. Goto(s-${DIALSTATUS}|1) [pbx_config] '_s-.' => 1. NoOp(Extension is reporting ${EXTEN}) [pbx_config] [ Context 'macro-vm' created by 'pbx_config' ] 'a' => 1. Macro(get-vmcontext|${ARG1}) [pbx_config] pbx*CLI> 2. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/*/ext)}" = "0"]?adef|1) [pbx_config] 3. Set(VMX_ADEST_EXT=${DB_RESULT}) [pbx_config] 4. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/*/context)}" = "1"]?acontext) [pbx_config] 5. Set(DB_RESULT=${VMX_CONTEXT}) [pbx_config] [acontext] 6. Set(VMX_ADEST_CONTEXT=${DB_RESULT}) [pbx_config] pbx*CLI> 7. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/*/pri)}" = "1"]?apri) [pbx_config] pbx*CLI> 8. Set(DB_RESULT=${VMX_PRI}) [pbx_config] [apri] 9. Set(VMX_ADEST_PRI=${DB_RESULT}) [pbx_config] 10. Goto(${VMX_ADEST_CONTEXT}|${VMX_ADEST_EXT}|${VMX_ADEST_PRI}) [pbx_config] 'adef' => 1. VoiceMailMain(${ARG1}@${VMCONTEXT}) [pbx_config] 2. Hangup() [pbx_config] pbx*CLI> 'dovm' => 1. Noop(VMX Timeout - go to voicemail) [pbx_config] 2. Voicemail(${ARG1}@${VMCONTEXT}|${VMX_OPTS}${VMGAIN}) [pbx_config] 3. Goto(exit-${VMSTATUS}|1) [pbx_config] 'exit-FAILED' => 1. Playback(im-sorry&an-error-has-occured) [pbx_config] 2. GotoIf($["${ARG3}" = "RETURN"]?exit-RETURN|1) [pbx_config] 3. Hangup() [pbx_config] pbx*CLI> 'exit-RETURN' => 1. Noop(Returning From Voicemail because macro) [pbx_config] 'exit-SUCCESS' => 1. GotoIf($["${ARG3}" = "RETURN"]?exit-RETURN|1) [pbx_config] 2. Playback(goodbye) [pbx_config] 3. Hangup() [pbx_config] 'exit-USEREXIT' => 1. GotoIf($["${ARG3}" = "RETURN"]?exit-RETURN|1) [pbx_config] pbx*CLI> 2. Playback(goodbye) [pbx_config] 3. Hangup() [pbx_config] 'o' => 1. Background(one-moment-please) [pbx_config] 2. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/0/ext)}" = "0"]?doopdef) [pbx_config] 3. Set(VMX_OPDEST_EXT=${DB_RESULT}) [pbx_config] pbx*CLI> 4. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/0/context)}" = "1"]?opcontext) [pbx_config] 5. Set(DB_RESULT=${VMX_CONTEXT}) [pbx_config] [opcontext] 6. Set(VMX_OPDEST_CONTEXT=${DB_RESULT}) [pbx_config] 7. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/0/pri)}" = "1"]?oppri) [pbx_config] 8. Set(DB_RESULT=${VMX_PRI}) [pbx_config] [oppri] 9. Set(VMX_OPDEST_PRI=${DB_RESULT}) [pbx_config] 10. Goto(${VMX_OPDEST_CONTEXT}|${VMX_OPDEST_EXT}|${VMX_OPDEST_PRI}) [pbx_config] [doopdef] 11. GotoIf($["x${OPERATOR_XTN}"="x"]?nooper:from-internal|${OPERATOR_XTN}|1) [pbx_config] [nooper] 12. GotoIf($["x${FROM_DID}"="x"]?nodid) [pbx_config] 13. Dial(Local/${FROM_DID)@from-pstn) [pbx_config] pbx*CLI> 14. Macro(hangup) [pbx_config] [nodid] 15. Dial(Local/s@from-pstn) [pbx_config] 16. Macro(hangup) [pbx_config] 's' => 1. Macro(user-callerid|SKIPTTL) [pbx_config] 2. Set(VMGAIN=${IF($["foo${VM_GAIN}"!="foo"]?"g(${VM_GAIN})":"")}) [pbx_config] 3. GotoIf($["foo${DB(${BLKVM_OVERRIDE})}" != "fooTRUE"]?vmx|1) [pbx_config] 4. Noop(CAME FROM: ${NODEST} - Blocking VM cause of key: ${DB(BLKVM_OVERRIDE)}) [pbx_config] 's-BUSY' => 1. NoOp(BUSY voicemail) [pbx_config] 2. Macro(get-vmcontext|${ARG1}) [pbx_config] 3. Voicemail(${ARG1}@${VMCONTEXT}|${VM_OPTS}b${VMGAIN}) [pbx_config] 4. Goto(exit-${VMSTATUS}|1) [pbx_config] pbx*CLI> 's-DIRECTDIAL' => 1. NoOp(DIRECTDIAL voicemail) [pbx_config] 2. Macro(get-vmcontext|${ARG1}) [pbx_config] 3. Voicemail(${ARG1}@${VMCONTEXT}|${VM_OPTS}${VM_DDTYPE}${VMGAIN}) [pbx_config] 4. Goto(exit-${VMSTATUS}|1) [pbx_config] pbx*CLI> 's-NOMESSAGE' => 1. NoOp(NOMESSAGE (beeb only) voicemail) [pbx_config] 2. Macro(get-vmcontext|${ARG1}) [pbx_config] 3. Voicemail(${ARG1}@${VMCONTEXT}|s${VM_OPTS}${VMGAIN}) [pbx_config] 4. Goto(exit-${VMSTATUS}|1) [pbx_config] 't' => 1. Hangup() [pbx_config] 'vmx' => 1. GotoIf($["${ARG2}"="NOMESSAGE"]?s-${ARG2}|1) [pbx_config] pbx*CLI> 2. Set(MODE=${IF($["${ARG2}"="BUSY"]?busy:unavail)}) [pbx_config] 3. GotoIf($["${ARG2}" != "DIRECTDIAL"]?notdirect) [pbx_config] 4. Set(MODE=${IF($["${REGEX("[b]" ${VM_DDTYPE})}" = "1"]?busy:${MODE})}) [pbx_config] [notdirect] 5. Noop(Checking if ext ${ARG1} is enabled: ${DB(AMPUSER/${ARG1}/vmx/${MODE}/state)}) [pbx_config] 6. GotoIf($["${DB(AMPUSER/${ARG1}/vmx/${MODE}/state)}" != "enabled"]?s-${ARG2}|1) [pbx_config] pbx*CLI> 7. Macro(get-vmcontext|${ARG1}) [pbx_config] 8. AGI(checksound.agi|${ASTSPOOLDIR}/voicemail/${VMCONTEXT}/${ARG1}/temp) [pbx_config] 9. GotoIf($["${SYSTEMSTATUS}" = "SUCCESS"]?tmpgreet) [pbx_config] 10. AGI(checksound.agi|${ASTSPOOLDIR}/voicemail/${VMCONTEXT}/${ARG1}/${MODE}) [pbx_config] 11. GotoIf($["${SYSTEMSTATUS}" != "SUCCESS"]?nofile) [pbx_config] 12. Set(LOOPCOUNT=0) [pbx_config] 13. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/repeat)}" = "0"]?vmxtime) [pbx_config] 14. Set(VMX_REPEAT=${DB_RESULT}) [pbx_config] [vmxtime] 15. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/timeout)}" = "0"]?vmxloops) [pbx_config] pbx*CLI> 16. Set(VMX_TIMEOUT=${DB_RESULT}) [pbx_config] [vmxloops] 17. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/loops)}" = "0"]?vmxanswer) [pbx_config] 18. Set(VMX_LOOPS=${DB_RESULT}) [pbx_config] [vmxanswer] 19. Answer() [pbx_config] pbx*CLI> [loopstart] 20. Read(ACTION|${ASTSPOOLDIR}/voicemail/${VMCONTEXT}/${ARG1}/${MODE}|1|skip|${VMX_REPEAT}|${VMX_TIMEOUT}) [pbx_config] 21. GotoIf($["${EXISTS(${ACTION})}" = "1"]?checkopt) [pbx_config] [noopt] 22. Noop(Timeout: going to timeout dest) [pbx_config] 23. Set(VMX_OPTS=${VMX_OPTS_TIMEOUT}) [pbx_config] 24. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/vmxopts/timeout)}" = "0"]?chktime) [pbx_config] pbx*CLI> 25. Set(VMX_OPTS=${DB_RESULT}) [pbx_config] [chktime] 26. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/timedest/ext)}" = "0"]?dotime) [pbx_config] 27. Set(VMX_TIMEDEST_EXT=${DB_RESULT}) [pbx_config] 28. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/timedest/context)}" = "0"]?timepri) [pbx_config] 29. Set(VMX_TIMEDEST_CONTEXT=${DB_RESULT}) [pbx_config] [timepri] 30. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/timedest/pri)}" = "0"]?dotime) [pbx_config] 31. Set(VMX_TIMEDEST_PRI=${DB_RESULT}) [pbx_config] [dotime] 32. Goto(${VMX_TIMEDEST_CONTEXT}|${VMX_TIMEDEST_EXT}|${VMX_TIMEDEST_PRI}) [pbx_config] [checkopt] 33. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/${ACTION}/ext)}" = "1"]?doopt) [pbx_config] 34. GotoIf($["${ACTION}" = "0"]?o|1) [pbx_config] 35. GotoIf($["${ACTION}" = "*"]?adef|1) [pbx_config] 36. Set(LOOPCOUNT=$[${LOOPCOUNT} + 1]) [pbx_config] 37. GotoIf($[${LOOPCOUNT} > ${VMX_LOOPS}]?toomany) [pbx_config] 38. Playback(pm-invalid-option&please-try-again) [pbx_config] 39. Goto(loopstart) [pbx_config] pbx*CLI> [toomany] 40. Noop(Too Many invalid entries| got to invalid dest) [pbx_config] 41. Set(VMX_OPTS=${VMX_OPTS_LOOPS}) [pbx_config] 42. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/vmxopts/loops)}" = "0"]?chkloop) [pbx_config] 43. Set(VMX_OPTS=${DB_RESULT}) [pbx_config] [chkloop] 44. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/loopdest/ext)}" = "0"]?doloop) [pbx_config] pbx*CLI> 45. Set(VMX_LOOPDEST_EXT=${DB_RESULT}) [pbx_config] 46. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/loopdest/context)}" = "0"]?looppri) [pbx_config] 47. Set(VMX_LOOPDEST_CONTEXT=${DB_RESULT}) [pbx_config] [looppri] 48. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/loopdest/pri)}" = "0"]?doloop) [pbx_config] 49. Set(VMX_LOOPDEST_PRI=${DB_RESULT}) [pbx_config] pbx*CLI> [doloop] 50. Goto(${VMX_LOOPDEST_CONTEXT}|${VMX_LOOPDEST_EXT}|${VMX_LOOPDEST_PRI}) [pbx_config] [doopt] 51. Noop(Got a valid option: ${DB_RESULT}) [pbx_config] 52. Set(VMX_EXT=${DB_RESULT}) [pbx_config] 53. GotoIf($["${VMX_EXT}" != "dovm"]?getdest) [pbx_config] [vmxopts] 54. Set(VMX_OPTS=${VMX_OPTS_DOVM}) [pbx_config] pbx*CLI> 55. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/vmxopts/dovm)}" = "0"]?vmxdovm) [pbx_config] [vmxopts] 56. Set(VMX_OPTS=${DB_RESULT}) [pbx_config] [vmxdovm] 57. goto(dovm|1) [pbx_config] [getdest] 58. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/${ACTION}/context)}" = "0"]?vmxpri) [pbx_config] 59. Set(VMX_CONTEXT=${DB_RESULT}) [pbx_config] pbx*CLI> [vmxpri] 60. GotoIf($["${DB_EXISTS(AMPUSER/${ARG1}/vmx/${MODE}/${ACTION}/pri)}" = "0"]?vmxgoto) [pbx_config] 61. Set(VMX_PRI=${DB_RESULT}) [pbx_config] [vmxgoto] 62. Goto(${VMX_CONTEXT}|${VMX_EXT}|${VMX_PRI}) [pbx_config] [nofile] 63. Noop(File for mode: ${MODE} does not exist| SYSTEMSTATUS: ${SYSTEMSTATUS}| going to normal voicemail) [pbx_config] 64. Goto(s-${ARG2}|1) [pbx_config] pbx*CLI> [tmpgreet] 65. Noop(Temporary Greeting Detected| going to normal voicemail) [pbx_config] 66. Goto(s-${ARG2}|1) [pbx_config] '_s-.' => 1. Macro(get-vmcontext|${ARG1}) [pbx_config] 2. Voicemail(${ARG1}@${VMCONTEXT}|${VM_OPTS}u${VMGAIN}) [pbx_config] 3. Goto(exit-${VMSTATUS}|1) [pbx_config] [ Context 'macro-exten-vm' created by 'pbx_config' ] 'docfb' => 1. Set(RTCFB=${IF($["${VMBOX}"!="novm"]?${RINGTIMER}:"")}) [pbx_config] 2. Dial(Local/${CFBEXT}@from-internal/n|${RTCFB}|${DIAL_OPTIONS}) [pbx_config] 3. Return() [pbx_config] 'docfu' => 1. Set(RTCFU=${IF($["${VMBOX}"!="novm"]?${RINGTIMER}:"")}) [pbx_config] 2. Dial(Local/${CFUEXT}@from-internal/n|${RTCFU}|${DIAL_OPTIONS}) [pbx_config] 3. Return() [pbx_config] pbx*CLI> 's' => 1. Macro(user-callerid) [pbx_config] 2. Set(RingGroupMethod=none) [pbx_config] 3. Set(VMBOX=${ARG1}) [pbx_config] pbx*CLI> 4. Set(EXTTOCALL=${ARG2}) [pbx_config] 5. Set(CFUEXT=${DB(CFU/${EXTTOCALL})}) [pbx_config] 6. Set(CFBEXT=${DB(CFB/${EXTTOCALL})}) [pbx_config] 7. Set(RT=${IF($[$["${VMBOX}"!="novm"] | $["foo${CFUEXT}"!="foo"]]?${RINGTIMER}:"")}) [pbx_config] 8. Macro(record-enable|${EXTTOCALL}|IN) [pbx_config] pbx*CLI> 9. Macro(dial|${RT}|${DIAL_OPTIONS}|${EXTTOCALL}) [pbx_config] 10. Set(SV_DIALSTATUS=${DIALSTATUS}) [pbx_config] 11. GosubIf($[$["${SV_DIALSTATUS}"="NOANSWER"] & $["foo${CFUEXT}"!="foo"]]?docfu|1) [pbx_config] 12. GosubIf($[$["${SV_DIALSTATUS}"="BUSY"] & $["foo${CFBEXT}"!="foo"]]?docfb|1) [pbx_config] 13. Set(DIALSTATUS=${SV_DIALSTATUS}) [pbx_config] pbx*CLI> 14. NoOp(Voicemail is ${VMBOX}) [pbx_config] 15. GotoIf($["${VMBOX}" = "novm"]?s-${DIALSTATUS}|1) [pbx_config] 16. NoOp(Sending to Voicemail box ${EXTTOCALL}) [pbx_config] 17. Macro(vm|${VMBOX}|${DIALSTATUS}) [pbx_config] 's-BUSY' => 1. NoOp(Extension is reporting BUSY and not passing to Voicemail) [pbx_config] 2. Playtones(busy) [pbx_config] pbx*CLI> 3. Busy(20) [pbx_config] '_s-.' => 1. Playtones(congestion) [pbx_config] 2. Congestion(10) [pbx_config] [ Context 'macro-dial' created by 'pbx_config' ] 'h' => 1. Macro(hangupcall) [pbx_config] pbx*CLI> 's' => 1. GotoIf($["${MOHCLASS}" = ""]?dial) [pbx_config] 2. SetMusicOnHold(${MOHCLASS}) [pbx_config] [dial] 3. AGI(dialparties.agi) [pbx_config] 4. NoOp(Returned from dialparties with no extensions to call and DIALSTATUS: ${DIALSTATUS}) [pbx_config] [normdial] 7. Dial(${ds}) [pbx_config] pbx*CLI> 8. Set(DIALSTATUS=${IF($["${DIALSTATUS_CW}"!="" ]?${DIALSTATUS_CW}:${DIALSTATUS})}) [pbx_config] [huntdial] 20. NoOp(Returned from dialparties with hunt groups to dial ) [pbx_config] 21. Set(HuntLoop=0) [pbx_config] [a22] 22. GotoIf($[${HuntMembers} >= 1]?a30) [pbx_config] 23. NoOp(Returning there are no members left in the hunt group to ring) [pbx_config] pbx*CLI> [a30] 26. Set(HuntMember=HuntMember${HuntLoop}) [pbx_config] 27. GotoIf($[$["${CALLTRACE_HUNT}" != "" ] & $["${RingGroupMethod}" = "hunt" ]]?a32:a35) [pbx_config] [a32] 28. Set(CT_EXTEN=${CUT(FILTERED_DIAL||$[${HuntLoop} + 1])}) [pbx_config] 29. Set(DB(CALLTRACE/${CT_EXTEN})=${CALLTRACE_HUNT}) [pbx_config] 30. Goto(s|a42) [pbx_config] [a35] 31. GotoIf($[$["${CALLTRACE_HUNT}" != "" ] & $["${RingGroupMethod}" = "memoryhunt" ]]?a36:a50) [pbx_config] [a36] 32. Set(CTLoop=0) [pbx_config] [a37] 33. GotoIf($[${CTLoop} > ${HuntLoop}]?a42) [pbx_config] 34. Set(CT_EXTEN=${CUT(FILTERED_DIAL||$[${CTLoop} + 1])}) [pbx_config] 35. Set(DB(CALLTRACE/${CT_EXTEN})=${CALLTRACE_HUNT}) [pbx_config] 36. Set(CTLoop=$[1 + ${CTLoop}]) [pbx_config] 37. Goto(s|a37) [pbx_config] [a42] 38. Dial(${${HuntMember}}${ds}) [pbx_config] 39. Set(HuntLoop=$[1 + ${HuntLoop}]) [pbx_config] 40. GotoIf($[$[$["foo${RingGroupMethod}" != "foofirstavailable"] & $["foo${RingGroupMethod}" != "foofirstnotonphone"]] | $["foo${DialStatus}" = "fooBUSY"]]?a46) [pbx_config] 41. Set(HuntMembers=0) [pbx_config] pbx*CLI> [a46] 42. Set(HuntMembers=$[${HuntMembers} - 1]) [pbx_config] 43. Goto(s|a22) [pbx_config] [a50] 44. DBdel(CALLTRACE/${CT_EXTEN}) [pbx_config] 45. Goto(s|a42) [pbx_config] pbx*CLI> [ Context 'from-did-direct' created by 'pbx_config' ] Include => 'ext-findmefollow' [pbx_config] Include => 'ext-local' [pbx_config] [ Context 'from-pstn' created by 'pbx_config' ] 'fax' => 1. Goto(ext-fax|in_fax|1) [pbx_config] Include => 'from-pstn-custom' [pbx_config] pbx*CLI> Include => 'ext-did' [pbx_config] Include => 'from-did-direct' [pbx_config] Include => 'ext-did-catchall' [pbx_config] [ Context 'from-trunk' created by 'pbx_config' ] Include => 'from-pstn' [pbx_config] [ Context 'custom-recordme' created by 'pbx_config' ] pbx*CLI> '5678' => 1. Wait(2) [pbx_config] 2. Record(/tmp/asterisk-recording:gsm) [pbx_config] 3. Wait(2) [pbx_config] 4. Playback(/tmp/asterisk-recording) [pbx_config] 5. Wait(2) [pbx_config] pbx*CLI> 6. Hangup() [pbx_config] [ Context 'custom-count2four' created by 'pbx_config' ] 's' => 1. SayDigits(1234) [pbx_config] 2. Hangup() [pbx_config] [ Context 'from-internal-custom' created by 'pbx_config' ] pbx*CLI> '1234' => 1. Playback(demo-congrats) [pbx_config] 2. Hangup() [pbx_config] 'h' => 1. Hangup() [pbx_config] Include => 'custom-recordme' [pbx_config] [ Context 'from-internal-additional' created by 'pbx_config' ] pbx*CLI> 'h' => 1. Hangup() [pbx_config] Include => 'from-internal-additional-custom' [pbx_config] Include => 'app-blacklist' [pbx_config] Include => 'app-pbdirectory' [pbx_config] Include => 'app-recordings' [pbx_config] Include => 'ext-findmefollow' [pbx_config] Include => 'fmgrps' [pbx_config] Include => 'vmblast-grp' [pbx_config] Include => 'app-calltrace' [pbx_config] Include => 'app-directory' [pbx_config] Include => 'app-echo-test' [pbx_config] Include => 'app-speakextennum' [pbx_config] Include => 'app-speakingclock' [pbx_config] Include => 'app-dialvm' [pbx_config] Include => 'app-vmmain' [pbx_config] Include => 'app-speeddial' [pbx_config] Include => 'ext-meetme' [pbx_config] Include => 'app-gabcast' [pbx_config] Include => 'app-callwaiting-cwoff' [pbx_config] Include => 'app-callwaiting-cwon' [pbx_config] Include => 'app-daynight' [pbx_config] Include => 'app-daynight-toggle' [pbx_config] Include => 'ext-queues' [pbx_config] Include => 'app-dnd-off' [pbx_config] pbx*CLI> Include => 'app-dnd-on' [pbx_config] Include => 'app-cf-busy-off' [pbx_config] Include => 'app-cf-busy-off-any' [pbx_config] Include => 'app-cf-busy-on' [pbx_config] Include => 'app-cf-off' [pbx_config] pbx*CLI> Include => 'app-cf-off-any' [pbx_config] Include => 'app-cf-on' [pbx_config] Include => 'app-cf-unavailable-off' [pbx_config] Include => 'app-cf-unavailable-on' [pbx_config] Include => 'ext-group' [pbx_config] Include => 'grps' [pbx_config] Include => 'app-dictate-record' [pbx_config] Include => 'app-dictate-send' [pbx_config] Include => 'ext-paging' [pbx_config] Include => 'app-languages' [pbx_config] Include => 'app-userlogonoff' [pbx_config] Include => 'app-pickup' [pbx_config] pbx*CLI> Include => 'app-zapbarge' [pbx_config] Include => 'app-chanspy' [pbx_config] Include => 'ext-test' [pbx_config] Include => 'ext-local' [pbx_config] Include => 'outbound-allroutes' [pbx_config] pbx*CLI> [ Context 'macro-systemrecording' created by 'pbx_config' ] '*' => 1. Goto(dorecord|1) [pbx_config] '1' => 1. Goto(docheck|1) [pbx_config] 'confmenu' => 1. Background(to-listen-to-it&press-1&to-rerecord-it&press-star|m|${CHANNEL(language)}|macro-systemrecording) [pbx_config] 2. Read(RECRESULT||1|||4) [pbx_config] pbx*CLI> 3. GotoIf($["x${RECRESULT}"="x*"]?dorecord|1) [pbx_config] 4. GotoIf($["x${RECRESULT}"="x1"]?docheck|1) [pbx_config] 5. Goto(1) [pbx_config] 'docheck' => 1. Playback(/tmp/${AMPUSER}-ivrrecording) [pbx_config] 2. Wait(1) [pbx_config] 3. Goto(confmenu|1) [pbx_config] pbx*CLI> 'dorecord' => 1. Record(/tmp/${AMPUSER}-ivrrecording:wav) [pbx_config] 2. Wait(1) [pbx_config] 3. Goto(confmenu|1) [pbx_config] 'h' => 1. Hangup() [pbx_config] 'i' => 1. Playback(pm-invalid-option) [pbx_config] 2. Goto(confmenu|1) [pbx_config] 's' => 1. Goto(${ARG1}|1) [pbx_config] 't' => 1. Playback(goodbye) [pbx_config] 2. Hangup() [pbx_config] Include => 'macro-systemrecording-custom' [pbx_config] [ Context 'macro-agent-del' created by 'pbx_config' ] 's' => 1. Wait(1) [pbx_config] pbx*CLI> 2. Macro(user-callerid|SKIPTTL) [pbx_config] [a3] 3. Read(CALLBACKNUM|agent-logoff||||) [pbx_config] 4. GotoIf($["${CALLBACKNUM}" = ""]?a5:a7) [pbx_config] pbx*CLI> [a5] 5. Set(CALLBACKNUM=${AMPUSER}) [pbx_config] 6. ExecIf($["${CALLBACKNUM}" = ""]|Set|CALLBACKNUM=${CALLERID(number)}) [pbx_config] 7. GotoIf($["${CALLBACKNUM}" = ""]?a3) [pbx_config] [a7] 8. RemoveQueueMember(${ARG1}|Local/${CALLBACKNUM}@from-internal/n) [pbx_config] 9. UserEvent(RefreshQueue) [pbx_config] pbx*CLI> 10. Wait(1) [pbx_config] 11. Playback(agent-loggedoff) [pbx_config] 12. Hangup() [pbx_config] Include => 'macro-agent-del-custom' [pbx_config] [ Context 'macro-agent-add' created by 'pbx_config' ] pbx*CLI> 's' => 1. Wait(1) [pbx_config] 2. Macro(user-callerid|SKIPTTL) [pbx_config] [a3] 3. Read(CALLBACKNUM|agent-login||||) [pbx_config] 4. GotoIf($["${CALLBACKNUM}" != ""]?a7) [pbx_config] [a5] 5. Set(CALLBACKNUM=${AMPUSER}) [pbx_config] pbx*CLI> 6. ExecIf($["${CALLBACKNUM}" = ""]|Set|CALLBACKNUM=${CALLERID(number)}) [pbx_config] 7. GotoIf($["${CALLBACKNUM}" = ""]?a3) [pbx_config] [a7] 8. GotoIf($["${CALLBACKNUM}" = "${ARG1}"]?invalid) [pbx_config] 9. ExecIf($["${ARG2}" != ""]|Authenticate|${ARG2}) [pbx_config] [a9] 10. AddQueueMember(${ARG1}|Local/${CALLBACKNUM}@from-internal/n) [pbx_config] pbx*CLI> 11. UserEvent(Agentlogin|Agent: ${CALLBACKNUM}) [pbx_config] 12. Wait(1) [pbx_config] 13. Playback(agent-loginok&with&extension) [pbx_config] 14. SayDigits(${CALLBACKNUM}) [pbx_config] 15. Hangup() [pbx_config] pbx*CLI> 16. MacroExit() [pbx_config] [invalid] 17. Playback(pbx-invalid) [pbx_config] 18. Goto(a3) [pbx_config] Include => 'macro-agent-add-custom' [pbx_config] [ Context 'macro-outbound-callerid' created by 'pbx_config' ] pbx*CLI> 's' => 1. ExecIf($["${CALLINGPRES_SV}" != ""]|SetCallerPres|${CALLINGPRES_SV}) [pbx_config] 2. GotoIf($["${REALCALLERIDNUM:1:2}" != ""]?start) [pbx_config] 3. Set(REALCALLERIDNUM=${CALLERID(number)}) [pbx_config] [start] 4. Noop(REALCALLERIDNUM is ${REALCALLERIDNUM}) [pbx_config] 5. GotoIf($["${KEEPCID}" != "TRUE"]?normcid) [pbx_config] 6. GotoIf($["x${OUTKEEPCID_${ARG1}}" = "xon"]?normcid) [pbx_config] 7. GotoIf($["foo${REALCALLERIDNUM}" = "foo"]?normcid) [pbx_config] 8. Set(USEROUTCID=${REALCALLERIDNUM}) [pbx_config] 9. GotoIf($["foo${DB(AMPUSER/${REALCALLERIDNUM}/device)}" = "foo"]?bypass:normcid) [pbx_config] [normcid] 10. Set(USEROUTCID=${DB(AMPUSER/${REALCALLERIDNUM}/outboundcid)}) [pbx_config] [bypass] 11. Set(EMERGENCYCID=${DB(DEVICE/${REALCALLERIDNUM}/emergency_cid)}) [pbx_config] 12. Set(TRUNKOUTCID=${OUTCID_${ARG1}}) [pbx_config] 13. GotoIf($["${EMERGENCYROUTE:1:2}" = ""]?trunkcid) [pbx_config] 14. GotoIf($["${EMERGENCYCID:1:2}" = ""]?trunkcid) [pbx_config] 15. Set(CALLERID(all)=${EMERGENCYCID}) [pbx_config] 16. Goto(report) [pbx_config] pbx*CLI> [trunkcid] 17. GotoIf($["${TRUNKOUTCID:1:2}" = ""]?usercid) [pbx_config] 18. Set(CALLERID(all)=${TRUNKOUTCID}) [pbx_config] [usercid] 19. GotoIf($["${USEROUTCID:1:2}" = ""]?report) [pbx_config] 20. Set(CALLERID(all)=${USEROUTCID}) [pbx_config] 21. GotoIf($["x${CALLERID(name)}"!="xhidden"]?report:hidecid) [pbx_config] pbx*CLI> [hidecid] 22. SetCallerPres(prohib_passed_screen) [pbx_config] [report] 23. Noop(CallerID set to ${CALLERID(all)}) [pbx_config] Include => 'macro-outbound-callerid-custom' [pbx_config] [ Context 'macro-dialout-enum' created by 'pbx_config' ] 's' => 1. ExecIf($[$["${ARG3}" != ""] & $["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"]]|Authenticate|${ARG3}) [pbx_config] pbx*CLI> 2. Macro(outbound-callerid|${ARG1}) [pbx_config] 3. Set(GROUP()=OUT_${ARG1}) [pbx_config] 4. GotoIf($["${OUTMAXCHANS_${ARG1}}foo" = "foo"]?nomax) [pbx_config] 5. GotoIf($[ ${GROUP_COUNT(OUT_${ARG1})} > ${OUTMAXCHANS_${ARG1}} ]?nochans) [pbx_config] [nomax] 6. Set(DIAL_NUMBER=${ARG2}) [pbx_config] pbx*CLI> 7. Set(DIAL_TRUNK=${ARG1}) [pbx_config] 8. AGI(fixlocalprefix) [pbx_config] 9. AGI(enumlookup.agi) [pbx_config] [dialloop] 10. GotoIf($["foo${DIALARR}"="foo"]?end) [pbx_config] 11. Set(TRYDIAL=${CUT(DIALARR|%|1)}) [pbx_config] 12. Set(DIALARR=${CUT(DIALARR|%|2-)}) [pbx_config] pbx*CLI> 13. Dial(${TRYDIAL}|) [pbx_config] 14. Noop(Dial exited in macro-enum-dialout with ${DIALSTATUS}) [pbx_config] 15. GotoIf($[ $[ "${DIALSTATUS}" = "CHANUNAVAIL" ] | $[ "${DIALSTATUS}" = "CONGESTION" ] ]?dialloop) [pbx_config] [dialfailed] 16. Goto(s-${DIALSTATUS}|1) [pbx_config] [nochans] 17. Noop(max channels used up) [pbx_config] pbx*CLI> [end] 18. Noop(Exiting macro-dialout-enum) [pbx_config] 's-BUSY' => 1. Noop(Trunk is reporting BUSY) [pbx_config] 2. Busy(20) [pbx_config] '_s-.' => 1. Noop(Dial failed due to ${DIALSTATUS}) [pbx_config] Include => 'macro-dialout-enum-custom' [pbx_config] pbx*CLI> [ Context 'macro-user-callerid' created by 'pbx_config' ] 'h' => 1. Macro(hangupcall|) [pbx_config] 's' => 1. Noop(user-callerid: ${CALLERID(name)} ${CALLERID(number)}) [pbx_config] 2. Set(AMPUSER=${IF($["foo${AMPUSER}" = "foo"]?${CALLERID(number)}:${AMPUSER})}) [pbx_config] 3. GotoIf($["${CHANNEL:0:5}" = "Local"]?report) [pbx_config] 4. ExecIf($["${REALCALLERIDNUM:1:2}" = ""]|Set|REALCALLERIDNUM=${CALLERID(number)}) [pbx_config] [start] 5. Noop(REALCALLERIDNUM is ${REALCALLERIDNUM}) [pbx_config] 6. Set(AMPUSER=${DB(DEVICE/${REALCALLERIDNUM}/user)}) [pbx_config] 7. Set(AMPUSERCIDNAME=${DB(AMPUSER/${AMPUSER}/cidname)}) [pbx_config] 8. GotoIf($["x${AMPUSERCIDNAME:1:2}" = "x"]?report) [pbx_config] 9. Set(AMPUSERCID=${IF($["${DB_EXISTS(AMPUSER/${AMPUSER}/cidnum)}" = "1"]?${DB_RESULT}:${AMPUSER})}) [pbx_config] 10. Set(CALLERID(all)="${AMPUSERCIDNAME}" <${AMPUSERCID}>) [pbx_config] 11. Set(REALCALLERIDNUM=${DB(DEVICE/${REALCALLERIDNUM}/user)}) [pbx_config] 12. ExecIf($["${DB(AMPUSER/${AMPUSER}/language)}" != ""]|Set|CHANNEL(language)=${DB(AMPUSER/${AMPUSER}/language)}) [pbx_config] [report] 13. Noop(TTL: ${TTL} ARG1: ${ARG1}) [pbx_config] 14. GotoIf($[ "${ARG1}" = "SKIPTTL" ]?continue) [pbx_config] pbx*CLI> [report2] 15. Set(__TTL=${IF($["foo${TTL}" = "foo"]?64:$[ ${TTL} - 1 ])}) [pbx_config] 16. GotoIf($[ ${TTL} > 0 ]?continue) [pbx_config] 17. Wait(${RINGTIMER}) [pbx_config] 18. Answer() [pbx_config] 19. Wait(2) [pbx_config] pbx*CLI> 20. Playback(im-sorry&an-error-has-occured&with&call-forwarding) [pbx_config] 21. Macro(hangupcall|) [pbx_config] 22. Congestion(20) [pbx_config] [continue] 23. Noop(Using CallerID ${CALLERID(all)}) [pbx_config] Include => 'macro-user-callerid-custom' [pbx_config] pbx*CLI> [ Context 'macro-dialout-dundi' created by 'pbx_config' ] 'bypass' => 1. Noop(TRUNK: ${OUT_${DIAL_TRUNK}} BYPASSING because dialout-dundi-predial-hook) [pbx_config] 'disabletrunk' => 1. Noop(TRUNK: ${OUT_${DIAL_TRUNK}} DISABLED - falling through to next trunk) [pbx_config] 'h' => 1. Macro(hangupcall|) [pbx_config] 's' => 1. Set(DIAL_TRUNK=${ARG1}) [pbx_config] pbx*CLI> 2. ExecIf($[$["${ARG3}" != ""] & $["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"]]|Authenticate|${ARG3}) [pbx_config] 3. GotoIf($["x${OUTDISABLE_${DIAL_TRUNK}}" = "xon"]?disabletrunk|1) [pbx_config] 4. Set(DIAL_NUMBER=${ARG2}) [pbx_config] 5. Set(DIAL_TRUNK_OPTIONS=${DIAL_OPTIONS}) [pbx_config] 6. Set(GROUP()=OUT_${DIAL_TRUNK}) [pbx_config] 7. GotoIf($["${OUTMAXCHANS_${DIAL_TRUNK}}foo" = "foo"]?nomax) [pbx_config] 8. GotoIf($[ ${GROUP_COUNT(OUT_${DIAL_TRUNK})} > ${OUTMAXCHANS_${DIAL_TRUNK}} ]?chanfull) [pbx_config] [nomax] 9. GotoIf($["${INTRACOMPANYROUTE}" = "YES"]?skipoutcid) [pbx_config] 10. Set(DIAL_TRUNK_OPTIONS=${TRUNK_OPTIONS}) [pbx_config] 11. Macro(outbound-callerid|${DIAL_TRUNK}) [pbx_config] pbx*CLI> [skipoutcid] 12. AGI(fixlocalprefix) [pbx_config] 13. Set(OUTNUM=${OUTPREFIX_${DIAL_TRUNK}}${DIAL_NUMBER}) [pbx_config] 14. GotoIf($[$["${MOHCLASS}" = "default"] | $["foo${MOHCLASS}" = "foo"]]?gocall) [pbx_config] 15. Set(DIAL_TRUNK_OPTIONS=M(setmusic^${MOHCLASS})${DIAL_TRUNK_OPTIONS}) [pbx_config] pbx*CLI> [gocall] 16. Macro(dialout-dundi-predial-hook|) [pbx_config] 17. GotoIf($["${PREDIAL_HOOK_RET}" = "BYPASS"]?bypass|1) [pbx_config] 18. GotoIf($["${custom}" = "AMP"]?customtrunk) [pbx_config] 19. Macro(dundi-${DIAL_TRUNK}|${OUTNUM}) [pbx_config] 20. Goto(s-${DIALSTATUS}|1) [pbx_config] [chanfull] 21. Noop(max channels used up) [pbx_config] 's-BUSY' => 1. Noop(Dial failed due to trunk reporting BUSY - giving up) [pbx_config] 2. Playtones(busy) [pbx_config] 3. Busy(20) [pbx_config] 's-CANCEL' => 1. Noop(Dial failed due to trunk reporting CANCEL - giving up) [pbx_config] 2. Playtones(congestion) [pbx_config] 3. Congestion(20) [pbx_config] pbx*CLI> 's-NOANSWER' => 1. Noop(Dial failed due to trunk reporting NOANSWER - giving up) [pbx_config] 2. Playtones(congestion) [pbx_config] 3. Congestion(20) [pbx_config] '_s-.' => 1. GotoIf($["x${OUTFAIL_${ARG1}}" = "x"]?noreport) [pbx_config] 2. AGI(${OUTFAIL_${ARG1}}) [pbx_config] pbx*CLI> [noreport] 3. Noop(TRUNK Dial failed due to ${DIALSTATUS} - failing through to other trunks) [pbx_config] Include => 'macro-dialout-dundi-custom' [pbx_config] [ Context 'macro-dialout-trunk' created by 'pbx_config' ] pbx*CLI> 'bypass' => 1. Noop(TRUNK: ${OUT_${DIAL_TRUNK}} BYPASSING because dialout-trunk-predial-hook) [pbx_config] 'disabletrunk' => 1. Noop(TRUNK: ${OUT_${DIAL_TRUNK}} DISABLED - falling through to next trunk) [pbx_config] 'h' => 1. Macro(hangupcall|) [pbx_config] 's' => 1. Set(DIAL_TRUNK=${ARG1}) [pbx_config] 2. ExecIf($[$["${ARG3}" != ""] & $["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"]]|Authenticate|${ARG3}) [pbx_config] 3. GotoIf($["x${OUTDISABLE_${DIAL_TRUNK}}" = "xon"]?disabletrunk|1) [pbx_config] 4. Set(DIAL_NUMBER=${ARG2}) [pbx_config] 5. Set(DIAL_TRUNK_OPTIONS=${DIAL_OPTIONS}) [pbx_config] 6. Set(GROUP()=OUT_${DIAL_TRUNK}) [pbx_config] pbx*CLI> 7. GotoIf($["${OUTMAXCHANS_${DIAL_TRUNK}}foo" = "foo"]?nomax) [pbx_config] 8. GotoIf($[ ${GROUP_COUNT(OUT_${DIAL_TRUNK})} > ${OUTMAXCHANS_${DIAL_TRUNK}} ]?chanfull) [pbx_config] [nomax] 9. GotoIf($["${INTRACOMPANYROUTE}" = "YES"]?skipoutcid) [pbx_config] 10. Set(DIAL_TRUNK_OPTIONS=${TRUNK_OPTIONS}) [pbx_config] pbx*CLI> 11. Macro(outbound-callerid|${DIAL_TRUNK}) [pbx_config] [skipoutcid] 12. AGI(fixlocalprefix) [pbx_config] 13. Set(OUTNUM=${OUTPREFIX_${DIAL_TRUNK}}${DIAL_NUMBER}) [pbx_config] 14. Set(custom=${CUT(OUT_${DIAL_TRUNK}|:|1)}) [pbx_config] 15. GotoIf($[$["${MOHCLASS}" = "default"] | $["foo${MOHCLASS}" = "foo"]]?gocall) [pbx_config] 16. Set(DIAL_TRUNK_OPTIONS=M(setmusic^${MOHCLASS})${DIAL_TRUNK_OPTIONS}) [pbx_config] [gocall] 17. Macro(dialout-trunk-predial-hook|) [pbx_config] 18. GotoIf($["${PREDIAL_HOOK_RET}" = "BYPASS"]?bypass|1) [pbx_config] 19. GotoIf($["${custom}" = "AMP"]?customtrunk) [pbx_config] pbx*CLI> 20. Dial(${OUT_${DIAL_TRUNK}}/${OUTNUM}|300|${DIAL_TRUNK_OPTIONS}) [pbx_config] 21. Goto(s-${DIALSTATUS}|1) [pbx_config] [customtrunk] 22. Set(pre_num=${CUT(OUT_${DIAL_TRUNK}|$|1)}) [pbx_config] 23. Set(the_num=${CUT(OUT_${DIAL_TRUNK}|$|2)}) [pbx_config] pbx*CLI> 24. Set(post_num=${CUT(OUT_${DIAL_TRUNK}|$|3)}) [pbx_config] 25. GotoIf($["${the_num}" = "OUTNUM"]?outnum:skipoutnum) [pbx_config] [outnum] 26. Set(the_num=${OUTNUM}) [pbx_config] [skipoutnum] 27. Dial(${pre_num:4}${the_num}${post_num}|300|${DIAL_TRUNK_OPTIONS}) [pbx_config] 28. Goto(s-${DIALSTATUS}|1) [pbx_config] [chanfull] 29. Noop(max channels used up) [pbx_config] 's-BUSY' => 1. Noop(Dial failed due to trunk reporting BUSY - giving up) [pbx_config] 2. Playtones(busy) [pbx_config] 3. Busy(20) [pbx_config] 's-CANCEL' => 1. Noop(Dial failed due to trunk reporting CANCEL - giving up) [pbx_config] 2. Playtones(congestion) [pbx_config] 3. Congestion(20) [pbx_config] 's-NOANSWER' => 1. Noop(Dial failed due to trunk reporting NOANSWER - giving up) [pbx_config] 2. Playtones(congestion) [pbx_config] 3. Congestion(20) [pbx_config] '_s-.' => 1. GotoIf($["x${OUTFAIL_${ARG1}}" = "x"]?noreport) [pbx_config] pbx*CLI> 2. AGI(${OUTFAIL_${ARG1}}) [pbx_config] [noreport] 3. Noop(TRUNK Dial failed due to ${DIALSTATUS} - failing through to other trunks) [pbx_config] Include => 'macro-dialout-trunk-custom' [pbx_config] [ Context 'bad-number' created by 'pbx_config' ] pbx*CLI> '_*.' => 1. ResetCDR() [pbx_config] 2. NoCDR() [pbx_config] 3. Wait(1) [pbx_config] 4. Playback(silence/1&feature-not-avail-line&silence/1&cannot-complete-as-dialed&check-number-dial-again|noanswer) [pbx_config] 5. Wait(1) [pbx_config] pbx*CLI> 6. Congestion(20) [pbx_config] 7. Hangup() [pbx_config] '_X.' => 1. ResetCDR() [pbx_config] 2. NoCDR() [pbx_config] 3. Wait(1) [pbx_config] pbx*CLI> 4. Playback(silence/1&cannot-complete-as-dialed&check-number-dial-again|noanswer) [pbx_config] 5. Wait(1) [pbx_config] 6. Congestion(20) [pbx_config] 7. Hangup() [pbx_config] Include => 'bad-number-custom' [pbx_config] [ Context 'app-blackhole' created by 'pbx_config' ] pbx*CLI> 'busy' => 1. Noop(Blackhole Dest: Busy) [pbx_config] 2. Answer() [pbx_config] 3. Playtones(busy) [pbx_config] 4. Busy(20) [pbx_config] 5. Hangup() [pbx_config] pbx*CLI> 'congestion' => 1. Noop(Blackhole Dest: Congestion) [pbx_config] 2. Answer() [pbx_config] 3. Playtones(congestion) [pbx_config] 4. Congestion(20) [pbx_config] 5. Hangup() [pbx_config] 'hangup' => 1. Noop(Blackhole Dest: Hangup) [pbx_config] pbx*CLI> 2. Hangup() [pbx_config] 'musiconhold' => 1. Noop(Blackhole Dest: Put caller on hold forever) [pbx_config] 2. Answer() [pbx_config] 3. MusicOnHold() [pbx_config] 'ring' => 1. Noop(Blackhole Dest: Ring) [pbx_config] 2. Answer() [pbx_config] 3. Playtones(ring) [pbx_config] 4. Wait(300) [pbx_config] 5. Hangup() [pbx_config] 'zapateller' => 1. Noop(Blackhole Dest: Play SIT Tone) [pbx_config] 2. Answer() [pbx_config] 3. Zapateller() [pbx_config] pbx*CLI> Include => 'app-blackhole-custom' [pbx_config] [ Context 'outrt-001-9_outside' created by 'pbx_config' ] '_9.' => 1. Macro(user-callerid|SKIPTTL|) [pbx_config] 2. Set(_NODEST=) [pbx_config] pbx*CLI> 3. Macro(record-enable|${AMPUSER}|OUT|) [pbx_config] 4. Macro(dialout-trunk|1|${EXTEN:1}||) [pbx_config] 5. Macro(dialout-trunk|2|${EXTEN:1}||) [pbx_config] 6. Macro(dialout-trunk|3|${EXTEN:1}||) [pbx_config] 7. Macro(dialout-trunk|4|${EXTEN:1}||) [pbx_config] 8. Macro(outisbusy|) [pbx_config] pbx*CLI> Include => 'outrt-001-9_outside-custom' [pbx_config] [ Context 'outbound-allroutes' created by 'pbx_config' ] 'foo' => 1. Noop(bar) [pbx_config] Include => 'outbound-allroutes-custom' [pbx_config] Include => 'outrt-001-9_outside' [pbx_config] [ Context 'from-did-direct-ivr' created by 'pbx_config' ] pbx*CLI> '*201' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] 3. Macro(vm|201|DIRECTDIAL) [pbx_config] '*202' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] pbx*CLI> 3. Macro(vm|202|DIRECTDIAL) [pbx_config] '*203' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] 3. Macro(vm|203|DIRECTDIAL) [pbx_config] '*204' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] pbx*CLI> 2. Set(__NODEST=) [pbx_config] 3. Macro(vm|204|DIRECTDIAL) [pbx_config] '*206' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] 3. Macro(vm|206|DIRECTDIAL) [pbx_config] '*207' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] pbx*CLI> 2. Set(__NODEST=) [pbx_config] 3. Macro(vm|207|DIRECTDIAL) [pbx_config] '*208' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] 3. Macro(vm|208|DIRECTDIAL) [pbx_config] pbx*CLI> '*209' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] 3. Macro(vm|209|DIRECTDIAL) [pbx_config] '*211' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] 3. Macro(vm|211|DIRECTDIAL) [pbx_config] '201' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] 3. Goto(from-did-direct|201|1) [pbx_config] '202' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] 3. Goto(from-did-direct|202|1) [pbx_config] '203' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] 3. Goto(from-did-direct|203|1) [pbx_config] pbx*CLI> '204' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] 3. Goto(from-did-direct|204|1) [pbx_config] '205' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] pbx*CLI> 3. Goto(from-did-direct|205|1) [pbx_config] '206' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] 3. Goto(from-did-direct|206|1) [pbx_config] pbx*CLI> '207' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] 3. Goto(from-did-direct|207|1) [pbx_config] '208' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] pbx*CLI> 3. Goto(from-did-direct|208|1) [pbx_config] '209' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] 3. Goto(from-did-direct|209|1) [pbx_config] '210' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] pbx*CLI> 3. Goto(from-did-direct|210|1) [pbx_config] '211' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] 2. Set(__NODEST=) [pbx_config] 3. Goto(from-did-direct|211|1) [pbx_config] '212' => 1. ExecIf($["${BLKVM_OVERRIDE}" != ""]|dbDel|${BLKVM_OVERRIDE}) [pbx_config] pbx*CLI> 2. Set(__NODEST=) [pbx_config] 3. Goto(from-did-direct|212|1) [pbx_config] Include => 'from-did-direct-ivr-custom' [pbx_config] [ Context 'ext-local' created by 'pbx_config' ] '*201' => 1. Macro(vm|201|DIRECTDIAL) [pbx_config] pbx*CLI> 2. Hangup() [pbx_config] '*202' => 1. Macro(vm|202|DIRECTDIAL) [pbx_config] 2. Hangup() [pbx_config] '*203' => 1. Macro(vm|203|DIRECTDIAL) [pbx_config] 2. Hangup() [pbx_config] pbx*CLI> '*204' => 1. Macro(vm|204|DIRECTDIAL) [pbx_config] 2. Hangup() [pbx_config] '*206' => 1. Macro(vm|206|DIRECTDIAL) [pbx_config] 2. Hangup() [pbx_config] '*207' => 1. Macro(vm|207|DIRECTDIAL) [pbx_config] 2. Hangup() [pbx_config] '*208' => 1. Macro(vm|208|DIRECTDIAL) [pbx_config] 2. Hangup() [pbx_config] '*209' => 1. Macro(vm|209|DIRECTDIAL) [pbx_config] 2. Hangup() [pbx_config] '*211' => 1. Macro(vm|211|DIRECTDIAL) [pbx_config] 2. Hangup() [pbx_config] '201' => hint: SIP/201 [pbx_config] 1. Macro(exten-vm|201|201) [pbx_config] 2. Hangup() [pbx_config] pbx*CLI> '202' => hint: SIP/202 [pbx_config] 1. Macro(exten-vm|202|202) [pbx_config] 2. Hangup() [pbx_config] '203' => hint: SIP/203 [pbx_config] 1. Macro(exten-vm|203|203) [pbx_config] pbx*CLI> 2. Hangup() [pbx_config] '204' => hint: SIP/204 [pbx_config] 1. Macro(exten-vm|204|204) [pbx_config] 2. Hangup() [pbx_config] '205' => hint: SIP/205 [pbx_config] 1. Macro(exten-vm|novm|205) [pbx_config] pbx*CLI> 2. Hangup() [pbx_config] '206' => hint: SIP/206 [pbx_config] 1. Macro(exten-vm|206|206) [pbx_config] 2. Hangup() [pbx_config] '207' => hint: SIP/207 [pbx_config] pbx*CLI> 1. Macro(exten-vm|207|207) [pbx_config] 2. Hangup() [pbx_config] '208' => hint: SIP/208 [pbx_config] 1. Macro(exten-vm|208|208) [pbx_config] 2. Hangup() [pbx_config] '209' => hint: SIP/209 [pbx_config] pbx*CLI> 1. Macro(exten-vm|209|209) [pbx_config] 2. Hangup() [pbx_config] '210' => hint: SIP/210 [pbx_config] 1. Macro(exten-vm|novm|210) [pbx_config] 2. Hangup() [pbx_config] pbx*CLI> '211' => hint: SIP/211 [pbx_config] 1. Macro(exten-vm|211|211) [pbx_config] 2. Hangup() [pbx_config] '212' => hint: SIP/212 [pbx_config] 1. Macro(exten-vm|novm|212) [pbx_config] 2. Hangup() [pbx_config] pbx*CLI> 'vmb201' => 1. Macro(vm|201|BUSY) [pbx_config] 2. Hangup() [pbx_config] 'vmb202' => 1. Macro(vm|202|BUSY) [pbx_config] 2. Hangup() [pbx_config] 'vmb203' => 1. Macro(vm|203|BUSY) [pbx_config] 2. Hangup() [pbx_config] 'vmb204' => 1. Macro(vm|204|BUSY) [pbx_config] 2. Hangup() [pbx_config] 'vmb206' => 1. Macro(vm|206|BUSY) [pbx_config] 2. Hangup() [pbx_config] 'vmb207' => 1. Macro(vm|207|BUSY) [pbx_config] 2. Hangup() [pbx_config] 'vmb208' => 1. Macro(vm|208|BUSY) [pbx_config] 2. Hangup() [pbx_config] 'vmb209' => 1. Macro(vm|209|BUSY) [pbx_config] 2. Hangup() [pbx_config] pbx*CLI> 'vmb211' => 1. Macro(vm|211|BUSY) [pbx_config] 2. Hangup() [pbx_config] 'vms201' => 1. Macro(vm|201|NOMESSAGE) [pbx_config] 2. Hangup() [pbx_config] pbx*CLI> 'vms202' => 1. Macro(vm|202|NOMESSAGE) [pbx_config] 2. Hangup() [pbx_config] 'vms203' => 1. Macro(vm|203|NOMESSAGE) [pbx_config] 2. Hangup() [pbx_config] 'vms204' => 1. Macro(vm|204|NOMESSAGE) [pbx_config] pbx*CLI> 2. Hangup() [pbx_config] 'vms206' => 1. Macro(vm|206|NOMESSAGE) [pbx_config] 2. Hangup() [pbx_config] 'vms207' => 1. Macro(vm|207|NOMESSAGE) [pbx_config] 2. Hangup() [pbx_config] 'vms208' => 1. Macro(vm|208|NOMESSAGE) [pbx_config] pbx*CLI> 2. Hangup() [pbx_config] 'vms209' => 1. Macro(vm|209|NOMESSAGE) [pbx_config] 2. Hangup() [pbx_config] 'vms211' => 1. Macro(vm|211|NOMESSAGE) [pbx_config] 2. Hangup() [pbx_config] 'vmu201' => 1. Macro(vm|201|NOANSWER) [pbx_config] pbx*CLI> 2. Hangup() [pbx_config] 'vmu202' => 1. Macro(vm|202|NOANSWER) [pbx_config] 2. Hangup() [pbx_config] 'vmu203' => 1. Macro(vm|203|NOANSWER) [pbx_config] 2. Hangup() [pbx_config] pbx*CLI> 'vmu204' => 1. Macro(vm|204|NOANSWER) [pbx_config] 2. Hangup() [pbx_config] 'vmu206' => 1. Macro(vm|206|NOANSWER) [pbx_config] 2. Hangup() [pbx_config] 'vmu207' => 1. Macro(vm|207|NOANSWER) [pbx_config] pbx*CLI> 2. Hangup() [pbx_config] 'vmu208' => 1. Macro(vm|208|NOANSWER) [pbx_config] 2. Hangup() [pbx_config] 'vmu209' => 1. Macro(vm|209|NOANSWER) [pbx_config] 2. Hangup() [pbx_config] pbx*CLI> 'vmu211' => 1. Macro(vm|211|NOANSWER) [pbx_config] 2. Hangup() [pbx_config] Include => 'ext-local-custom' [pbx_config] [ Context 'ext-did-catchall' created by 'pbx_config' ] '_.' => 1. Noop(Catch-All DID Match - Found ${EXTEN} - You probably want a DID for this.) [pbx_config] 2. Goto(ext-did|s|1) [pbx_config] Include => 'ext-did-catchall-custom' [pbx_config] [ Context 'ext-did' created by 'pbx_config' ] 'fax' => 1. Goto(ext-fax|in_fax|1) [pbx_config] 's' => 1. Set(__FROM_DID=${EXTEN}) [pbx_config] 2. Gosub(app-blacklist-check|s|1) [pbx_config] 3. GotoIf($[ "${CALLERID(name)}" != "" ] ?cidok) [pbx_config] pbx*CLI> 4. Set(CALLERID(name)=${CALLERID(num)}) [pbx_config] [cidok] 5. Noop(CallerID is ${CALLERID(all)}) [pbx_config] 6. Set(__CALLINGPRES_SV=${CALLINGPRES_${CALLINGPRES}}) [pbx_config] 7. SetCallerPres(allowed_not_screened) [pbx_config] pbx*CLI> 8. Goto(ext-group|601|1) [pbx_config] Include => 'ext-did-custom' [pbx_config] [ Context 'ext-test' created by 'pbx_config' ] pbx*CLI> '666' => 1. Goto(ext-fax|in_fax|1) [pbx_config] '7777' => 1. Goto(from-pstn|s|1) [pbx_config] 'h' => 1. Macro(hangupcall|) [pbx_config] Include => 'ext-test-custom' [pbx_config] [ Context 'app-chanspy' created by 'pbx_config' ] pbx*CLI> '555' => 1. Macro(user-callerid|) [pbx_config] 2. Answer() [pbx_config] 3. Wait(1) [pbx_config] 4. ChanSpy() [pbx_config] 5. Hangup() [pbx_config] Include => 'app-chanspy-custom' [pbx_config] pbx*CLI> [ Context 'app-zapbarge' created by 'pbx_config' ] '888' => 1. Macro(user-callerid|) [pbx_config] 2. Set(GROUP()=${CALLERID(number)}) [pbx_config] 3. Answer() [pbx_config] 4. Wait(1) [pbx_config] pbx*CLI> 5. ZapBarge() [pbx_config] 6. Hangup() [pbx_config] Include => 'app-zapbarge-custom' [pbx_config] [ Context 'app-pickup' created by 'pbx_config' ] '_**.' => 1. Noop(Attempt to Pickup ${EXTEN:2} by ${CALLERID(num)}) [pbx_config] pbx*CLI> 2. Pickup(${EXTEN:2}) [pbx_config] Include => 'app-pickup-custom' [pbx_config] [ Context 'app-userlogonoff' created by 'pbx_config' ] '*11' => 1. Macro(user-logon|) [pbx_config] 2. Hangup() [pbx_config] '*12' => 1. Macro(user-logoff|) [pbx_config] pbx*CLI> 2. Hangup() [pbx_config] '_*11.' => 1. Macro(user-logon|${EXTEN:3}|) [pbx_config] 2. Hangup() [pbx_config] Include => 'app-userlogonoff-custom' [pbx_config] [ Context 'ext-paging' created by 'pbx_config' ] pbx*CLI> '401' => 1. Answer() [pbx_config] 2. Set(_FORCE_PAGE=0) [pbx_config] 3. Macro(user-callerid|) [pbx_config] 4. Set(_AMPUSER=${AMPUSER}) [pbx_config] 5. Page(LOCAL/PAGE201@ext-paging&LOCAL/PAGE202@ext-paging&LOCAL/PAGE203@ext-paging&LOCAL/PAGE204@ext-paging&LOCAL/PAGE205@ext-paging&LOCAL/PAGE206@ext-paging&LOCAL/PAGE207@ext-paging&LOCAL/PAGE208@ext-paging&LOCAL/PAGE209@ext-paging&LOCAL/PAGE210@ext-pagi [pbx_config] 'Debug' => 1. Noop(dialstr is LOCAL/PAGE201@ext-paging&LOCAL/PAGE202@ext-paging&LOCAL/PAGE203@ext-paging&LOCAL/PAGE204@ext-paging&LOCAL/PAGE205@ext-paging&LOCAL/PAGE206@ext-paging&LOCAL/PAGE207@ext-paging&LOCAL/PAGE208@ext-paging&LOCAL/PAGE209@ext-paging&LOCAL/PAGE2 [pbx_config] '_PAGE.' => 1. GotoIf($[ ${AMPUSER} = ${EXTEN:4} ]?skipself) [pbx_config] 2. GotoIf($[ ${FORCE_PAGE} != 1 ]?AVAIL) [pbx_config] 3. Set(AVAILSTATUS=not checked) [pbx_config] 4. Goto(SKIPCHECK) [pbx_config] [AVAIL] 5. ChanIsAvail(${DB(DEVICE/${EXTEN:4}/dial)}|js) [pbx_config] [SKIPCHECK] 6. Noop(Seems to be available (state = ${AVAILSTATUS}) [pbx_config] 7. Macro(autoanswer|${EXTEN:4}) [pbx_config] 8. Dial(${DIAL}|5| A(beep)) [pbx_config] [skipself] 9. Noop(Not paging originator) [pbx_config] 10. Hangup() [pbx_config] pbx*CLI> 106. Noop(Channel ${AVAILCHAN} is not available (state = ${AVAILSTATUS})) [pbx_config] Include => 'ext-paging-custom' [pbx_config] [ Context 'macro-autoanswer' created by 'pbx_config' ] 's' => 1. Set(DIAL=${DB(DEVICE/${ARG1}/dial)}) [pbx_config] pbx*CLI> 2. GotoIf($["${DB(DEVICE/${ARG1}/autoanswer/macro)}" != "" ]?macro) [pbx_config] 3. Set(phone=${SIPPEER(${CUT(DIAL|/|2)}:useragent)}) [pbx_config] 4. Set(ALERTINFO=Alert-Info: Ring Answer) [pbx_config] 5. Set(CALLINFO=Call-Info: ;answer-after=0) [pbx_config] 6. Set(SIPURI=intercom=true) [pbx_config] 7. Set(ANSWERMACRO=) [pbx_config] pbx*CLI> 8. ExecIf($["${phone:0:5}" = "Mitel"]|Set|CALLINFO=Call-Info: ;answer-after=0) [pbx_config] 9. GotoIf($["${ANSWERMACRO}" != ""]?macro2) [pbx_config] 10. ExecIf($["${ALERTINFO}" != ""]|SipAddHeader|${ALERTINFO}) [pbx_config] 11. ExecIf($["${CALLINFO}" != ""]|SipAddHeader|${CALLINFO}) [pbx_config] 12. ExecIf($["${SIPURI}" != ""]|Set|__SIP_URI_OPTIONS=${SIPURI}) [pbx_config] pbx*CLI> [macro] 15. Macro(${DB(DEVICE/${ARG1}/autoanswer/macro)}|${ARG1}) [pbx_config] [macro2] 18. Macro(${ANSWERMACRO}|${ARG1}) [pbx_config] Include => 'macro-autoanswer-custom' [pbx_config] [ Context 'app-dictate-send' created by 'pbx_config' ] '*35' => 1. Answer() [pbx_config] 2. Macro(user-callerid|) [pbx_config] pbx*CLI> 3. Noop(CallerID is ${AMPUSER}) [pbx_config] 4. Set(DICTENABLED=${DB(AMPUSER/${AMPUSER}/dictate/enabled)}) [pbx_config] 5. GotoIf($[$["x${DICTENABLED}"="x"]|$["x${DICTENABLED}"="xdisabled"]]?nodict:dictok) [pbx_config] [nodict] 6. Playback(feature-not-avail-line) [pbx_config] 7. Hangup() [pbx_config] pbx*CLI> [dictok] 8. Read(DICTFILE|enter-filename-short||||) [pbx_config] 9. Set(DICTEMAIL=${DB(AMPUSER/${AMPUSER}/dictate/email)}) [pbx_config] 10. Set(DICTFMT=${DB(AMPUSER/${AMPUSER}/dictate/format)}) [pbx_config] 11. Set(NAME=${DB(AMPUSER/${AMPUSER}/cidname)}) [pbx_config] 12. Playback(dictation-being-processed) [pbx_config] 13. System(/var/lib/asterisk/bin/audio-email.pl --file /var/lib/asterisk/sounds/dictate/${AMPUSER}/${DICTFILE}.raw --attachment dict-${DICTFILE} --format ${DICTFMT} --to ${DICTEMAIL} --subject "Dictation from ${NAME} Attached") [pbx_config] 14. Playback(dictation-sent) [pbx_config] 15. Macro(hangupcall|) [pbx_config] Include => 'app-dictate-send-custom' [pbx_config] [ Context 'app-dictate-record' created by 'pbx_config' ] '*34' => 1. Answer() [pbx_config] 2. Macro(user-callerid|) [pbx_config] 3. Noop(CallerID is ${AMPUSER}) [pbx_config] 4. Set(DICTENABLED=${DB(AMPUSER/${AMPUSER}/dictate/enabled)}) [pbx_config] 5. GotoIf($[$["x${DICTENABLED}"="x"]|$["x${DICTENABLED}"="xdisabled"]]?nodict:dictok) [pbx_config] pbx*CLI> [nodict] 6. Playback(feature-not-avail-line) [pbx_config] 7. Hangup() [pbx_config] [dictok] 8. Dictate(/var/lib/asterisk/sounds/dictate/${AMPUSER}) [pbx_config] 9. Macro(hangupcall|) [pbx_config] pbx*CLI> Include => 'app-dictate-record-custom' [pbx_config] [ Context 'ext-group' created by 'pbx_config' ] '601' => 1. Macro(user-callerid|) [pbx_config] 2. GotoIf($["foo${BLKVM_OVERRIDE}" = "foo"]?skipdb) [pbx_config] 3. GotoIf($["${DB(${BLKVM_OVERRIDE})}" = "TRUE"]?skipov) [pbx_config] pbx*CLI> [skipdb] 4. Set(__NODEST=) [pbx_config] 5. Set(__BLKVM_OVERRIDE=BLKVM/${EXTEN}/${CHANNEL}) [pbx_config] 6. Set(__BLKVM_BASE=${EXTEN}) [pbx_config] 7. Set(DB(${BLKVM_OVERRIDE})=TRUE) [pbx_config] [skipov] 8. Set(RRNODEST=${NODEST}) [pbx_config] pbx*CLI> [skipvmblk] 9. Set(__NODEST=${EXTEN}) [pbx_config] 10. Set(RecordMethod=Group) [pbx_config] 11. Macro(record-enable|201-202-204-205-206-207-208-209-210-211-212|${RecordMethod}) [pbx_config] 12. Set(RingGroupMethod=ringall) [pbx_config] [DIALGRP] 13. Macro(dial|30|${DIAL_OPTIONS}|201-202-204-205-206-207-208-209-210-211-212) [pbx_config] 14. Set(RingGroupMethod=) [pbx_config] 15. GotoIf($["foo${RRNODEST}" != "foo"]?nodest) [pbx_config] 16. Set(__NODEST=) [pbx_config] 17. dbDel(${BLKVM_OVERRIDE}) [pbx_config] 18. Goto(app-blackhole|busy|1) [pbx_config] pbx*CLI> [nodest] 19. Noop(SKIPPING DEST| CALL CAME FROM Q/RG: ${RRNODEST}) [pbx_config] Include => 'ext-group-custom' [pbx_config] [ Context 'app-cf-unavailable-on' created by 'pbx_config' ] '*52' => 1. Answer() [pbx_config] pbx*CLI> 2. Wait(1) [pbx_config] 3. Macro(user-callerid|) [pbx_config] 4. Playback(call-fwd-no-ans) [pbx_config] 5. Playback(please-enter-your&extension) [pbx_config] 6. Read(fromext|then-press-pound||||) [pbx_config] pbx*CLI> 7. Set(fromext=${IF($["foo${fromext}"="foo"]?${AMPUSER}:${fromext})}) [pbx_config] 8. Wait(1) [pbx_config] [startread] 9. Playback(ent-target-attendant) [pbx_config] 10. Read(toext|then-press-pound||||) [pbx_config] 11. GotoIf($["foo${toext}"="foo"]?startread) [pbx_config] 12. Wait(1) [pbx_config] 13. Set(DB(CFU/${fromext})=${toext}) [pbx_config] 14. Playback(call-fwd-no-ans&for&extension) [pbx_config] 15. SayDigits(${fromext}) [pbx_config] 16. Playback(is-set-to) [pbx_config] 17. SayDigits(${toext}) [pbx_config] 18. Macro(hangupcall|) [pbx_config] pbx*CLI> '_*52.' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Macro(user-callerid|) [pbx_config] 4. Set(DB(CFU/${AMPUSER})=${EXTEN:3}) [pbx_config] pbx*CLI> 5. Playback(call-fwd-no-ans&for&extension) [pbx_config] 6. SayDigits(${AMPUSER}) [pbx_config] 7. Playback(is-set-to) [pbx_config] 8. SayDigits(${EXTEN:3}) [pbx_config] pbx*CLI> 9. Macro(hangupcall|) [pbx_config] Include => 'app-cf-unavailable-on-custom' [pbx_config] [ Context 'app-cf-unavailable-off' created by 'pbx_config' ] '*53' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] pbx*CLI> 3. Macro(user-callerid|) [pbx_config] 4. dbDel(CFU/${AMPUSER}) [pbx_config] 5. Playback(call-fwd-no-ans&de-activated) [pbx_config] 6. Macro(hangupcall|) [pbx_config] '_*53.' => 1. Answer() [pbx_config] pbx*CLI> 2. Wait(1) [pbx_config] 3. Set(fromext=${EXTEN:3}) [pbx_config] 4. dbDel(CFU/${fromext}) [pbx_config] 5. Playback(call-fwd-no-ans&for&extension) [pbx_config] 6. SayDigits(${fromext}) [pbx_config] 7. Playback(cancelled) [pbx_config] pbx*CLI> 8. Macro(hangupcall|) [pbx_config] Include => 'app-cf-unavailable-off-custom' [pbx_config] [ Context 'app-cf-on' created by 'pbx_config' ] '*72' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] pbx*CLI> 3. Macro(user-callerid|) [pbx_config] 4. Playback(call-fwd-unconditional) [pbx_config] 5. Playback(please-enter-your&extension) [pbx_config] 6. Read(fromext|then-press-pound||||) [pbx_config] 7. Set(fromext=${IF($["foo${fromext}"="foo"]?${AMPUSER}:${fromext})}) [pbx_config] 8. Wait(1) [pbx_config] pbx*CLI> [startread] 9. Playback(ent-target-attendant) [pbx_config] 10. Read(toext|then-press-pound||||) [pbx_config] 11. GotoIf($["foo${toext}"="foo"]?startread) [pbx_config] 12. Wait(1) [pbx_config] 13. Set(DB(CF/${fromext})=${toext}) [pbx_config] pbx*CLI> 14. Playback(call-fwd-unconditional&for&extension) [pbx_config] 15. SayDigits(${fromext}) [pbx_config] 16. Playback(is-set-to) [pbx_config] 17. SayDigits(${toext}) [pbx_config] 18. Macro(hangupcall|) [pbx_config] '_*72.' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Macro(user-callerid|) [pbx_config] 4. Set(DB(CF/${AMPUSER})=${EXTEN:3}) [pbx_config] 5. Playback(call-fwd-unconditional&for&extension) [pbx_config] 6. SayDigits(${AMPUSER}) [pbx_config] 7. Playback(is-set-to) [pbx_config] 8. SayDigits(${EXTEN:3}) [pbx_config] 9. Macro(hangupcall|) [pbx_config] Include => 'app-cf-on-custom' [pbx_config] [ Context 'app-cf-off-any' created by 'pbx_config' ] pbx*CLI> '*74' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Playback(please-enter-your&extension) [pbx_config] 4. Read(fromext|then-press-pound||||) [pbx_config] pbx*CLI> 5. Wait(1) [pbx_config] 6. dbDel(CF/${fromext}) [pbx_config] 7. Playback(call-fwd-unconditional&for&extension) [pbx_config] 8. SayDigits(${fromext}) [pbx_config] 9. Playback(cancelled) [pbx_config] 10. Macro(hangupcall|) [pbx_config] pbx*CLI> Include => 'app-cf-off-any-custom' [pbx_config] [ Context 'app-cf-off' created by 'pbx_config' ] '*73' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Macro(user-callerid|) [pbx_config] pbx*CLI> 4. dbDel(CF/${AMPUSER}) [pbx_config] 5. Playback(call-fwd-unconditional&de-activated) [pbx_config] 6. Macro(hangupcall|) [pbx_config] '_*73.' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Set(fromext=${EXTEN:3}) [pbx_config] pbx*CLI> 4. dbDel(CF/${fromext}) [pbx_config] 5. Playback(call-fwd-unconditional&for&extension) [pbx_config] 6. SayDigits(${fromext}) [pbx_config] 7. Playback(cancelled) [pbx_config] 8. Macro(hangupcall|) [pbx_config] Include => 'app-cf-off-custom' [pbx_config] pbx*CLI> [ Context 'app-cf-busy-on' created by 'pbx_config' ] '*90' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Macro(user-callerid|) [pbx_config] 4. Playback(call-fwd-on-busy) [pbx_config] pbx*CLI> 5. Playback(please-enter-your&extension) [pbx_config] 6. Read(fromext|then-press-pound||||) [pbx_config] 7. Set(fromext=${IF($["foo${fromext}"="foo"]?${AMPUSER}:${fromext})}) [pbx_config] 8. Wait(1) [pbx_config] [startread] 9. Playback(ent-target-attendant) [pbx_config] 10. Read(toext|then-press-pound||||) [pbx_config] 11. GotoIf($["foo${toext}"="foo"]?startread) [pbx_config] 12. Wait(1) [pbx_config] 13. Set(DB(CFB/${fromext})=${toext}) [pbx_config] 14. Playback(call-fwd-on-busy&for&extension) [pbx_config] 15. SayDigits(${fromext}) [pbx_config] 16. Playback(is-set-to) [pbx_config] pbx*CLI> 17. SayDigits(${toext}) [pbx_config] 18. Macro(hangupcall|) [pbx_config] '_*90.' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Macro(user-callerid|) [pbx_config] pbx*CLI> 4. Set(DB(CFB/${AMPUSER})=${EXTEN:3}) [pbx_config] 5. Playback(call-fwd-on-busy&for&extension) [pbx_config] 6. SayDigits(${AMPUSER}) [pbx_config] 7. Playback(is-set-to) [pbx_config] 8. SayDigits(${EXTEN:3}) [pbx_config] pbx*CLI> 9. Macro(hangupcall|) [pbx_config] Include => 'app-cf-busy-on-custom' [pbx_config] [ Context 'app-cf-busy-off-any' created by 'pbx_config' ] '*92' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] pbx*CLI> 3. Playback(please-enter-your&extension) [pbx_config] 4. Read(fromext|then-press-pound||||) [pbx_config] 5. Wait(1) [pbx_config] 6. dbDel(CFB/${fromext}) [pbx_config] 7. Playback(call-fwd-on-busy&for&extension) [pbx_config] 8. SayDigits(${fromext}) [pbx_config] pbx*CLI> 9. Playback(cancelled) [pbx_config] 10. Macro(hangupcall|) [pbx_config] Include => 'app-cf-busy-off-any-custom' [pbx_config] [ Context 'app-cf-busy-off' created by 'pbx_config' ] '*91' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] pbx*CLI> 3. Macro(user-callerid|) [pbx_config] 4. dbDel(CFB/${AMPUSER}) [pbx_config] 5. Playback(call-fwd-on-busy&de-activated) [pbx_config] 6. Macro(hangupcall|) [pbx_config] '_*91.' => 1. Answer() [pbx_config] pbx*CLI> 2. Wait(1) [pbx_config] 3. Set(fromext=${EXTEN:3}) [pbx_config] 4. dbDel(CFB/${fromext}) [pbx_config] 5. Playback(call-fwd-on-busy&for&extension) [pbx_config] 6. SayDigits(${fromext}) [pbx_config] 7. Playback(cancelled) [pbx_config] pbx*CLI> 8. Macro(hangupcall|) [pbx_config] Include => 'app-cf-busy-off-custom' [pbx_config] [ Context 'app-dnd-on' created by 'pbx_config' ] '*78' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] pbx*CLI> 3. Macro(user-callerid|) [pbx_config] 4. Set(DB(DND/${AMPUSER})=YES) [pbx_config] 5. Playback(do-not-disturb&activated) [pbx_config] 6. Macro(hangupcall|) [pbx_config] Include => 'app-dnd-on-custom' [pbx_config] [ Context 'app-dnd-off' created by 'pbx_config' ] '*79' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Macro(user-callerid|) [pbx_config] 4. dbDel(DND/${AMPUSER}) [pbx_config] pbx*CLI> 5. Playback(do-not-disturb&de-activated) [pbx_config] 6. Macro(hangupcall|) [pbx_config] Include => 'app-dnd-off-custom' [pbx_config] [ Context 'cidlookup' created by 'pbx_config' ] pbx*CLI> 'cidlookup_return' => 1. LookupCIDName() [pbx_config] 2. Return() [pbx_config] Include => 'cidlookup-custom' [pbx_config] [ Context 'app-daynight-toggle' created by 'pbx_config' ] 's' => 1. Set(DAYNIGHTMODE=${DB(DAYNIGHT/C${INDEX})}) [pbx_config] 2. GotoIf($["${DAYNIGHTMODE}" = "NIGHT"]?day:night) [pbx_config] pbx*CLI> [day] 3. Set(DB(DAYNIGHT/C${INDEX})=DAY) [pbx_config] 4. Playback(beep&silence/1&day&reception&digits/${INDEX}&enabled) [pbx_config] 5. Hangup() [pbx_config] [night] 6. Set(DB(DAYNIGHT/C${INDEX})=NIGHT) [pbx_config] 7. Playback(beep&silence/1&beep&silence/1&day&reception&digits/${INDEX}&disabled) [pbx_config] pbx*CLI> 8. Hangup() [pbx_config] Include => 'app-daynight-toggle-custom' [pbx_config] [ Context 'app-callwaiting-cwon' created by 'pbx_config' ] '*70' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] pbx*CLI> 3. Macro(user-callerid|) [pbx_config] 4. Set(DB(CW/${AMPUSER})=ENABLED) [pbx_config] 5. Playback(call-waiting&activated) [pbx_config] 6. Macro(hangupcall|) [pbx_config] Include => 'app-callwaiting-cwon-custom' [pbx_config] [ Context 'app-callwaiting-cwoff' created by 'pbx_config' ] pbx*CLI> '*71' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Macro(user-callerid|) [pbx_config] 4. dbDel(CW/${AMPUSER}) [pbx_config] 5. Playback(call-waiting&de-activated) [pbx_config] pbx*CLI> 6. Macro(hangupcall|) [pbx_config] Include => 'app-callwaiting-cwoff-custom' [pbx_config] [ Context 'gabcast' created by 'pbx_config' ] 's' => 1. Dial(IAX2/iax.gabcast.com/422|120|tr) [pbx_config] '_X.' => 1. Dial(IAX2/iax.gabcast.com/422|120|tr) [pbx_config] Include => 'gabcast-custom' [pbx_config] pbx*CLI> [ Context 'app-gabcast' created by 'pbx_config' ] '*422' => 1. Macro(user-callerid|) [pbx_config] 2. Goto(gabcast|${AMPUSER}|1) [pbx_config] Include => 'app-gabcast-custom' [pbx_config] [ Context 'app-speeddial-set' created by 'pbx_config' ] '1' => 1. Playback(speed-dial) [pbx_config] 2. SayDigits(${newlocation}) [pbx_config] 3. Playback(is-set-to) [pbx_config] 4. SayDigits(${SPEEDDIALNUMBER}) [pbx_config] 5. Goto(s|conflicts) [pbx_config] '2' => 1. Goto(s|setloc) [pbx_config] pbx*CLI> '3' => 1. Goto(s|setnum) [pbx_config] 's' => 1. Macro(user-callerid|) [pbx_config] [setloc] 2. Read(newlocation|speed-enterlocation||||) [pbx_config] [lookup] 3. Macro(speeddial-lookup|${newlocation}|${AMPUSER}) [pbx_config] pbx*CLI> [lookup] 4. GotoIf($["${SPEEDDIALNUMBER}"!=""]?conflicts) [pbx_config] [setnum] 5. Read(newnum|speed-enternumber||||) [pbx_config] [success] 6. Set(DB(AMPUSER/${AMPUSER}/speeddials/${newlocation})=${newnum}) [pbx_config] 7. Playback(speed-dial) [pbx_config] 8. SayDigits(${newlocation}) [pbx_config] pbx*CLI> 9. Playback(is-set-to) [pbx_config] 10. SayDigits(${newnum}) [pbx_config] 11. Hangup() [pbx_config] [conflicts] 12. Playback(speed-dial) [pbx_config] 13. SayDigits(${newlocation}) [pbx_config] 14. Playback(is-in-use) [pbx_config] pbx*CLI> 15. Background(press-1&to-listen-to-it&press-2&to-enter-a-diff&location&press-3&to-change&telephone-number) [pbx_config] 16. WaitExten(60|) [pbx_config] 't' => 1. Congestion(20) [pbx_config] Include => 'app-speeddial-set-custom' [pbx_config] [ Context 'app-speeddial' created by 'pbx_config' ] pbx*CLI> '*75' => 1. Goto(app-speeddial-set|s|1) [pbx_config] '_*0.' => 1. Macro(user-callerid|) [pbx_config] 2. Set(SPEEDDIALLOCATION=${EXTEN:2}) [pbx_config] [lookup] 3. Macro(speeddial-lookup|${SPEEDDIALLOCATION}|${AMPUSER}) [pbx_config] 4. GotoIf($["${SPEEDDIALNUMBER}"=""]?failed) [pbx_config] 5. Dial(Local/${SPEEDDIALNUMBER}@from-internal/n|) [pbx_config] pbx*CLI> [failed] 104. Playback(speed-dial-empty) [pbx_config] 105. Congestion(20) [pbx_config] Include => 'app-speeddial-custom' [pbx_config] [ Context 'macro-speeddial-lookup' created by 'pbx_config' ] 's' => 1. GotoIf($["${ARG2}"=""]]?lookupsys) [pbx_config] pbx*CLI> 2. Set(SPEEDDIALNUMBER=) [pbx_config] [lookupuser] 3. Set(SPEEDDIALNUMBER=${DB(AMPUSER/${ARG2}/speeddials/${ARG1})}) [pbx_config] 4. GotoIf($["${SPEEDDIALNUMBER}"=""]?lookupsys) [pbx_config] 5. Noop(Found speeddial ${ARG1} for user ${ARG2}: ${SPEEDDIALNUMBER}) [pbx_config] 6. Goto(end) [pbx_config] pbx*CLI> [lookupsys] 104. Set(SPEEDDIALNUMBER=${DB(sysspeeddials/${ARG1})}) [pbx_config] 105. GotoIf($["${SPEEDDIALNUMBER}"=""]?failed) [pbx_config] 106. Noop(Found system speeddial ${ARG1}: ${SPEEDDIALNUMBER}) [pbx_config] 107. Goto(end) [pbx_config] [failed] 205. Noop(No system or user speeddial found) [pbx_config] pbx*CLI> [end] 206. Noop(End of Speeddial-lookup) [pbx_config] Include => 'macro-speeddial-lookup-custom' [pbx_config] [ Context 'app-vmmain' created by 'pbx_config' ] '*97' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Macro(user-callerid|) [pbx_config] 4. Macro(get-vmcontext|${AMPUSER}) [pbx_config] [check] 5. MailBoxExists(${AMPUSER}@${VMCONTEXT}) [pbx_config] 6. GotoIf($["${VMBOXEXISTSSTATUS}" = "SUCCESS"]?mbexist) [pbx_config] 7. VoiceMailMain() [pbx_config] 8. Macro(hangupcall|) [pbx_config] [mbexist] 106. VoiceMailMain(${AMPUSER}@${VMCONTEXT}) [pbx_config] 107. Macro(hangupcall|) [pbx_config] pbx*CLI> Include => 'app-vmmain-custom' [pbx_config] [ Context 'app-dialvm' created by 'pbx_config' ] '*98' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] pbx*CLI> 3. Macro(user-callerid|) [pbx_config] 4. VoiceMailMain() [pbx_config] 5. Macro(hangupcall|) [pbx_config] '_*98.' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] pbx*CLI> 3. Macro(get-vmcontext|${EXTEN:3}) [pbx_config] 4. VoiceMailMain(${EXTEN:3}@${VMCONTEXT}) [pbx_config] 5. Macro(hangupcall|) [pbx_config] Include => 'app-dialvm-custom' [pbx_config] [ Context 'app-speakingclock' created by 'pbx_config' ] '*60' => 1. Answer() [pbx_config] pbx*CLI> 2. Wait(1) [pbx_config] 3. Set(NumLoops=0) [pbx_config] [start] 4. Set(FutureTime=$[${EPOCH} + 11]) [pbx_config] 5. Playback(at-tone-time-exactly) [pbx_config] 6. GotoIf($["${TIMEFORMAT}" = "kM"]?hr24format) [pbx_config] pbx*CLI> 7. SayUnixTime(${FutureTime}||IM 'and' S 'seconds' p) [pbx_config] 8. Goto(waitloop) [pbx_config] [hr24format] 9. SayUnixTime(${FutureTime}||kM 'and' S 'seconds') [pbx_config] [waitloop] 10. Set(TimeLeft=$[${FutureTime} - ${EPOCH}]) [pbx_config] 11. GotoIf($[${TimeLeft} < 1]?playbeep) [pbx_config] pbx*CLI> 12. Wait(1) [pbx_config] 13. Goto(waitloop) [pbx_config] [playbeep] 14. Playback(beep) [pbx_config] 15. Wait(5) [pbx_config] 16. Set(NumLoops=$[${NumLoops} + 1]) [pbx_config] 17. GotoIf($[${NumLoops} < 5]?start) [pbx_config] pbx*CLI> 18. Playback(goodbye) [pbx_config] 19. Hangup() [pbx_config] Include => 'app-speakingclock-custom' [pbx_config] [ Context 'app-speakextennum' created by 'pbx_config' ] pbx*CLI> '*65' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Macro(user-callerid|) [pbx_config] 4. Playback(your) [pbx_config] 5. Playback(extension) [pbx_config] pbx*CLI> 6. Playback(number) [pbx_config] 7. Playback(is) [pbx_config] 8. SayDigits(${AMPUSER}) [pbx_config] 9. Wait(2) [pbx_config] 10. Hangup() [pbx_config] Include => 'app-speakextennum-custom' [pbx_config] [ Context 'app-echo-test' created by 'pbx_config' ] '*43' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Playback(demo-echotest) [pbx_config] 4. Echo() [pbx_config] 5. Playback(demo-echodone) [pbx_config] pbx*CLI> 6. Hangup() [pbx_config] Include => 'app-echo-test-custom' [pbx_config] [ Context 'app-directory' created by 'pbx_config' ] '#' => 1. Answer() [pbx_config] pbx*CLI> 2. Wait(1) [pbx_config] 3. AGI(directory|${DIR-CONTEXT}|from-did-direct|${DIRECTORY:0:1}${DIRECTORY_OPTS}) [pbx_config] 4. Playback(vm-goodbye) [pbx_config] 5. Hangup() [pbx_config] 'i' => 1. Playback(privacy-incorrect) [pbx_config] Include => 'app-directory-custom' [pbx_config] [ Context 'app-calltrace-perform' created by 'pbx_config' ] '1' => 1. Goto(from-internal|${lastcaller}|1) [pbx_config] 'i' => 1. Playback(vm-goodbye) [pbx_config] 2. Macro(hangupcall|) [pbx_config] pbx*CLI> 's' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Macro(user-callerid|) [pbx_config] 4. Playback(info-about-last-call&telephone-number) [pbx_config] pbx*CLI> 5. Set(lastcaller=${DB(CALLTRACE/${AMPUSER})}) [pbx_config] 6. GotoIf($[ $[ "${lastcaller}" = "" ] | $[ "${lastcaller}" = "unknown" ] ]?noinfo) [pbx_config] 7. SayDigits(${lastcaller}) [pbx_config] 8. Set(TIMEOUT(digit)=3) [pbx_config] 9. Set(TIMEOUT(response)=7) [pbx_config] 10. Background(to-call-this-number&press-1) [pbx_config] 11. Goto(fin) [pbx_config] [noinfo] 12. Playback(from-unknown-caller) [pbx_config] 13. Macro(hangupcall|) [pbx_config] [fin] 14. Noop(Waiting for input) [pbx_config] pbx*CLI> 15. WaitExten(60|) [pbx_config] 16. Playback(sorry-youre-having-problems&goodbye) [pbx_config] 't' => 1. Playback(vm-goodbye) [pbx_config] 2. Macro(hangupcall|) [pbx_config] pbx*CLI> Include => 'app-calltrace-perform-custom' [pbx_config] [ Context 'app-calltrace' created by 'pbx_config' ] '*69' => 1. Goto(app-calltrace-perform|s|1) [pbx_config] Include => 'app-calltrace-custom' [pbx_config] [ Context 'app-recordings' created by 'pbx_config' ] pbx*CLI> '*77' => 1. Macro(user-callerid|) [pbx_config] 2. Wait(2) [pbx_config] 3. Macro(systemrecording|dorecord) [pbx_config] '*99' => 1. Macro(user-callerid|) [pbx_config] 2. Wait(2) [pbx_config] 3. Macro(systemrecording|docheck) [pbx_config] Include => 'app-recordings-custom' [pbx_config] [ Context 'app-pbdirectory' created by 'pbx_config' ] '411' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Goto(pbdirectory|1) [pbx_config] 'hangup' => 1. Hangup() [pbx_config] 'pbdirectory' => 1. Macro(user-callerid|) [pbx_config] pbx*CLI> 2. AGI(pbdirectory) [pbx_config] 3. GotoIf($["${dialnumber}"=""]?hangup|1) [pbx_config] 4. Noop(Got number to dial: ${dialnumber}) [pbx_config] 5. Dial(Local/${dialnumber}@from-internal/n|) [pbx_config] Include => 'app-pbdirectory-custom' [pbx_config] pbx*CLI> [ Context 'app-blacklist-remove' created by 'pbx_config' ] '1' => 1. dbDel(blacklist/${blacknr}) [pbx_config] 2. Playback(num-was-successfully&removed) [pbx_config] 3. Wait(1) [pbx_config] 4. Hangup() [pbx_config] pbx*CLI> 's' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Playback(entr-num-rmv-blklist) [pbx_config] 4. Set(TIMEOUT(digit)=5) [pbx_config] 5. Set(TIMEOUT(response)=60) [pbx_config] pbx*CLI> 6. Read(blacknr|then-press-pound||||) [pbx_config] 7. SayDigits(${blacknr}) [pbx_config] 8. Playback(if-correct-press&digits/1) [pbx_config] 9. Noop(Waiting for input) [pbx_config] [end] 10. WaitExten(60|) [pbx_config] 11. Playback(sorry-youre-having-problems&goodbye) [pbx_config] pbx*CLI> Include => 'app-blacklist-remove-custom' [pbx_config] [ Context 'app-blacklist-last' created by 'pbx_config' ] '1' => 1. Set(DB(blacklist/${lastcaller})=1) [pbx_config] 2. Playback(num-was-successfully) [pbx_config] 3. Playback(added) [pbx_config] 4. Wait(1) [pbx_config] pbx*CLI> 5. Hangup() [pbx_config] 's' => 1. Answer() [pbx_config] 2. Wait(1) [pbx_config] 3. Set(lastcaller=${DB(CALLTRACE/${CALLERID(number)})}) [pbx_config] 4. GotoIf($[ $[ "${lastcaller}" = "" ] | $[ "${lastcaller}" = "unknown" ] ]?noinfo) [pbx_config] pbx*CLI> 5. Playback(privacy-to-blacklist-last-caller&telephone-number) [pbx_config] 6. SayDigits(${lastcaller}) [pbx_config] 7. Set(TIMEOUT(digit)=3) [pbx_config] 8. Set(TIMEOUT(response)=7) [pbx_config] 9. Playback(if-correct-press&digits/1) [pbx_config] pbx*CLI> 10. Goto(end) [pbx_config] [noinfo] 11. Playback(unidentified-no-callback) [pbx_config] 12. Hangup() [pbx_config] 13. Noop(Waiting for input) [pbx_config] [end] 14. WaitExten(60|) [pbx_config] 15. Playback(sorry-youre-having-problems&goodbye) [pbx_config] Include => 'app-blacklist-last-custom' [pbx_config] [ Context 'app-blacklist-add' created by 'pbx_config' ] '1' => 1. Set(DB(blacklist/${blacknr})=1) [pbx_config] 2. Playback(num-was-successfully&added) [pbx_config] 3. Wait(1) [pbx_config] 4. Hangup() [pbx_config] 's' => 1. Answer() [pbx_config] pbx*CLI> 2. Wait(1) [pbx_config] 3. Playback(enter-num-blacklist) [pbx_config] 4. Set(TIMEOUT(digit)=5) [pbx_config] 5. Set(TIMEOUT(response)=60) [pbx_config] pbx*CLI> 6. Read(blacknr|then-press-pound||||) [pbx_config] 7. SayDigits(${blacknr}) [pbx_config] 8. Playback(if-correct-press&digits/1) [pbx_config] 9. Noop(Waiting for input) [pbx_config] [end] 10. WaitExten(60|) [pbx_config] 11. Playback(sorry-youre-having-problems&goodbye) [pbx_config] pbx*CLI> Include => 'app-blacklist-add-custom' [pbx_config] [ Context 'app-blacklist' created by 'pbx_config' ] '*30' => 1. Goto(app-blacklist-add|s|1) [pbx_config] pbx*CLI> '*31' => 1. Goto(app-blacklist-remove|s|1) [pbx_config] pbx*CLI> '*32' => 1. Goto(app-blacklist-last|s|1) [pbx_config] Include => 'app-blacklist-custom' [pbx_config] [ Context 'app-blacklist-check' created by 'pbx_config' ] 's' => 1. LookupBlacklist() [pbx_config] 2. GotoIf($["${LOOKUPBLSTATUS}"="FOUND"]?blacklisted) [pbx_config] 3. Return() [pbx_config] pbx*CLI> [blacklisted] 4. Answer() [pbx_config] 5. Wait(1) [pbx_config] 6. Zapateller() [pbx_config] 7. Playback(ss-noservice) [pbx_config] pbx*CLI> 8. Hangup() [pbx_config] Include => 'app-blacklist-check-custom' [pbx_config] [ Context 'parkedcalls' created by 'res_features' ] '700' => 1. Park() [res_features] -= 269 extensions (1412 priorities) in 103 contexts. =- pbx*CLI> == Parsing '/etc/asterisk/manager.conf': Found == Parsing '/etc/asterisk/manager_additional.conf': Found == Parsing '/etc/asterisk/manager_custom.conf': Found == Connect attempt from '127.0.0.1' unable to authenticate pbx*CLI> == Parsing '/etc/asterisk/manager.conf': Found == Parsing '/etc/asterisk/manager_additional.conf': Found == Parsing '/etc/asterisk/manager_custom.conf': Found == Connect attempt from '127.0.0.1' unable to authenticate pbx*CLI> == Parsing '/etc/asterisk/manager.conf': Found pbx*CLI> == Parsing '/etc/asterisk/manager_additional.conf': Found pbx*CLI> == Parsing '/etc/asterisk/manager_custom.conf': Found pbx*CLI> == Connect attempt from '127.0.0.1' unable to authenticate pbx*CLI>