Paging pro announcement goes on hold after 16 seconds

Howdy,

I am trying to create a emergency evacuation page/intercom that pages all phones ( and a couple SNOM-PA1s ) and broadcasts a emergency evac announcement, trying to play for around 2 minutes. After exactly 16 seconds i see this in the console

== Spawn extension (app-paging, PAGE100, 7) exited non-zero on ‘Local/PAGE100@app-paging-000005ad;2’

and the page call is placed on hold, if i press resume it will pick up where it left off.

Any assistance appreciated on getting this not to go on hold or better way to do achieve this

cheers

One line from the log won’t tell us anything. Show the full call.

no worries

== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
> 0xb149c100 – Strict RTP learning after remote address set to: 192.168.3.25:11852
– Executing [119@from-internal:1] Goto(“SIP/101-0000154f”, “app-pagegroups,119,1”) in new stack
– Goto (app-pagegroups,119,1)
– Executing [119@app-pagegroups:1] Macro(“SIP/101-0000154f”, “user-callerid,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“SIP/101-0000154f”, “TOUCH_MONITOR=1545088175.20594”) in new stack
– Executing [s@macro-user-callerid:2] Set(“SIP/101-0000154f”, “AMPUSER=101”) in new stack
– Executing [s@macro-user-callerid:3] GotoIf(“SIP/101-0000154f”, “0?report”) in new stack
– Executing [s@macro-user-callerid:4] ExecIf(“SIP/101-0000154f”, “1?Set(REALCALLERIDNUM=101)”) in new stack
– Executing [s@macro-user-callerid:5] Set(“SIP/101-0000154f”, “AMPUSER=101”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“SIP/101-0000154f”, “0?limit”) in new stack
– Executing [s@macro-user-callerid:7] Set(“SIP/101-0000154f”, “AMPUSERCIDNAME=CT TEST 2”) in new stack
– Executing [s@macro-user-callerid:8] ExecIf(“SIP/101-0000154f”, “0?Set(__CIDMASQUERADING=TRUE)”) in new stack
– Executing [s@macro-user-callerid:9] GotoIf(“SIP/101-0000154f”, “0?report”) in new stack
– Executing [s@macro-user-callerid:10] Set(“SIP/101-0000154f”, “AMPUSERCID=101”) in new stack
– Executing [s@macro-user-callerid:11] Set(“SIP/101-0000154f”, “__DIAL_OPTIONS=Ttr”) in new stack
– Executing [s@macro-user-callerid:12] Set(“SIP/101-0000154f”, “CALLERID(all)=“CT TEST 2” <101>”) in new stack
– Executing [s@macro-user-callerid:13] GotoIf(“SIP/101-0000154f”, “0?limit”) in new stack
– Executing [s@macro-user-callerid:14] ExecIf(“SIP/101-0000154f”, “0?Set(GROUP(concurrency_limit)=101)”) in new stack
– Executing [s@macro-user-callerid:15] ExecIf(“SIP/101-0000154f”, “0?Set(CHANNEL(language)=)”) in new stack
– Executing [s@macro-user-callerid:16] NoOp(“SIP/101-0000154f”, “Macro Depth is 1”) in new stack
– Executing [s@macro-user-callerid:17] GotoIf(“SIP/101-0000154f”, “1?report2:macroerror”) in new stack
– Goto (macro-user-callerid,s,18)
– Executing [s@macro-user-callerid:18] GotoIf(“SIP/101-0000154f”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:19] ExecIf(“SIP/101-0000154f”, “1?Set(__CALLEE_ACCOUNCODE=)”) in new stack
– Executing [s@macro-user-callerid:20] Set(“SIP/101-0000154f”, “__TTL=64”) in new stack
– Executing [s@macro-user-callerid:21] GotoIf(“SIP/101-0000154f”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,37)
– Executing [s@macro-user-callerid:37] Set(“SIP/101-0000154f”, “CALLERID(number)=101”) in new stack
– Executing [s@macro-user-callerid:38] Set(“SIP/101-0000154f”, “CALLERID(name)=CT TEST 2”) in new stack
– Executing [s@macro-user-callerid:39] GotoIf(“SIP/101-0000154f”, “0?cnum”) in new stack
– Executing [s@macro-user-callerid:40] Set(“SIP/101-0000154f”, “CDR(cnam)=CT TEST 2”) in new stack
– Executing [s@macro-user-callerid:41] Set(“SIP/101-0000154f”, “CDR(cnum)=101”) in new stack
– Executing [s@macro-user-callerid:42] Set(“SIP/101-0000154f”, “CHANNEL(language)=en”) in new stack
– Executing [119@app-pagegroups:2] Set(“SIP/101-0000154f”, “_PAGEGROUP=119”) in new stack
– Executing [119@app-pagegroups:3] Set(“SIP/101-0000154f”, “ANNOUNCE_COUNT=3”) in new stack
– Executing [119@app-pagegroups:4] GotoIf(“SIP/101-0000154f”, “1?:busy”) in new stack
– Executing [119@app-pagegroups:5] Set(“SIP/101-0000154f”, “DEVICE_STATE(Custom:PAGE119)=INUSE”) in new stack
– Executing [119@app-pagegroups:6] Gosub(“SIP/101-0000154f”, “app-paging,ssetup,1()”) in new stack
– Executing [ssetup@app-paging:1] Set(“SIP/101-0000154f”, “_SIPURI=”) in new stack
– Executing [ssetup@app-paging:2] Set(“SIP/101-0000154f”, “_ALERTINFO=Ring Answer”) in new stack
– Executing [ssetup@app-paging:3] Set(“SIP/101-0000154f”, “_CALLINFO=;answer-after=0”) in new stack
– Executing [ssetup@app-paging:4] Set(“SIP/101-0000154f”, “_SIPURI=intercom=true”) in new stack
– Executing [ssetup@app-paging:5] Set(“SIP/101-0000154f”, “_DTIME=5”) in new stack
– Executing [ssetup@app-paging:6] Set(“SIP/101-0000154f”, “_ANSWERMACRO=”) in new stack
– Executing [ssetup@app-paging:7] Set(“SIP/101-0000154f”, “PAGE_CONF=1545088175131”) in new stack
– Executing [ssetup@app-paging:8] Return(“SIP/101-0000154f”, “”) in new stack
– Executing [119@app-pagegroups:7] Set(“SIP/101-0000154f”, “PAGEMODE=FPAGE”) in new stack
– Executing [119@app-pagegroups:8] Set(“SIP/101-0000154f”, “PAGE_MEMBERS=100”) in new stack
– Executing [119@app-pagegroups:9] Set(“SIP/101-0000154f”, “PAGE_CONF_OPTS=duplex”) in new stack
– Executing [119@app-pagegroups:10] Set(“SIP/101-0000154f”, “ANNOUNCEMENT=custom/Evacuate_1_2min”) in new stack
– Executing [119@app-pagegroups:11] ExecIf(“SIP/101-0000154f”, “1?Set(STREAM=custom/Evacuate_1_2min):Set(STREAM=NONE)”) in new stack
– Executing [119@app-pagegroups:12] AGI(“SIP/101-0000154f”, “page.agi”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/page.agi
– Called s@app-page-stream
– Called s@app-page-stream
– Called PAGE100@app-paging/n
– Executing [s@app-page-stream:1] Wait(“Local/s@app-page-stream-000005b6;2”, “1”) in new stack
– Executing [PAGE100@app-paging:1] Macro(“Local/PAGE100@app-paging-000005b5;2”, “autoanswer,100”) in new stack
– Executing [s@app-page-stream:1] Wait(“Local/s@app-page-stream-000005b4;2”, “1”) in new stack
– Executing [s@macro-autoanswer:1] GotoIf(“Local/PAGE100@app-paging-000005b5;2”, “1?knowndial”) in new stack
– <SIP/101-0000154f>AGI Script page.agi completed, returning 0
– Goto (macro-autoanswer,s,19)
– Executing [s@macro-autoanswer:19] Set(“Local/PAGE100@app-paging-000005b5;2”, “DIAL=SIP/100”) in new stack
– Executing [s@macro-autoanswer:20] ExecIf(“Local/PAGE100@app-paging-000005b5;2”, “0?Set(DIAL=DAHDI/100)”) in new stack
– Executing [119@app-pagegroups:13] Set(“SIP/101-0000154f”, “CONFBRIDGE(user,template)=page_user_duplex”) in new stack
– Executing [119@app-pagegroups:14] Set(“SIP/101-0000154f”, “CONFBRIDGE(user,admin)=yes”) in new stack
– Executing [119@app-pagegroups:15] Set(“SIP/101-0000154f”, “CONFBRIDGE(user,marked)=yes”) in new stack
– Executing [119@app-pagegroups:16] Answer(“SIP/101-0000154f”, “”) in new stack
– Executing [s@macro-autoanswer:21] GotoIf(“Local/PAGE100@app-paging-000005b5;2”, “0?macro”) in new stack
– Executing [s@macro-autoanswer:22] GotoIf(“Local/PAGE100@app-paging-000005b5;2”, “0?pjsipua”) in new stack
– Executing [s@macro-autoanswer:23] Set(“Local/PAGE100@app-paging-000005b5;2”, “USERAGENT=Yealink SIP-T46G 28.81.0.70”) in new stack
– Executing [s@macro-autoanswer:24] Goto(“Local/PAGE100@app-paging-000005b5;2”, “uafin”) in new stack
– Goto (macro-autoanswer,s,28)
– Executing [s@macro-autoanswer:28] ExecIf(“Local/PAGE100@app-paging-000005b5;2”, “0?Set(USERAGENT=)”) in new stack
– Executing [s@macro-autoanswer:29] ExecIf(“Local/PAGE100@app-paging-000005b5;2”, “0?Set(PAGE_VOL=;volume=)”) in new stack
– Executing [s@macro-autoanswer:30] ExecIf(“Local/PAGE100@app-paging-000005b5;2”, “0?Set(CALLINFO=sip:broadworks.net;answer-after=0)”) in new stack
– Executing [s@macro-autoanswer:31] ExecIf(“Local/PAGE100@app-paging-000005b5;2”, “0?Set(ALERTINFO=Intercom)”) in new stack
– Executing [s@macro-autoanswer:32] ExecIf(“Local/PAGE100@app-paging-000005b5;2”, “0?Set(ALERTINFO=info=Auto Answer)”) in new stack
– Executing [s@macro-autoanswer:33] ExecIf(“Local/PAGE100@app-paging-000005b5;2”, “0?Set(ALERTINFO=ring-answer)”) in new stack
– Executing [s@macro-autoanswer:34] ExecIf(“Local/PAGE100@app-paging-000005b5;2”, “0?Set(ALERTINFO=http://www.sangoma.com;info=external)”) in new stack
– Executing [s@macro-autoanswer:35] ExecIf(“Local/PAGE100@app-paging-000005b5;2”, “0?Set(ALERTINFO=http://example.com;info=alert-autoanswer)”) in new stack
– Executing [s@macro-autoanswer:36] ExecIf(“Local/PAGE100@app-paging-000005b5;2”, “1?Set(__SIP_URI_OPTIONS=intercom=true)”) in new stack
– Executing [PAGE100@app-paging:2] NoOp(“Local/PAGE100@app-paging-000005b5;2”, “”) in new stack
– Executing [PAGE100@app-paging:3] GotoIf(“Local/PAGE100@app-paging-000005b5;2”, “1?doptions”) in new stack
– Goto (app-paging,PAGE100,6)
– Executing [PAGE100@app-paging:6] ExecIf(“Local/PAGE100@app-paging-000005b5;2”, “1?Set(_DOPTIONS=b(autoanswer^s^1(Ring Answer,;answer-after=0)))”) in new stack
– Executing [PAGE100@app-paging:7] Dial(“Local/PAGE100@app-paging-000005b5;2”, “SIP/100,5,A(custom/Evacuate_1_2min)b(autoanswer^s^1(Ring Answer,;answer-after=0))”) in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– SIP/100-00001550 Internal Gosub(autoanswer,s,1(Ring Answer,;answer-after=0)) start
– Executing [s@autoanswer:1] GosubIf(“SIP/100-00001550”, “1?func-set-sipheader,s,1(Alert-Info,Ring Answer)”) in new stack
– Executing [s@func-set-sipheader:1] NoOp(“SIP/100-00001550”, “Sip Add Header function called. Adding Alert-Info = Ring Answer”) in new stack
– Executing [s@func-set-sipheader:2] Set(“SIP/100-00001550”, “HASH(_SIPHEADERS,Alert-Info)=Ring Answer”) in new stack
– Executing [s@func-set-sipheader:3] Return(“SIP/100-00001550”, “”) in new stack
– Executing [s@autoanswer:2] GosubIf(“SIP/100-00001550”, “1?func-set-sipheader,s,1(Call-Info,;answer-after=0)”) in new stack
– Executing [s@func-set-sipheader:1] NoOp(“SIP/100-00001550”, “Sip Add Header function called. Adding Call-Info = ;answer-after=0”) in new stack
– Executing [s@func-set-sipheader:2] Set(“SIP/100-00001550”, “HASH(_SIPHEADERS,Call-Info)=;answer-after=0”) in new stack
– Executing [s@func-set-sipheader:3] Return(“SIP/100-00001550”, “”) in new stack
– Executing [s@autoanswer:3] Gosub(“SIP/100-00001550”, “func-apply-sipheaders,s,1()”) in new stack
– Executing [s@func-apply-sipheaders:1] ExecIf(“SIP/100-00001550”, “0?Set(CHANNEL(hangup_handler_push)=crm-hangup,s,1)”) in new stack
– Executing [s@func-apply-sipheaders:2] NoOp(“SIP/100-00001550”, “Applying SIP Headers to channel”) in new stack
– Executing [s@func-apply-sipheaders:3] Set(“SIP/100-00001550”, “SIPHEADERKEYS=Call-Info,Alert-Info”) in new stack
– Executing [s@func-apply-sipheaders:4] ExecIf(“SIP/100-00001550”, “0?Set(Rheader=1)”) in new stack
– Executing [s@func-apply-sipheaders:5] While(“SIP/100-00001550”, “1”) in new stack
– Executing [s@func-apply-sipheaders:6] Set(“SIP/100-00001550”, “sipheader=;answer-after=0”) in new stack
– Executing [s@func-apply-sipheaders:7] SIPAddHeader(“SIP/100-00001550”, “Call-Info: ;answer-after=0”) in new stack
– Executing [s@func-apply-sipheaders:8] Set(“SIP/100-00001550”, “PJSIP_HEADER(add,Call-Info)=;answer-after=0”) in new stack
[2018-12-18 09:09:36] ERROR[13643][C-00001cd7]: res_pjsip_header_funcs.c:513 func_write_header: This function requires a PJSIP channel.
– Executing [s@func-apply-sipheaders:9] EndWhile(“SIP/100-00001550”, “”) in new stack
– Executing [s@func-apply-sipheaders:5] While(“SIP/100-00001550”, “1”) in new stack
– Executing [s@func-apply-sipheaders:6] Set(“SIP/100-00001550”, “sipheader=Ring Answer”) in new stack
– Executing [s@func-apply-sipheaders:7] SIPAddHeader(“SIP/100-00001550”, “Alert-Info: Ring Answer”) in new stack
– Executing [s@func-apply-sipheaders:8] Set(“SIP/100-00001550”, “PJSIP_HEADER(add,Alert-Info)=Ring Answer”) in new stack
[2018-12-18 09:09:36] ERROR[13643][C-00001cd7]: res_pjsip_header_funcs.c:513 func_write_header: This function requires a PJSIP channel.
– Executing [s@func-apply-sipheaders:9] EndWhile(“SIP/100-00001550”, “”) in new stack
– Executing [s@func-apply-sipheaders:5] While(“SIP/100-00001550”, “0”) in new stack
– Executing [s@func-apply-sipheaders:10] ExecIf(“SIP/100-00001550”, “0?SIPRemoveHeader(Alert-Info:)”) in new stack
– Executing [s@func-apply-sipheaders:11] ExecIf(“SIP/100-00001550”, “0?Set(PJSIP_HEADER(remove,Alert-Info)=)”) in new stack
– Executing [s@func-apply-sipheaders:12] Return(“SIP/100-00001550”, “”) in new stack
– Executing [s@autoanswer:4] Return(“SIP/100-00001550”, “”) in new stack
== Spawn extension (from-internal, PAGE100, 1) exited non-zero on ‘SIP/100-00001550’
– SIP/100-00001550 Internal Gosub(autoanswer,s,1(Ring Answer,;answer-after=0)) complete GOSUB_RETVAL=
– Called SIP/100
> 0xb149c100 – Strict RTP qualifying stream type: audio
> 0xb149c100 – Strict RTP switching source address to 45.120.36.25:11852
– Executing [119@app-pagegroups:17] ConfBridge(“SIP/101-0000154f”, “1545088175131,admin_menu”) in new stack
– Channel CBAnn/1545088175131-000005b7;2 joined ‘softmix’ base-bridge
– Channel SIP/101-0000154f joined ‘softmix’ base-bridge
– SIP/100-00001550 is ringing
– Local/PAGE100@app-paging-000005b5;1 is ringing
– Executing [s@app-page-stream:2] Answer(“Local/s@app-page-stream-000005b6;2”, “”) in new stack
– Local/s@app-page-stream-000005b6;1 answered
> Launching Playback(custom/Evacuate_1_2min) on Local/s@app-page-stream-000005b6;1
– <Local/s@app-page-stream-000005b6;1> Playing ‘custom/Evacuate_1_2min.slin’ (language ‘en’)
– Executing [s@app-page-stream:3] Set(“Local/s@app-page-stream-000005b6;2”, “CONFBRIDGE(user,template)=page_user_duplex”) in new stack
– Executing [s@app-page-stream:4] Set(“Local/s@app-page-stream-000005b6;2”, “CONFBRIDGE(user,marked)=yes”) in new stack
– Executing [s@app-page-stream:5] ConfBridge(“Local/s@app-page-stream-000005b6;2”, “1545088175131,”) in new stack
– Channel Local/s@app-page-stream-000005b6;2 joined ‘softmix’ base-bridge
– Executing [s@app-page-stream:2] Answer(“Local/s@app-page-stream-000005b4;2”, “”) in new stack
– Local/s@app-page-stream-000005b4;1 answered
> Launching Wait(5) on Local/s@app-page-stream-000005b4;1
– Executing [s@app-page-stream:3] Set(“Local/s@app-page-stream-000005b4;2”, “CONFBRIDGE(user,template)=page_user_duplex”) in new stack
– Executing [s@app-page-stream:4] Set(“Local/s@app-page-stream-000005b4;2”, “CONFBRIDGE(user,marked)=yes”) in new stack
– Executing [s@app-page-stream:5] ConfBridge(“Local/s@app-page-stream-000005b4;2”, “1545088175131,”) in new stack
– Channel Local/s@app-page-stream-000005b4;2 joined ‘softmix’ base-bridge
> 0xb149c100 – Strict RTP learning after remote address set to: 192.168.3.25:11852
> 0xb09b9068 – Strict RTP learning after remote address set to: 192.168.3.25:11854
– SIP/100-00001550 answered Local/PAGE100@app-paging-000005b5;2
– <SIP/100-00001550> Playing ‘custom/Evacuate_1_2min.slin’ (language ‘en’)
> 0xb09b9068 – Strict RTP qualifying stream type: audio
> 0xb09b9068 – Strict RTP switching source address to 45.120.36.25:11854
– Channel Local/s@app-page-stream-000005b4;2 left ‘softmix’ base-bridge
> 0xb09b9068 – Strict RTP learning complete - Locking on source address 45.120.36.25:11854
== Spawn extension (app-paging, PAGE100, 7) exited non-zero on ‘Local/PAGE100@app-paging-000005b5;2’
pbx-cpe*CLI>

From your log, it seems that the audio path is changing from internal IP to external IP. Are your pbx and phones on the same network?

no, its a cloud hosted pbx

You probably have a NAT misconfiguration

but what? everything call related works fine, this is the only issue ive come across, yealink phones using rport, i can experiment with nat settings but im reluctant to change too much as its all working well otherwise on dozens of pbxs

the first thing i tried after doing some reading was setting canreinvite from no to nonat, now the announcement plays in entirety…

is there any downside to setting this on all extensions?

ok, that was for sip, all the extensions are pjsip generally speaking, so my question is now what is the equivelant setting to canreinvite=nonat for pjsip?

In general, when using NAT, you must configure all NAT parameters correctly both at the extension and global levels to avoid audio and dropped call issues. You also need to make sure that you forward necessary ports if the PBX is behind NAT and probably need to check your router to disable any SIP ALG settings. Reinvite is in general not easily achieveable in real case scenarios anyway, and you should probably set it to no.
I guess you are not paging through multicast, are you?

no multicast no, alg always off.

I could swap all the extensions back to sip and run with the noreinvite=nonat but I am using pjsip for shared line experience so wont really work.

there is no equiv noreinvite=nonat setting in pjsip?

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.