IVR Silent and then Call Disconnects

I have our inbound calls pointed at a Ring Group. If no one answers the call within 15 seconds, it’s set to switch to our IVR. Once the call switches to the IVR (which should play an announcement, which was recorded from an extension), the call goes silent. After 20 seconds or so, the call just ends.

I’ve tried re-recording the system recording, deleting and readding the IVR, and redoing the inbound route. Anyone have any ideas?

Have you verified that there is actually audio in the file? It’s located at /var/lib/asterisk/sounds/custom - copy it off the system to a PC and play it and see if there is actually audio there.

I recorded it from an extension. When I go to System Recordings and download it to my computer it plays as expected. Also, at the end of the IVR I have it set to send to a ring group again upon timeout…so I would think if it were just playing silently that I’d end up back at the ring group…I feel like something is interrupting the IVR and then it’s just canceling out. Here’s the process I picked up from asterisk -Rvvv

-- Nobody picked up in 15000 ms
-- Executing [s@macro-dial:8] Set("SIP/vitel-inbound-0000008a", "DIALSTATUS=NOANSWER") in new stack
-- Executing [s@macro-dial:9] GosubIf("SIP/vitel-inbound-0000008a", "0?NOANSWER,1") in new stack
-- Executing [600@ext-group:12] Gosub("SIP/vitel-inbound-0000008a", "sub-record-cancel,s,1()") in new stack
-- Executing [s@sub-record-cancel:1] Return("SIP/vitel-inbound-0000008a", "") in new stack
-- Executing [600@ext-group:13] Set("SIP/vitel-inbound-0000008a", "RingGroupMethod=") in new stack
-- Executing [600@ext-group:14] GotoIf("SIP/vitel-inbound-0000008a", "0?nodest") in new stack
-- Executing [600@ext-group:15] Set("SIP/vitel-inbound-0000008a", "__NODEST=") in new stack
-- Executing [600@ext-group:16] Macro("SIP/vitel-inbound-0000008a", "blkvm-clr,") in new stack
-- Executing [s@macro-blkvm-clr:1] Set("SIP/vitel-inbound-0000008a", "SHARED(BLKVM,SIP/vitel-inbound-0000008a)=") in new stack
-- Executing [s@macro-blkvm-clr:2] Set("SIP/vitel-inbound-0000008a", "GOSUB_RETVAL=") in new stack
-- Executing [s@macro-blkvm-clr:3] MacroExit("SIP/vitel-inbound-0000008a", "") in new stack
-- Executing [600@ext-group:17] Goto("SIP/vitel-inbound-0000008a", "ivr-2,s,1") in new stack
-- Goto (ivr-2,s,1)
-- Executing [s@ivr-2:1] Set("SIP/vitel-inbound-0000008a", "_IVR_CONTEXT_ivr-2=") in new stack
-- Executing [s@ivr-2:2] Set("SIP/vitel-inbound-0000008a", "_IVR_CONTEXT=ivr-2") in new stack
-- Executing [s@ivr-2:3] Set("SIP/vitel-inbound-0000008a", "__IVR_RETVM=") in new stack
-- Executing [s@ivr-2:4] GotoIf("SIP/vitel-inbound-0000008a", "0?skip") in new stack
-- Executing [s@ivr-2:5] Answer("SIP/vitel-inbound-0000008a", "") in new stack
-- Executing [s@ivr-2:6] Wait("SIP/vitel-inbound-0000008a", "1") in new stack
-- Executing [s@ivr-2:7] Set("SIP/vitel-inbound-0000008a", "IVR_MSG=custom/NewIVR") in new stack
-- Executing [s@ivr-2:8] Set("SIP/vitel-inbound-0000008a", "TIMEOUT(digit)=3") in new stack
-- Digit timeout set to 3.000
-- Executing [s@ivr-2:9] ExecIf("SIP/vitel-inbound-0000008a", "1?Background(custom/NewIVR)") in new stack
-- <SIP/vitel-inbound-0000008a> Playing 'custom/NewIVR.slin' (language 'en')
-- Executing [s@ivr-2:10] WaitExten("SIP/vitel-inbound-0000008a", "15,") in new stack

[2015-06-25 22:01:24] NOTICE[1911]: chan_sip.c:29115 check_rtp_timeout: Disconnecting call ‘SIP/vitel-inbound-0000008a’ for lack of RTP activity in 31 seconds
== Spawn extension (ivr-2, s, 10) exited non-zero on ‘SIP/vitel-inbound-0000008a’
– Executing [h@ivr-2:1] Hangup(“SIP/vitel-inbound-0000008a”, “”) in new stack
== Spawn extension (ivr-2, h, 1) exited non-zero on 'SIP/vitel-inbound-0000008a’
localhost*CLI>

I also wanted to add this is a brand new install (not in use at all yet). There are 10 extensions (all in the ring group). All I’ve done so far is add all the phones and then update FreePBX using the modules admin…

I have another FreePBX system that my office uses (5 extensions) and I’ve compared the IVR setup and it’s pretty well the same. The only difference is on my office system, I recorded the IVR audio on my computer with a decent mic, and uploaded the files.

First you need to get your routers and NAT working properly. Try the wiki here for how things can be made to work . . .

http://wiki.freepbx.org/pages/viewpage.action?pageId=24051965

I have a PBX running on the same network without issue…so I was thinking it wasn’t really a problem with the Routers/nat. I’ll double check my firewall and see what I can find out. Thank you so much for your time!

Having another PBX on the same network behing the same router needs extra care, you will need to use separate SIP and RTP ports for each one and handle them differently.

I see…I only have it on my network long enough to set it up (trying to do majority of setup offsite). But that makes perfect sense. I’ll work with this on a different network and see if the issue is resolved. Thanks!

Could this also be a codec issue?? My issue is similar: if Inbound Route is to an extension, it all works fine.
Ring group setup:
Ringall with 4 extensions selected
MOH is a wav file: ring tone for 15sec, then a message saying please hold
Dest if no answer is another ring group with default MOH playing for 300sec.

OK, so, if I set inbound route to this ring group, when an external call comes in, the phones ring, the MOH plays, the 2nd ring group works with default MOH. All good so far.
But, if the call is answered on one of the ringing extensions, at any time in that process, the call hangsup.

I don’t have it in front of me, but prior to the hangup, in the CLI it states it is unable to convert G729 to alaw. (sorry, not the exact text) . This does not happen when the extension is set as the inbound route. I have G729 set as the priority codec in the handsets, the FPBX and with the SIP provider. (other codec options gave a similar result when dialling extensions directly-ie hangup on answering with a codec mismatch in the CLI)

Does using a Ring Group mess with the codecs?

Are the people who flagged the two preceding posts sure of the dubious legality of this G.729 implementation?

As of January 1st of this year the patent on G.729 have expired so it is possible to have an absolutely free implementation of it.

The people you need to pay now (if the product is not available for free) are the people who implemented and possibly optimized it.

That being said, the best thing is to avoid G.729 altogether and use G.711 or G.722 whenever possible…

Have a nice day,

Nick

1 Like

I had no intention of posting anything dodgy. My apologies.

The point is, installing G729 fixed the problem. I just could not get the ring groups to work when G711 was selected as the preferred codec until G729 was installed.