kyle95wm
Phone Genius Owner
- Joined
- Apr 16, 2016
- Messages
- 520
- Reaction score
- 90
So lately I've been playing with dial plan syntax and getting comfortable with it.
Today I thought I'd help out and improve the extension 864 a bit to use some of the Asterisk audio files (in my case I have Pat Fleet installed)
V2 of the code below has a problem about "anothertry"
Any suggestions on how I can further improve this will be appreciated. I'd like to use Flite as little as possible just to make the prompts sound better.
UPDATE: The error Im getting is:
Today I thought I'd help out and improve the extension 864 a bit to use some of the Asterisk audio files (in my case I have Pat Fleet installed)
exten => 864,1,Answer
exten => 864,n,Wait(2)
exten => 864,n,Playback(please-enter-your)
exten => 864,n,Playback(digits/8)
exten =>864,n,Playback(astcc-digit-account-number)
;exten => 864,n,Flite("Please enter your account number.")
exten => 864,n,Read(MYACCTNO,beep,8)
exten => 864,n,NoOp(ACCTNO: ${MYACCTNO})
exten => 864,n,Playback(please-enter-your)
exten => 864,n,Playback(digits/5)
exten => 864,n,Playback(digit)
exten => 864,n,Playback(access-code)
;exten => 864,n,Flite("Please enter your PIN.")
exten => 864,n,Read(MYPIN,beep,5)
exten => 864,n,NoOp(PIN: ${MYPIN})
exten => 864,n,Set(USERDATA=${ODBC_TRAVMAN4(${MYACCTNO})})
exten => 864,n,GotoIf($["${USERDATA},foo" = ",foo"]?notfound)
exten => 864,n,Set(ACCTNO=${CUT(USERDATA,\,,1)})
exten => 864,n,Set(PIN=${CUT(USERDATA,\,,2)})
exten => 864,n,GotoIf($["${MYPIN}" = "${PIN}"]?anothertry:notfound)
exten => 864,n(theanswer),Flite("Account number:")
exten => 864,n,SayDigits(${ACCTNO})
exten => 864,n,Flite("PIN:")
exten => 864,n,SayDigits(${PIN})
exten => 864,n,NoOp(Entry: ${ACCTNO} - ${PIN})
exten => 864,n(anothertry),Flite("After the beep. Please enter I.P. add dress using the star key for periods. Press pound key when finished.")
exten => 864,n,Read(MYIP,beep,16)
exten => 864,n,Flite("I.P. ADD DRESS:")
exten => 864,n,SayDigits(${MYIP})
exten => 864,n(confirm),Flite("After the beep. Press 1 to process this entry. Or press 2 to start over.")
exten => 864,n,Read(REPEAT,beep,1)
exten => 864,n,GotoIf($["${REPEAT}" = "2"]?anothertry)
exten => 864,n,GotoIf($["${REPEAT}" = "1"]?saveit)
exten => 864,n,Goto(confirm)
exten => 864,n,Flite("Entry aborted. Have a nice day. Good bye.")
exten => 864,n,Hangup
exten => 864,n(notfound),Flite("No matching entry on file. Good bye.")
exten => 864,n,Hangup
exten => 864,n(saveit),System(echo -e "${MYIP}" > /etc/asterisk/tm4/${ACCTNO})
exten => 864,n,Flite("Your I.P. address has been saved. An e mail will be sent when new address has been activated. Good bye.")
exten => 864,n,Hangup
exten => 864,n,Wait(2)
exten => 864,n,Playback(please-enter-your)
exten => 864,n,Playback(digits/8)
exten =>864,n,Playback(astcc-digit-account-number)
;exten => 864,n,Flite("Please enter your account number.")
exten => 864,n,Read(MYACCTNO,beep,8)
exten => 864,n,NoOp(ACCTNO: ${MYACCTNO})
exten => 864,n,Playback(please-enter-your)
exten => 864,n,Playback(digits/5)
exten => 864,n,Playback(digit)
exten => 864,n,Playback(access-code)
;exten => 864,n,Flite("Please enter your PIN.")
exten => 864,n,Read(MYPIN,beep,5)
exten => 864,n,NoOp(PIN: ${MYPIN})
exten => 864,n,Set(USERDATA=${ODBC_TRAVMAN4(${MYACCTNO})})
exten => 864,n,GotoIf($["${USERDATA},foo" = ",foo"]?notfound)
exten => 864,n,Set(ACCTNO=${CUT(USERDATA,\,,1)})
exten => 864,n,Set(PIN=${CUT(USERDATA,\,,2)})
exten => 864,n,GotoIf($["${MYPIN}" = "${PIN}"]?anothertry:notfound)
exten => 864,n(theanswer),Flite("Account number:")
exten => 864,n,SayDigits(${ACCTNO})
exten => 864,n,Flite("PIN:")
exten => 864,n,SayDigits(${PIN})
exten => 864,n,NoOp(Entry: ${ACCTNO} - ${PIN})
exten => 864,n(anothertry),Flite("After the beep. Please enter I.P. add dress using the star key for periods. Press pound key when finished.")
exten => 864,n,Read(MYIP,beep,16)
exten => 864,n,Flite("I.P. ADD DRESS:")
exten => 864,n,SayDigits(${MYIP})
exten => 864,n(confirm),Flite("After the beep. Press 1 to process this entry. Or press 2 to start over.")
exten => 864,n,Read(REPEAT,beep,1)
exten => 864,n,GotoIf($["${REPEAT}" = "2"]?anothertry)
exten => 864,n,GotoIf($["${REPEAT}" = "1"]?saveit)
exten => 864,n,Goto(confirm)
exten => 864,n,Flite("Entry aborted. Have a nice day. Good bye.")
exten => 864,n,Hangup
exten => 864,n(notfound),Flite("No matching entry on file. Good bye.")
exten => 864,n,Hangup
exten => 864,n(saveit),System(echo -e "${MYIP}" > /etc/asterisk/tm4/${ACCTNO})
exten => 864,n,Flite("Your I.P. address has been saved. An e mail will be sent when new address has been activated. Good bye.")
exten => 864,n,Hangup
V2 of the code below has a problem about "anothertry"
exten => 864,1,Answer
exten => 864,n,Wait(2)
exten => 864,n,Playback(please-enter-your)
exten => 864,n,Playback(digits/8)
exten =>864,n,Playback(astcc-digit-account-number)
;exten => 864,n,Flite("Please enter your account number.")
exten => 864,n,Read(MYACCTNO,beep,8)
exten => 864,n,NoOp(ACCTNO: ${MYACCTNO})
exten => 864,n,Playback(please-enter-your)
exten => 864,n,Playback(digits/5)
exten => 864,n,Playback(digit)
exten => 864,n,Playback(access-code)
;exten => 864,n,Flite("Please enter your PIN.")
exten => 864,n,Read(MYPIN,beep,5)
exten => 864,n,NoOp(PIN: ${MYPIN})
exten => 864,n,Set(USERDATA=${ODBC_TRAVMAN4(${MYACCTNO})})
exten => 864,n,GotoIf($["${USERDATA},foo" = ",foo"]?notfound)
exten => 864,n,Set(ACCTNO=${CUT(USERDATA,\,,1)})
exten => 864,n,Set(PIN=${CUT(USERDATA,\,,2)})
exten => 864,n,GotoIf($["${MYPIN}" = "${PIN}"]?anothertry:notfound)
exten => 864,n(theanswer),Flite("Account number:")
exten => 864,n,SayDigits(${ACCTNO})
exten => 864,n,Flite("PIN:")
exten => 864,n,SayDigits(${PIN})
exten => 864,n,NoOp(Entry: ${ACCTNO} - ${PIN})
exten => 864,n,Playback(after-the-tone)
exten => 864,n,Playback(please-enter-the)
exten => 864,n,Playback(letters/i)
exten => 864,n,Playback(letters/p)
exten => 864,n,Playback(address)
exten => 864,n,Wait(1)
exten => 864,n,Playback(for)
exten => 864,n,Playback(period)
exten => 864,n,Playback(press-star)
;exten => 864,n(anothertry),Flite("After the beep. Please enter I.P. add dress using the star key for periods. Press pound key when finished.")
exten => 864,n,Read(MYIP,beep,16)
exten => 864,n,Playback(you-entered)
;exten => 864,n,Flite("I.P. ADD DRESS:")
exten => 864,n,SayDigits(${MYIP})
exten => 864,n(confirm),Flite("After the beep. Press 1 to process this entry. Or press 2 to start over.")
exten => 864,n,Read(REPEAT,beep,1)
exten => 864,n,GotoIf($["${REPEAT}" = "2"]?anothertry)
exten => 864,n,GotoIf($["${REPEAT}" = "1"]?saveit)
exten => 864,n,Goto(confirm)
exten => 864,n,Flite("Entry aborted. Have a nice day. Good bye.")
exten => 864,n,Hangup
exten => 864,n(notfound),Flite("No matching entry on file. Good bye.")
exten => 864,n,Hangup
exten => 864,n(saveit),System(echo -e "${MYIP}" > /etc/asterisk/tm4/${ACCTNO})
exten => 864,n,Flite("Your I.P. address has been saved. An e mail will be sent when new address has been activated. Good bye.")
exten => 864,n,Hangup
exten => 864,n,Wait(2)
exten => 864,n,Playback(please-enter-your)
exten => 864,n,Playback(digits/8)
exten =>864,n,Playback(astcc-digit-account-number)
;exten => 864,n,Flite("Please enter your account number.")
exten => 864,n,Read(MYACCTNO,beep,8)
exten => 864,n,NoOp(ACCTNO: ${MYACCTNO})
exten => 864,n,Playback(please-enter-your)
exten => 864,n,Playback(digits/5)
exten => 864,n,Playback(digit)
exten => 864,n,Playback(access-code)
;exten => 864,n,Flite("Please enter your PIN.")
exten => 864,n,Read(MYPIN,beep,5)
exten => 864,n,NoOp(PIN: ${MYPIN})
exten => 864,n,Set(USERDATA=${ODBC_TRAVMAN4(${MYACCTNO})})
exten => 864,n,GotoIf($["${USERDATA},foo" = ",foo"]?notfound)
exten => 864,n,Set(ACCTNO=${CUT(USERDATA,\,,1)})
exten => 864,n,Set(PIN=${CUT(USERDATA,\,,2)})
exten => 864,n,GotoIf($["${MYPIN}" = "${PIN}"]?anothertry:notfound)
exten => 864,n(theanswer),Flite("Account number:")
exten => 864,n,SayDigits(${ACCTNO})
exten => 864,n,Flite("PIN:")
exten => 864,n,SayDigits(${PIN})
exten => 864,n,NoOp(Entry: ${ACCTNO} - ${PIN})
exten => 864,n,Playback(after-the-tone)
exten => 864,n,Playback(please-enter-the)
exten => 864,n,Playback(letters/i)
exten => 864,n,Playback(letters/p)
exten => 864,n,Playback(address)
exten => 864,n,Wait(1)
exten => 864,n,Playback(for)
exten => 864,n,Playback(period)
exten => 864,n,Playback(press-star)
;exten => 864,n(anothertry),Flite("After the beep. Please enter I.P. add dress using the star key for periods. Press pound key when finished.")
exten => 864,n,Read(MYIP,beep,16)
exten => 864,n,Playback(you-entered)
;exten => 864,n,Flite("I.P. ADD DRESS:")
exten => 864,n,SayDigits(${MYIP})
exten => 864,n(confirm),Flite("After the beep. Press 1 to process this entry. Or press 2 to start over.")
exten => 864,n,Read(REPEAT,beep,1)
exten => 864,n,GotoIf($["${REPEAT}" = "2"]?anothertry)
exten => 864,n,GotoIf($["${REPEAT}" = "1"]?saveit)
exten => 864,n,Goto(confirm)
exten => 864,n,Flite("Entry aborted. Have a nice day. Good bye.")
exten => 864,n,Hangup
exten => 864,n(notfound),Flite("No matching entry on file. Good bye.")
exten => 864,n,Hangup
exten => 864,n(saveit),System(echo -e "${MYIP}" > /etc/asterisk/tm4/${ACCTNO})
exten => 864,n,Flite("Your I.P. address has been saved. An e mail will be sent when new address has been activated. Good bye.")
exten => 864,n,Hangup
Any suggestions on how I can further improve this will be appreciated. I'd like to use Flite as little as possible just to make the prompts sound better.
UPDATE: The error Im getting is:
Code:
-- User entered '12345'
-- Executing [864@from-internal:13] NoOp("SIP/201-0000001d", "PIN: 12345") in new stack
-- Executing [864@from-internal:14] Set("SIP/201-0000001d", "USERDATA=12345678,12345,0") in new stack
-- Executing [864@from-internal:15] GotoIf("SIP/201-0000001d", "0?notfound") in new stack
-- Executing [864@from-internal:16] Set("SIP/201-0000001d", "ACCTNO=12345678") in new stack
-- Executing [864@from-internal:17] Set("SIP/201-0000001d", "PIN=12345") in new stack
-- Executing [864@from-internal:18] GotoIf("SIP/201-0000001d", "1?anothertry:notfound") in new stack
[2016-09-29 20:51:17] NOTICE[8521][C-0000001e]: pbx.c:2867 pbx_extension_helper: No such label 'anothertry' in extension '864' in context 'from-internal'
[2016-09-29 20:51:17] WARNING[8521][C-0000001e]: pbx.c:8472 pbx_parseable_goto: Priority 'anothertry' must be a number > 0, or valid label
== Spawn extension (from-internal, 864, 18) exited non-zero on 'SIP/201-0000001d'
-- Executing [h@from-internal:1] Hangup("SIP/201-0000001d", "") in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/201-0000001d'
Last edited: