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/[email protected];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 [[email protected]:1] Goto(“SIP/101-0000154f”, “app-pagegroups,119,1”) in new stack
– Goto (app-pagegroups,119,1)
– Executing [[email protected]:1] Macro(“SIP/101-0000154f”, “user-callerid,”) in new stack
– Executing [[email protected]:1] Set(“SIP/101-0000154f”, “TOUCH_MONITOR=1545088175.20594”) in new stack
– Executing [[email protected]:2] Set(“SIP/101-0000154f”, “AMPUSER=101”) in new stack
– Executing [[email protected]:3] GotoIf(“SIP/101-0000154f”, “0?report”) in new stack
– Executing [[email protected]:4] ExecIf(“SIP/101-0000154f”, “1?Set(REALCALLERIDNUM=101)”) in new stack
– Executing [[email protected]:5] Set(“SIP/101-0000154f”, “AMPUSER=101”) in new stack
– Executing [[email protected]:6] GotoIf(“SIP/101-0000154f”, “0?limit”) in new stack
– Executing [[email protected]:7] Set(“SIP/101-0000154f”, “AMPUSERCIDNAME=CT TEST 2”) in new stack
– Executing [[email protected]:8] ExecIf(“SIP/101-0000154f”, “0?Set(__CIDMASQUERADING=TRUE)”) in new stack
– Executing [[email protected]:9] GotoIf(“SIP/101-0000154f”, “0?report”) in new stack
– Executing [[email protected]:10] Set(“SIP/101-0000154f”, “AMPUSERCID=101”) in new stack
– Executing [[email protected]:11] Set(“SIP/101-0000154f”, “__DIAL_OPTIONS=Ttr”) in new stack
– Executing [[email protected]:12] Set(“SIP/101-0000154f”, “CALLERID(all)=“CT TEST 2” <101>”) in new stack
– Executing [[email protected]:13] GotoIf(“SIP/101-0000154f”, “0?limit”) in new stack
– Executing [[email protected]:14] ExecIf(“SIP/101-0000154f”, “0?Set(GROUP(concurrency_limit)=101)”) in new stack
– Executing [[email protected]:15] ExecIf(“SIP/101-0000154f”, “0?Set(CHANNEL(language)=)”) in new stack
– Executing [[email protected]:16] NoOp(“SIP/101-0000154f”, “Macro Depth is 1”) in new stack
– Executing [[email protected]:17] GotoIf(“SIP/101-0000154f”, “1?report2:macroerror”) in new stack
– Goto (macro-user-callerid,s,18)
– Executing [[email protected]:18] GotoIf(“SIP/101-0000154f”, “0?continue”) in new stack
– Executing [[email protected]:19] ExecIf(“SIP/101-0000154f”, “1?Set(__CALLEE_ACCOUNCODE=)”) in new stack
– Executing [[email protected]:20] Set(“SIP/101-0000154f”, “__TTL=64”) in new stack
– Executing [[email protected]:21] GotoIf(“SIP/101-0000154f”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,37)
– Executing [[email protected]:37] Set(“SIP/101-0000154f”, “CALLERID(number)=101”) in new stack
– Executing [[email protected]:38] Set(“SIP/101-0000154f”, “CALLERID(name)=CT TEST 2”) in new stack
– Executing [[email protected]:39] GotoIf(“SIP/101-0000154f”, “0?cnum”) in new stack
– Executing [[email protected]:40] Set(“SIP/101-0000154f”, “CDR(cnam)=CT TEST 2”) in new stack
– Executing [[email protected]:41] Set(“SIP/101-0000154f”, “CDR(cnum)=101”) in new stack
– Executing [[email protected]:42] Set(“SIP/101-0000154f”, “CHANNEL(language)=en”) in new stack
– Executing [[email protected]:2] Set(“SIP/101-0000154f”, “_PAGEGROUP=119”) in new stack
– Executing [[email protected]:3] Set(“SIP/101-0000154f”, “ANNOUNCE_COUNT=3”) in new stack
– Executing [[email protected]:4] GotoIf(“SIP/101-0000154f”, “1?:busy”) in new stack
– Executing [[email protected]:5] Set(“SIP/101-0000154f”, “DEVICE_STATE(Custom:PAGE119)=INUSE”) in new stack
– Executing [[email protected]:6] Gosub(“SIP/101-0000154f”, “app-paging,ssetup,1()”) in new stack
– Executing [[email protected]:1] Set(“SIP/101-0000154f”, “_SIPURI=”) in new stack
– Executing [[email protected]:2] Set(“SIP/101-0000154f”, “_ALERTINFO=Ring Answer”) in new stack
– Executing [[email protected]:3] Set(“SIP/101-0000154f”, “_CALLINFO=;answer-after=0”) in new stack
– Executing [[email protected]:4] Set(“SIP/101-0000154f”, “_SIPURI=intercom=true”) in new stack
– Executing [[email protected]:5] Set(“SIP/101-0000154f”, “_DTIME=5”) in new stack
– Executing [[email protected]:6] Set(“SIP/101-0000154f”, “_ANSWERMACRO=”) in new stack
– Executing [[email protected]:7] Set(“SIP/101-0000154f”, “PAGE_CONF=1545088175131”) in new stack
– Executing [[email protected]:8] Return(“SIP/101-0000154f”, “”) in new stack
– Executing [[email protected]:7] Set(“SIP/101-0000154f”, “PAGEMODE=FPAGE”) in new stack
– Executing [[email protected]:8] Set(“SIP/101-0000154f”, “PAGE_MEMBERS=100”) in new stack
– Executing [[email protected]:9] Set(“SIP/101-0000154f”, “PAGE_CONF_OPTS=duplex”) in new stack
– Executing [[email protected]:10] Set(“SIP/101-0000154f”, “ANNOUNCEMENT=custom/Evacuate_1_2min”) in new stack
– Executing [[email protected]:11] ExecIf(“SIP/101-0000154f”, “1?Set(STREAM=custom/Evacuate_1_2min):Set(STREAM=NONE)”) in new stack
– Executing [[email protected]:12] AGI(“SIP/101-0000154f”, “page.agi”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/page.agi
– Called [email protected]
– Called [email protected]
– Called [email protected]/n
– Executing [[email protected]:1] Wait(“Local/[email protected];2”, “1”) in new stack
– Executing [[email protected]:1] Macro(“Local/[email protected];2”, “autoanswer,100”) in new stack
– Executing [[email protected]:1] Wait(“Local/[email protected];2”, “1”) in new stack
– Executing [[email protected]:1] GotoIf(“Local/[email protected];2”, “1?knowndial”) in new stack
– <SIP/101-0000154f>AGI Script page.agi completed, returning 0
– Goto (macro-autoanswer,s,19)
– Executing [[email protected]:19] Set(“Local/[email protected];2”, “DIAL=SIP/100”) in new stack
– Executing [[email protected]:20] ExecIf(“Local/[email protected];2”, “0?Set(DIAL=DAHDI/100)”) in new stack
– Executing [[email protected]:13] Set(“SIP/101-0000154f”, “CONFBRIDGE(user,template)=page_user_duplex”) in new stack
– Executing [[email protected]:14] Set(“SIP/101-0000154f”, “CONFBRIDGE(user,admin)=yes”) in new stack
– Executing [[email protected]:15] Set(“SIP/101-0000154f”, “CONFBRIDGE(user,marked)=yes”) in new stack
– Executing [[email protected]:16] Answer(“SIP/101-0000154f”, “”) in new stack
– Executing [[email protected]:21] GotoIf(“Local/[email protected];2”, “0?macro”) in new stack
– Executing [[email protected]:22] GotoIf(“Local/[email protected];2”, “0?pjsipua”) in new stack
– Executing [[email protected]:23] Set(“Local/[email protected];2”, “USERAGENT=Yealink SIP-T46G 28.81.0.70”) in new stack
– Executing [[email protected]:24] Goto(“Local/[email protected];2”, “uafin”) in new stack
– Goto (macro-autoanswer,s,28)
– Executing [[email protected]:28] ExecIf(“Local/[email protected];2”, “0?Set(USERAGENT=)”) in new stack
– Executing [[email protected]:29] ExecIf(“Local/[email protected]app-paging-000005b5;2”, “0?Set(PAGE_VOL=;volume=)”) in new stack
– Executing [[email protected]:30] ExecIf(“Local/[email protected];2”, “0?Set(CALLINFO=sip:broadworks.net;answer-after=0)”) in new stack
– Executing [[email protected]:31] ExecIf(“Local/[email protected];2”, “0?Set(ALERTINFO=Intercom)”) in new stack
– Executing [[email protected]:32] ExecIf(“Local/[email protected];2”, “0?Set(ALERTINFO=info=Auto Answer)”) in new stack
– Executing [[email protected]:33] ExecIf(“Local/[email protected];2”, “0?Set(ALERTINFO=ring-answer)”) in new stack
– Executing [[email protected]:34] ExecIf(“Local/[email protected];2”, “0?Set(ALERTINFO=http://www.sangoma.com;info=external)”) in new stack
– Executing [[email protected]:35] ExecIf(“Local/[email protected];2”, “0?Set(ALERTINFO=http://example.com;info=alert-autoanswer)”) in new stack
– Executing [[email protected]:36] ExecIf(“Local/[email protected];2”, “1?Set(__SIP_URI_OPTIONS=intercom=true)”) in new stack
– Executing [[email protected]:2] NoOp(“Local/[email protected];2”, “”) in new stack
– Executing [[email protected]:3] GotoIf(“Local/[email protected];2”, “1?doptions”) in new stack
– Goto (app-paging,PAGE100,6)
– Executing [[email protected]:6] ExecIf(“Local/[email protected];2”, “1?Set(_DOPTIONS=b(autoanswer^s^1(Ring Answer,;answer-after=0)))”) in new stack
– Executing [[email protected]:7] Dial(“Local/[email protected];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 [[email protected]:1] GosubIf(“SIP/100-00001550”, “1?func-set-sipheader,s,1(Alert-Info,Ring Answer)”) in new stack
– Executing [[email protected]:1] NoOp(“SIP/100-00001550”, “Sip Add Header function called. Adding Alert-Info = Ring Answer”) in new stack
– Executing [[email protected]:2] Set(“SIP/100-00001550”, “HASH(_SIPHEADERS,Alert-Info)=Ring Answer”) in new stack
– Executing [[email protected]:3] Return(“SIP/100-00001550”, “”) in new stack
– Executing [[email protected]:2] GosubIf(“SIP/100-00001550”, “1?func-set-sipheader,s,1(Call-Info,;answer-after=0)”) in new stack
– Executing [[email protected]:1] NoOp(“SIP/100-00001550”, “Sip Add Header function called. Adding Call-Info = ;answer-after=0”) in new stack
– Executing [[email protected]:2] Set(“SIP/100-00001550”, “HASH(_SIPHEADERS,Call-Info)=;answer-after=0”) in new stack
– Executing [[email protected]:3] Return(“SIP/100-00001550”, “”) in new stack
– Executing [[email protected]:3] Gosub(“SIP/100-00001550”, “func-apply-sipheaders,s,1()”) in new stack
– Executing [[email protected]:1] ExecIf(“SIP/100-00001550”, “0?Set(CHANNEL(hangup_handler_push)=crm-hangup,s,1)”) in new stack
– Executing [[email protected]:2] NoOp(“SIP/100-00001550”, “Applying SIP Headers to channel”) in new stack
– Executing [[email protected]:3] Set(“SIP/100-00001550”, “SIPHEADERKEYS=Call-Info,Alert-Info”) in new stack
– Executing [[email protected]:4] ExecIf(“SIP/100-00001550”, “0?Set(Rheader=1)”) in new stack
– Executing [[email protected]:5] While(“SIP/100-00001550”, “1”) in new stack
– Executing [[email protected]:6] Set(“SIP/100-00001550”, “sipheader=;answer-after=0”) in new stack
– Executing [[email protected]:7] SIPAddHeader(“SIP/100-00001550”, “Call-Info: ;answer-after=0”) in new stack
– Executing [[email protected]ipheaders: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 [[email protected]:9] EndWhile(“SIP/100-00001550”, “”) in new stack
– Executing [[email protected]:5] While(“SIP/100-00001550”, “1”) in new stack
– Executing [[email protected]:6] Set(“SIP/100-00001550”, “sipheader=Ring Answer”) in new stack
– Executing [[email protected]:7] SIPAddHeader(“SIP/100-00001550”, “Alert-Info: Ring Answer”) in new stack
– Executing [[email protected]: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 [[email protected]:9] EndWhile(“SIP/100-00001550”, “”) in new stack
– Executing [[email protected]:5] While(“SIP/100-00001550”, “0”) in new stack
– Executing [[email protected]:10] ExecIf(“SIP/100-00001550”, “0?SIPRemoveHeader(Alert-Info:)”) in new stack
– Executing [[email protected]:11] ExecIf(“SIP/100-00001550”, “0?Set(PJSIP_HEADER(remove,Alert-Info)=)”) in new stack
– Executing [[email protected]:12] Return(“SIP/100-00001550”, “”) in new stack
– Executing [[email protected]: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 [[email protected]: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/[email protected];1 is ringing
– Executing [[email protected]:2] Answer(“Local/[email protected];2”, “”) in new stack
– Local/[email protected];1 answered
> Launching Playback(custom/Evacuate_1_2min) on Local/[email protected];1
– <Local/[email protected];1> Playing ‘custom/Evacuate_1_2min.slin’ (language ‘en’)
– Executing [[email protected]:3] Set(“Local/[email protected];2”, “CONFBRIDGE(user,template)=page_user_duplex”) in new stack
– Executing [[email protected]:4] Set(“Local/[email protected];2”, “CONFBRIDGE(user,marked)=yes”) in new stack
– Executing [[email protected]:5] ConfBridge(“Local/[email protected];2”, “1545088175131,”) in new stack
– Channel Local/[email protected];2 joined ‘softmix’ base-bridge
– Executing [[email protected]:2] Answer(“Local/[email protected];2”, “”) in new stack
– Local/[email protected];1 answered
> Launching Wait(5) on Local/[email protected];1
– Executing [[email protected]:3] Set(“Local/[email protected];2”, “CONFBRIDGE(user,template)=page_user_duplex”) in new stack
– Executing [[email protected]:4] Set(“Local/[email protected];2”, “CONFBRIDGE(user,marked)=yes”) in new stack
– Executing [[email protected]:5] ConfBridge(“Local/[email protected];2”, “1545088175131,”) in new stack
– Channel Local/[email protected];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/[email protected];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/[email protected];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/[email protected];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.