Announcement on Emergency Paging Group in Paging and Intercom module cut off after 30 seconds

I am attempting to set up a simple Emergency Broadcast in our FreePBX system (FreePBX 13.0.169, Asterisk 13.9.1) in the Paging and Intercom module (13.0.23). I created a .WAV file that is five minutes long, consisting of an announcement in English, and announcement in Spanish, and a silence that lasts a total of 20 seconds and then repeats for the five minute duration, and uploaded it to the custom sounds folder. I then created a System Recording and added that .WAV file to it. I created a Paging Group and applied the System Recording as an Announcement to it. When I dial the Paging Group number, the phones in the group begin playing the message, but the announcement is cut off after 30 seconds.

Is this a setting that I can adjust somewhere? Would the Paging Pro commercial module allow the full announcement to play? Is there another way I should be attempting to broadcast this message, with the desired result being that the full five minute recording play out over all phones and VoIP speakers in the building?

You should post some log data.

    [[email protected] ~]# asterisk -vvvvvvr
    Asterisk 13.9.1, Copyright (C) 1999 - 2014, Digium, Inc. and others.
    Created by Mark Spencer <[email protected]>
    Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
    This is free software, with components licensed under the GNU General Public
    License version 2 and other licenses; you are welcome to redistribute it under
    certain conditions. Type 'core show license' for details.
    =========================================================================
Connected to Asterisk 13.9.1 currently running on ZTCO-VOIP02 (pid = 22018)
  == Using SIP RTP CoS mark 5
    -- Executing [[email protected]:1] Goto("SIP/1007-000002c0", "app-pagegroups,9911,1") in new stack
    -- Goto (app-pagegroups,9911,1)
    -- Executing [[email protected]:1] Macro("SIP/1007-000002c0", "user-callerid,") in new stack
    -- Executing [[email protected]:1] Set("SIP/1007-000002c0", "TOUCH_MONITOR=1472768273.1054") in new stack
    -- Executing [[email protected]:2] Set("SIP/1007-000002c0", "AMPUSER=1007") in new stack
    -- Executing [[email protected]:3] GotoIf("SIP/1007-000002c0", "0?report") in new stack
    -- Executing [[email protected]:4] ExecIf("SIP/1007-000002c0", "1?Set(REALCALLERIDNUM=1007)") in new stack
    -- Executing [[email protected]:5] Set("SIP/1007-000002c0", "AMPUSER=1007") in new stack
    -- Executing [[email protected]:6] GotoIf("SIP/1007-000002c0", "0?limit") in new stack
    -- Executing [[email protected]:7] Set("SIP/1007-000002c0", "AMPUSERCIDNAME=Phil Ozlin") in new stack
    -- Executing [[email protected]:8] GotoIf("SIP/1007-000002c0", "0?report") in new stack
    -- Executing [[email protected]:9] Set("SIP/1007-000002c0", "AMPUSERCID=1007") in new stack
    -- Executing [[email protected]:10] Set("SIP/1007-000002c0", "__DIAL_OPTIONS=Ttr") in new stack
    -- Executing [[email protected]:11] Set("SIP/1007-000002c0", "CALLERID(all)="Phil Ozlin" <1007>") in new stack
    -- Executing [[email protected]:12] GotoIf("SIP/1007-000002c0", "0?limit") in new stack
    -- Executing [[email protected]:13] ExecIf("SIP/1007-000002c0", "0?Set(GROUP(concurrency_limit)=1007)") in new stack
    -- Executing [[email protected]:14] ExecIf("SIP/1007-000002c0", "0?Set(CHANNEL(language)=)") in new stack
    -- Executing [[email protected]:15] GotoIf("SIP/1007-000002c0", "0?continue") in new stack
    -- Executing [[email protected]:16] ExecIf("SIP/1007-000002c0", "1?Set(__CALLEE_ACCOUNCODE=)") in new stack
    -- Executing [[email protected]:17] Set("SIP/1007-000002c0", "__TTL=64") in new stack
    -- Executing [[email protected]:18] GotoIf("SIP/1007-000002c0", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,29)
    -- Executing [[email protected]:29] Set("SIP/1007-000002c0", "CALLERID(number)=1007") in new stack
    -- Executing [[email protected]:30] Set("SIP/1007-000002c0", "CALLERID(name)=Phil Ozlin") in new stack
    -- Executing [[email protected]:31] GotoIf("SIP/1007-000002c0", "ISNULL(Phil Ozlin)?cnum") in new stack
    -- Goto (macro-user-callerid,s,33)
    -- Executing [[email protected]:33] Set("SIP/1007-000002c0", "CDR(cnum)=1007") in new stack
    -- Executing [[email protected]:34] Set("SIP/1007-000002c0", "CHANNEL(language)=en") in new stack
    -- Executing [[email protected]:2] Set("SIP/1007-000002c0", "_PAGEGROUP=9911") in new stack
    -- Executing [[email protected]:3] GotoIf("SIP/1007-000002c0", "1?:busy") in new stack
    -- Executing [[email protected]:4] Set("SIP/1007-000002c0", "DEVICE_STATE(Custom:PAGE9911)=INUSE") in new stack
    -- Executing [[email protected]:5] Gosub("SIP/1007-000002c0", "app-paging,ssetup,1()") in new stack
    -- Executing [[email protected]:1] Set("SIP/1007-000002c0", "_SIPURI=") in new stack
    -- Executing [[email protected]:2] Set("SIP/1007-000002c0", "_ALERTINFO=Ring Answer") in new stack
    -- Executing [[email protected]:3] Set("SIP/1007-000002c0", "_CALLINFO=<uri>;answer-after=0") in new stack
    -- Executing [[email protected]:4] Set("SIP/1007-000002c0", "_SIPURI=intercom=true") in new stack
    -- Executing [[email protected]:5] Set("SIP/1007-000002c0", "_DTIME=5") in new stack
    -- Executing [[email protected]:6] Set("SIP/1007-000002c0", "_ANSWERMACRO=") in new stack
    -- Executing [[email protected]:7] Set("SIP/1007-000002c0", "PAGE_CONF=1472768273819") in new stack
    -- Executing [[email protected]:8] Return("SIP/1007-000002c0", "") in new stack
    -- Executing [[email protected]:6] Set("SIP/1007-000002c0", "PAGEMODE=FPAGE") in new stack
    -- Executing [[email protected]:7] Set("SIP/1007-000002c0", "PAGE_MEMBERS=1025") in new stack
    -- Executing [[email protected]:8] Set("SIP/1007-000002c0", "PAGE_CONF_OPTS=1dqsxm") in new stack
    -- Executing [[email protected]:9] Set("SIP/1007-000002c0", "ANNOUNCEMENT=custom/emergency_announcement") in new stack
    -- Executing [[email protected]:10] AGI("SIP/1007-000002c0", "page.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/page.agi
    -- Called [email protected]
    -- Executing [[email protected]:1] Wait("Local/[email protected];2", "1") in new stack
    -- Executing [[email protected]:1] Wait("Local/[email protected];2", "1") in new stack
    -- Called [email protected]
    -- Called [email protected]/n
    -- Executing [[email protected]:1] Macro("Local/[email protected];2", "autoanswer,1025") in new stack
    -- Executing [[email protected]:1] GotoIf("Local/[email protected];2", "1?knowndial") in new stack
    -- Goto (macro-autoanswer,s,19)
    -- Executing [[email protected]:19] Set("Local/[email protected];2", "DIAL=SIP/1025") in new stack
    -- Executing [[email protected]:20] ExecIf("Local/[email protected];2", "0?Set(DIAL=DAHDI/1025)") 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=Linksys/SPA942-6.1.5(a)") 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];2", "0?Set(CALLINFO=<sip:broadworks.net>;answer-after=0)") in new stack
    -- Executing [[email protected]:30] ExecIf("Local/[email protected];2", "0?Set(ALERTINFO=Intercom)") in new stack
    -- Executing [[email protected]:31] ExecIf("Local/[email protected];2", "0?Set(ALERTINFO=info=Auto Answer)") in new stack
    -- Executing [[email protected]:32] ExecIf("Local/[email protected];2", "0?Set(ALERTINFO=ring-answer)") in new stack
    -- Executing [[email protected]:33] 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,PAGE1025,6)
    -- Executing [[email protected]:6] ExecIf("Local/[email protected];2", "1?Set(_DOPTIONS=b(autoanswer^s^1(Ring Answer,<uri>;answer-after=0)))") in new stack
    -- Executing [[email protected]:7] Dial("Local/[email protected];2", "SIP/1025,5,A(custom/emergency_announcement)b(autoanswer^s^1(Ring Answer,<uri>;answer-after=0))") in new stack
  == Using SIP RTP CoS mark 5
    -- <SIP/1007-000002c0>AGI Script page.agi completed, returning 0
    -- SIP/1025-000002c1 Internal Gosub(autoanswer,s,1(Ring Answer,<uri>;answer-after=0)) start
    -- Executing [[email protected]:1] GosubIf("SIP/1025-000002c1", "1?func-set-sipheader,s,1(Alert-Info,Ring Answer)") in new stack
    -- Executing [[email protected]:1] NoOp("SIP/1025-000002c1", "Sip Add Header function called. Adding Alert-Info = Ring Answer") in new stack
    -- Executing [[email protected]:2] Set("SIP/1025-000002c1", "HASH(_SIPHEADERS,Alert-Info)=Ring Answer") in new stack
    -- Executing [[email protected]:3] Return("SIP/1025-000002c1", "") in new stack
    -- Executing [[email protected]:2] GosubIf("SIP/1025-000002c1", "1?func-set-sipheader,s,1(Call-Info,<uri>;answer-after=0)") in new stack
    -- Executing [[email protected]:1] NoOp("SIP/1025-000002c1", "Sip Add Header function called. Adding Call-Info = <uri>;answer-after=0") in new stack
    -- Executing [[email protected]:2] Set("SIP/1025-000002c1", "HASH(_SIPHEADERS,Call-Info)=<uri>;answer-after=0") in new stack
    -- Executing [[email protected]:3] Return("SIP/1025-000002c1", "") in new stack
    -- Executing [[email protected]:3] Gosub("SIP/1025-000002c1", "func-apply-sipheaders,s,1()") in new stack
    -- Executing [[email protected]y-sipheaders:1] NoOp("SIP/1025-000002c1", "Applying SIP Headers to channel") in new stack
    -- Executing [[email protected]:2] Set("SIP/1025-000002c1", "SIPHEADERKEYS=Call-Info,Alert-Info") in new stack
    -- Executing [[email protected]:3] While("SIP/1025-000002c1", "1") in new stack
    -- Executing [[email protected]:4] Set("SIP/1025-000002c1", "sipheader=<uri>;answer-after=0") in new stack
    -- Executing [[email protected]:5] SIPAddHeader("SIP/1025-000002c1", "Call-Info: <uri>;answer-after=0") in new stack
    -- Executing [[email protected]:6] Set("SIP/1025-000002c1", "PJSIP_HEADER(add,Call-Info)=<uri>;answer-after=0") in new stack
[2016-09-01 22:17:53] ERROR[16124][C-00000126]: res_pjsip_header_funcs.c:515 func_write_header: This function requires a PJSIP channel.
    -- Executing [[email protected]:7] EndWhile("SIP/1025-000002c1", "") in new stack
    -- Executing [[email protected]:3] While("SIP/1025-000002c1", "1") in new stack
    -- Executing [[email protected]:4] Set("SIP/1025-000002c1", "sipheader=Ring Answer") in new stack
    -- Executing [[email protected]:5] SIPAddHeader("SIP/1025-000002c1", "Alert-Info: Ring Answer") in new stack
    -- Executing [[email protected]:6] Set("SIP/1025-000002c1", "PJSIP_HEADER(add,Alert-Info)=Ring Answer") in new stack
[2016-09-01 22:17:53] ERROR[16124][C-00000126]: res_pjsip_header_funcs.c:515 func_write_header: This function requires a PJSIP channel.
    -- Executing [[email protected]:7] EndWhile("SIP/1025-000002c1", "") in new stack
    -- Executing [[email protected]:3] While("SIP/1025-000002c1", "0") in new stack
    -- Executing [[email protected]:8] Return("SIP/1025-000002c1", "") in new stack
    -- Executing [[email protected]:4] Return("SIP/1025-000002c1", "") in new stack
  == Spawn extension (from-internal, PAGE1025, 1) exited non-zero on 'SIP/1025-000002c1'
    -- SIP/1025-000002c1 Internal Gosub(autoanswer,s,1(Ring Answer,<uri>;answer-after=0)) complete GOSUB_RETVAL=
    -- Called SIP/1025
    -- Executing [[email protected]:11] Answer("SIP/1007-000002c0", "") in new stack
       > 0x2c85590 -- Probation passed - setting RTP source address to 10.11.5.21:16398
    -- Executing [[email protected]:12] MeetMe("SIP/1007-000002c0", "147276827
    -- Created MeetMe conference 1023 for conference '1472768273819'
    -- SIP/1025-000002c1 answered Local/[email protected];2
    -- <SIP/1025-000002c1> Playing 'custom/emergency_announcement.slin' (languag
       > 0x7ff87dab9830 -- Probation passed - setting RTP source address to 10.1
    -- Executing [[email protected]:2] Answer("Local/[email protected];
    -- Local/[email protected];1 answered
       > Launching Wait(5) on Local/[email protected];1
    -- Executing [[email protected]:2] Answer("Local/[email protected];
    -- Local/[email protected];1 answered
       > Launching Playback(beep) on Local/[email protected];1
    -- <Local/[email protected];1> Playing 'beep.gsm' (language 'en')
    -- Executing [[email protected]:3] MeetMe("Local/[email protected];
    -- Executing [[email protected]:3] MeetMe("Local/[email protected];
  == Spawn extension (app-page-stream, s, 3) exited non-zero on 'Local/[email protected]
  == Spawn extension (app-page-stream, s, 3) exited non-zero on 'Local/[email protected]
  == Spawn extension (app-paging, PAGE1025, 7) exited non-zero on 'Local/PAGE102
    -- Hungup 'DAHDI/pseudo-1223116478'
  == Spawn extension (app-pagegroups, 9911, 12) exited non-zero on 'SIP/1007-000
    -- Executing [[email protected]:1] ExecIf("SIP/1007-000002c0", "1?Set(DEVICE_
ZTCO-VOIP02*CLI> exit
Asterisk cleanly ending (0).
Executing last minute cleanups

Full trace of a Paging Group call posted.

The 30-second thing has me wondering if the RTP session is timing out with your 20 seconds of silence. You are transcoding the call from Chan-SIP to PJ-SIP, so there might be something important in that getting lost on translation.

One way to test is to add a low-level “comfort noise” to the recording. It doesn’t have to be much, just enough to keep passing RTP traffic to the destination phones.

I’m sorry, I wasn’t fully clear in my original post. The entire message is ~20 seconds long, consisting of ~7 seconds of English, ~7 seconds of Spanish, and ~6 seconds of silence. It loops fifteen times over the five minute course of the .wav file. So the longest silence is 6 seconds. While I can try low level fan noise in place of the silence easily enough, the recording currently cuts off during the second repetition of the Spanish message, so there is sound for the first ~14 and last ~10 seconds of the playback before it cuts off.

The RTP thing might be biting you one another way - since there’s nothing coming from the remote phones, your RTP session might be timing out because of that.

Thirty seconds is a pretty common time-out. The RTP session thing is just one place to look.

Dear Friend

I am facing the exactly same problem. Did you manage to get it resolved?

I am very thankful for your help.

Regards
Tech

I am having this exact same issue. Has anyone found a resolution?

Hi there! I am in need of something similar.
You think you could help me developing it?
Regards, Chris.

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