Skip to main content

Call Confirmation fails when cell phone is OFF

Posted by beedsley on Mon, 05/18/2009

Just upgraded to PBXManager 6.0.1.72(MTE) and had this issue come up.

Details:

When dialing an extension in the IVR, it ring the extension and then the cell phone, then drops the call.
When a call is answered and blind transferred to the extension, the same behavior is experienced.
When dialing a DID that rings the extension directly, the same behavior is experienced, except instead of a dropped call, we get a busy signal(not fast busy)

This is affects all our MTE customers with this feature enabled.

P.S.: Since upgrading the check box for Call Confirmation is still there, but the text is missing describing the feature.


Submitted by thirdlane on Mon, 05/18/2009 Permalink

Could you please send a CLI trace? Also - what would you consider the "correct" behavior when call is rejected?

Submitted by beedsley on Mon, 05/18/2009 Permalink

Correct behavior would be for the system to pull the call back so the caller can leave a voicemail in that extension's mailbox.

I'll attach a CLI trace shortly.

Submitted by beedsley on Mon, 05/18/2009 Permalink

-- Executing [s@macro-tl-userexten-base:162] Dial("SIP/1.2.3.4-096d1a18", "SIP/108-Company|10|rtT") in new stack

-- Called 108-Company

-- SIP/108-Company-09880448 is ringing

-- Executing [s@macro-tl-userexten-base:163] Goto("SIP/1.2.3.4-096d1a18", "s-orig-NOANSWER|1") in new stack

-- Goto (macro-tl-userexten-base,s-orig-NOANSWER,1)

-- Executing [s-orig-NOANSWER@macro-tl-userexten-base:1] Goto("SIP/1.2.3.4-096d1a18", "s-NA|1") in new stack

-- Goto (macro-tl-userexten-base,s-NA,1)

-- Executing [s-NA@macro-tl-userexten-base:1] GotoIf("SIP/1.2.3.4-096d1a18", "0?s-exit|1") in new stack

-- Executing [s-NA@macro-tl-userexten-base:2] GotoIf("SIP/1.2.3.4-096d1a18", "0?s-NA-VOICEMAIL|1") in new stack

-- Executing [s-NA@macro-tl-userexten-base:3] GotoIf("SIP/1.2.3.4-096d1a18", "1?strategy") in new stack

-- Goto (macro-tl-userexten-base,s-NA,5)

-- Executing [s-NA@macro-tl-userexten-base:5] Set("SIP/1.2.3.4-096d1a18", "STRATEGY=1") in new stack

-- Executing [s-NA@macro-tl-userexten-base:6] GotoIf("SIP/1.2.3.4-096d1a18", "0?s-seq|1:s-all|1") in new stack

-- Goto (macro-tl-userexten-base,s-all,1)

-- Executing [s-all@macro-tl-userexten-base:1] Set("SIP/1.2.3.4-096d1a18", "amp=") in new stack

-- Executing [s-all@macro-tl-userexten-base:2] GotoIf("SIP/1.2.3.4-096d1a18", "0?bypass1") in new stack

-- Executing [s-all@macro-tl-userexten-base:3] GotoIf("SIP/1.2.3.4-096d1a18", "0?bypass1") in new stack

-- Executing [s-all@macro-tl-userexten-base:4] Set("SIP/1.2.3.4-096d1a18", "CONFIRM_OPTIONS=M(tl-confirm-call-acceptance)") in new stack

-- Executing [s-all@macro-tl-userexten-base:5] Set("SIP/1.2.3.4-096d1a18", "WHOLE_STRING=") in new stack

-- Executing [s-all@macro-tl-userexten-base:6] Set("SIP/1.2.3.4-096d1a18", "TIMEOUT=10") in new stack

-- Executing [s-all@macro-tl-userexten-base:7] GotoIf("SIP/1.2.3.4-096d1a18", "1?dontcallorig") in new stack

-- Goto (macro-tl-userexten-base,s-all,13)

-- Executing [s-all@macro-tl-userexten-base:13] Set("SIP/1.2.3.4-096d1a18", "i=1") in new stack

-- Executing [s-all@macro-tl-userexten-base:14] Set("SIP/1.2.3.4-096d1a18", "ONE_NUM=1234567890") in new stack

-- Executing [s-all@macro-tl-userexten-base:15] GotoIf("SIP/1.2.3.4-096d1a18", "0?dial") in new stack

-- Executing [s-all@macro-tl-userexten-base:16] Set("SIP/1.2.3.4-096d1a18", "WHOLE_STRING="Local/1234567890@from-inside-Company"") in new stack

-- Executing [s-all@macro-tl-userexten-base:17] Set("SIP/1.2.3.4-096d1a18", "amp=&") in new stack

-- Executing [s-all@macro-tl-userexten-base:18] Set("SIP/1.2.3.4-096d1a18", "i=2") in new stack

-- Executing [s-all@macro-tl-userexten-base:19] Goto("SIP/1.2.3.4-096d1a18", "s-all|onenum") in new stack

-- Goto (macro-tl-userexten-base,s-all,14)

-- Executing [s-all@macro-tl-userexten-base:14] Set("SIP/1.2.3.4-096d1a18", "ONE_NUM=") in new stack

-- Executing [s-all@macro-tl-userexten-base:15] GotoIf("SIP/1.2.3.4-096d1a18", "1?dial") in new stack

-- Goto (macro-tl-userexten-base,s-all,21)

-- Executing [s-all@macro-tl-userexten-base:21] Dial("SIP/1.2.3.4-096d1a18", "Local/1234567890@from-inside-Company|10|rtTM(tl-confirm-call-acceptance)") in new stack

-- Called 1234567890@from-inside-Company

-- Executing [1234567890@from-inside-Company:1] Macro("Local/1234567890@from-inside-Company-50b1,2", "tl-set-variables2|from-inside-redir-Company|Company") in new stack

-- Executing [s@macro-tl-set-variables2:1] Set("Local/1234567890@from-inside-Company-50b1,2", "__tenant=Company") in new stack

-- Executing [s@macro-tl-set-variables2:2] Set("Local/1234567890@from-inside-Company-50b1,2", "CDR(userfield)=Company") in new stack

-- Executing [s@macro-tl-set-variables2:3] Set("Local/1234567890@from-inside-Company-50b1,2", "__FROM_INSIDE=1") in new stack

-- Executing [s@macro-tl-set-variables2:4] Set("Local/1234567890@from-inside-Company-50b1,2", "__MOH=default-Company") in new stack

-- Executing [s@macro-tl-set-variables2:5] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "1 ?setmoh") in new stack

-- Goto (macro-tl-set-variables2,s,7)

-- Executing [s@macro-tl-set-variables2:7] SetMusicOnHold("Local/1234567890@from-inside-Company-50b1,2", "default-Company") in new stack

-- Executing [s@macro-tl-set-variables2:8] Goto("Local/1234567890@from-inside-Company-50b1,2", "from-inside-redir-Company|1234567890|1") in new stack

-- Goto (from-inside-redir-Company,1234567890,1)

== Channel 'Local/1234567890@from-inside-Company-50b1,2' jumping out of macro 'tl-set-variables2'

-- Executing [1234567890@from-inside-redir-Company:1] Macro("Local/1234567890@from-inside-Company-50b1,2", "tl-dialout-1-trunk|90|SIP/Carrier|||") in new stack

-- Executing [s@macro-tl-dialout-1-trunk:1] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "0?dial") in new stack

-- Executing [s@macro-tl-dialout-1-trunk:2] Set("Local/1234567890@from-inside-Company-50b1,2", "__DIALED_NUMBER=1234567890") in new stack

-- Executing [s@macro-tl-dialout-1-trunk:3] Macro("Local/1234567890@from-inside-Company-50b1,2", "tl-dialout-base|90|SIP/Carrier|||") in new stack

-- Executing [s@macro-tl-dialout-base:1] Set("Local/1234567890@from-inside-Company-50b1,2", "status=1") in new stack

-- Executing [s@macro-tl-dialout-base:2] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "1?enabled") in new stack

-- Goto (macro-tl-dialout-base,s,5)

-- Executing [s@macro-tl-dialout-base:5] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "1?allclear") in new stack

-- Goto (macro-tl-dialout-base,s,13)

-- Executing [s@macro-tl-dialout-base:13] Set("Local/1234567890@from-inside-Company-50b1,2", "i=2") in new stack

-- Executing [s@macro-tl-dialout-base:14] Macro("Local/1234567890@from-inside-Company-50b1,2", "tl-set-myvariables") in new stack

-- Executing [s@macro-tl-set-myvariables:1] Set("Local/1234567890@from-inside-Company-50b1,2", "MY_CHAN=1234567890@from-inside-Company-50b1,2") in new stack

-- Executing [s@macro-tl-set-myvariables:2] NoOp("Local/1234567890@from-inside-Company-50b1,2", "THECHANNEL=Local/1234567890@from-inside-Company-50b1,2") in new stack

-- Executing [s@macro-tl-set-myvariables:3] Set("Local/1234567890@from-inside-Company-50b1,2", "zap=0") in new stack

-- Executing [s@macro-tl-set-myvariables:4] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "1?usechannel") in new stack

-- Goto (macro-tl-set-myvariables,s,9)

-- Executing [s@macro-tl-set-myvariables:9] Set("Local/1234567890@from-inside-Company-50b1,2", "local=1") in new stack

-- Executing [s@macro-tl-set-myvariables:10] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "0?useit") in new stack

-- Executing [s@macro-tl-set-myvariables:11] MacroExit("Local/1234567890@from-inside-Company-50b1,2", "") in new stack

-- Executing [s@macro-tl-dialout-base:15] SetAMAFlags("Local/1234567890@from-inside-Company-50b1,2", "billing") in new stack

-- Executing [s@macro-tl-dialout-base:16] Set("Local/1234567890@from-inside-Company-50b1,2", "RECORD=") in new stack

-- Executing [s@macro-tl-dialout-base:17] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "1?done_checkrecord") in new stack

-- Goto (macro-tl-dialout-base,s,26)

-- Executing [s@macro-tl-dialout-base:26] NoOp("Local/1234567890@from-inside-Company-50b1,2", "RECORD=") in new stack

-- Executing [s@macro-tl-dialout-base:27] NoOp("Local/1234567890@from-inside-Company-50b1,2", "TOUCH_MONITOR=") in new stack

-- Executing [s@macro-tl-dialout-base:28] NoOp("Local/1234567890@from-inside-Company-50b1,2", "RECORD_OPTIONS=") in new stack

-- Executing [s@macro-tl-dialout-base:29] NoOp("Local/1234567890@from-inside-Company-50b1,2", "RECORDING_FORMAT=WAV") in new stack

-- Executing [s@macro-tl-dialout-base:30] Set("Local/1234567890@from-inside-Company-50b1,2", "CALLERID(name)=") in new stack

-- Executing [s@macro-tl-dialout-base:31] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "0?calleridallowed") in new stack

-- Executing [s@macro-tl-dialout-base:32] Set("Local/1234567890@from-inside-Company-50b1,2", "temp=") in new stack

-- Executing [s@macro-tl-dialout-base:33] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "1?accountcodeallowed") in new stack

-- Goto (macro-tl-dialout-base,s,35)

-- Executing [s@macro-tl-dialout-base:35] Set("Local/1234567890@from-inside-Company-50b1,2", "CALLERID(num)=") in new stack

-- Executing [s@macro-tl-dialout-base:36] Set("Local/1234567890@from-inside-Company-50b1,2", "temp=1") in new stack

-- Executing [s@macro-tl-dialout-base:37] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "1?calleridallowed") in new stack

-- Goto (macro-tl-dialout-base,s,39)

-- Executing [s@macro-tl-dialout-base:39] NoOp("Local/1234567890@from-inside-Company-50b1,2", "CLIMYID=Company-108") in new stack

-- Executing [s@macro-tl-dialout-base:40] NoOp("Local/1234567890@from-inside-Company-50b1,2", "MYID=Company-1.2.3.4") in new stack

-- Executing [s@macro-tl-dialout-base:41] Set("Local/1234567890@from-inside-Company-50b1,2", "CLI=14254583283") in new stack

-- Executing [s@macro-tl-dialout-base:42] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "1?chkcallfwd") in new stack

-- Goto (macro-tl-dialout-base,s,47)

-- Executing [s@macro-tl-dialout-base:47] NoOp("Local/1234567890@from-inside-Company-50b1,2", "MYID=Company-1.2.3.4") in new stack

-- Executing [s@macro-tl-dialout-base:48] NoOp("Local/1234567890@from-inside-Company-50b1,2", "INCOMINGCLI=4256811121") in new stack

-- Executing [s@macro-tl-dialout-base:49] NoOp("Local/1234567890@from-inside-Company-50b1,2", "CALLFWD=1") in new stack

-- Executing [s@macro-tl-dialout-base:50] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "0?setcalleridasabove") in new stack

-- Executing [s@macro-tl-dialout-base:51] Set("Local/1234567890@from-inside-Company-50b1,2", "CDR(accountcode)=Company") in new stack

-- Executing [s@macro-tl-dialout-base:52] NoOp("Local/1234567890@from-inside-Company-50b1,2", "CFRETAINCLI=TL/Company-108/CFRETAINCLI") in new stack

-- Executing [s@macro-tl-dialout-base:53] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "0?setcalleridasabove") in new stack

-- Executing [s@macro-tl-dialout-base:54] Set("Local/1234567890@from-inside-Company-50b1,2", "ALLOW_INCOMINGCLI=1") in new stack

-- Executing [s@macro-tl-dialout-base:55] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "0?setcalleridasabove") in new stack

-- Executing [s@macro-tl-dialout-base:56] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "0?setcalleridasabove") in new stack

-- Executing [s@macro-tl-dialout-base:57] Set("Local/1234567890@from-inside-Company-50b1,2", "CLI=4256811121") in new stack

-- Executing [s@macro-tl-dialout-base:58] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "0?nocallerid") in new stack

-- Executing [s@macro-tl-dialout-base:59] Set("Local/1234567890@from-inside-Company-50b1,2", "CALLERID(num)=4256811121") in new stack

-- Executing [s@macro-tl-dialout-base:60] Set("Local/1234567890@from-inside-Company-50b1,2", "temp=") in new stack

-- Executing [s@macro-tl-dialout-base:61] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "1?onetrunk|1") in new stack

-- Goto (macro-tl-dialout-base,onetrunk,1)

-- Executing [onetrunk@macro-tl-dialout-base:1] Set("Local/1234567890@from-inside-Company-50b1,2", "FULLNAME=SIP/Carrier") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:2] Set("Local/1234567890@from-inside-Company-50b1,2", "TRUNK=Carrier") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:3] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "0?failed|1") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:4] Set("Local/1234567890@from-inside-Company-50b1,2", "TRUNK_STATUS=1") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:5] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "0?next|1") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:6] Set("Local/1234567890@from-inside-Company-50b1,2", "ROUTE_PREPEND=") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:7] Set("Local/1234567890@from-inside-Company-50b1,2", "ROUTE_STRIP=") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:8] Set("Local/1234567890@from-inside-Company-50b1,2", "ROUTE_OPTIONS=") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:9] Set("Local/1234567890@from-inside-Company-50b1,2", "NUMBER_TO_DIAL=1234567890") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:10] Set("Local/1234567890@from-inside-Company-50b1,2", "TRUNK_DIALSTRING=") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:11] Set("Local/1234567890@from-inside-Company-50b1,2", "TRUNK_NAME=Carrier") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:12] Set("Local/1234567890@from-inside-Company-50b1,2", "TRUNK_PROTOCOL=SIP") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:13] Set("Local/1234567890@from-inside-Company-50b1,2", "TRUNK_STRIP=0") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:14] Set("Local/1234567890@from-inside-Company-50b1,2", "TRUNK_PREPEND=") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:15] Set("Local/1234567890@from-inside-Company-50b1,2", "CALLERID(num)=4256811121") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:16] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "0?dial-CUSTOM|1") in new stack

-- Executing [onetrunk@macro-tl-dialout-base:17] Goto("Local/1234567890@from-inside-Company-50b1,2", "dial-SIP|1") in new stack

-- Goto (macro-tl-dialout-base,dial-SIP,1)

-- Executing [dial-SIP@macro-tl-dialout-base:1] Set("Local/1234567890@from-inside-Company-50b1,2", "headernum=1") in new stack

-- Executing [dial-SIP@macro-tl-dialout-base:2] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "0?:routeoptions") in new stack

-- Goto (macro-tl-dialout-base,dial-SIP,7)

-- Executing [dial-SIP@macro-tl-dialout-base:7] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "1?NoOpt") in new stack

-- Goto (macro-tl-dialout-base,dial-SIP,10)

-- Executing [dial-SIP@macro-tl-dialout-base:10] GotoIf("Local/1234567890@from-inside-Company-50b1,2", "0?noarg") in new stack

-- Executing [dial-SIP@macro-tl-dialout-base:11] Dial("Local/1234567890@from-inside-Company-50b1,2", "SIP/1234567890@Carrier|90") in new stack

-- Called 1234567890@Carrier

-- SIP/Carrier-09896e48 is making progress passing it to Local/1234567890@from-inside-Company-50b1,2

-- Local/1234567890@from-inside-Company-50b1,1 is making progress passing it to SIP/1.2.3.4-096d1a18

-- SIP/Carrier-09896e48 answered Local/1234567890@from-inside-Company-50b1,2

-- Local/1234567890@from-inside-Company-50b1,1 answered SIP/1.2.3.4-096d1a18

-- Executing [s@macro-tl-confirm-call-acceptance:1] Wait("Local/1234567890@from-inside-Company-50b1,1", "0.5") in new stack

-- Executing [s@macro-tl-confirm-call-acceptance:2] Read("Local/1234567890@from-inside-Company-50b1,1", "INPUT|tl/incoming-call-accept-decline|1||1|10") in new stack

-- Accepting a maximum of 1 digits.

-- Playing 'tl/incoming-call-accept-decline' (language 'en')

== Spawn extension (macro-tl-dialout-base, dial-SIP, 11) exited non-zero on 'Local/1234567890@from-inside-Company-50b1,2' in macro 'tl-dialout-base'

== Spawn extension (macro-tl-dialout-1-trunk, s, 3) exited non-zero on 'Local/1234567890@from-inside-Company-50b1,2' in macro 'tl-dialout-1-trunk'

== Spawn extension (from-inside-redir-Company, 1234567890, 1) exited non-zero on 'Local/1234567890@from-inside-Company-50b1,2'

-- Executing [h@from-inside-redir-Company:1] Hangup("Local/1234567890@from-inside-Company-50b1,2", "") in new stack

== Spawn extension (from-inside-redir-Company, h, 1) exited non-zero on 'Local/1234567890@from-inside-Company-50b1,2'

-- Timeout on SIP/1.2.3.4-096b8138

== CDR updated on SIP/1.2.3.4-096b8138

-- Executing [s@macro-tl-confirm-call-acceptance:3] GotoIf("SIP/Carrier-09896e48", "1?noanswer") in new stack

-- Goto (macro-tl-confirm-call-acceptance,s,6)

-- Executing [s@macro-tl-confirm-call-acceptance:6] Set("SIP/Carrier-09896e48", "__MACRO_RESULT=ABORT") in new stack

-- Executing [s@macro-tl-confirm-call-acceptance:7] NoOp("SIP/Carrier-09896e48", "") in new stack

== Spawn extension (macro-tl-userexten-base, s-all, 21) exited non-zero on 'SIP/1.2.3.4-096d1a18' in macro 'tl-userexten-base'

== Spawn extension (macro-tl-stdexten, s, 5) exited non-zero on 'SIP/1.2.3.4-096d1a18' in macro 'tl-stdexten'

== Spawn extension (local-extensions-Company, 108, 1) exited non-zero on 'SIP/1.2.3.4-096d1a18'

Submitted by beedsley on Tue, 05/19/2009 Permalink

Kudo's to Alex.

He worked with us for quite awhile today to track down this Asterisk error.

He quickly rewrote the tl-confirm-call-acceptance script, changing ABORT to BUSY:

exten => s,1,Wait(0.5)

exten => s,n,Read(INPUT,tl/incoming-call-accept-decline,1,,1,10)

exten => s,n,GotoIf($["${INPUT}"!="1"]?noanswer)

exten => s,n,Set(__MACRO_RESULT=)

exten => s,n,Goto(finished)

exten => s,n(noanswer),Set(__MACRO_RESULT=BUSY)

exten => s,n(finished),NoOp

Now it works as perfectly.

I believe this change will show on the next version of the scripts.

Timely response and Great work Alex, much appreciated.