IVR only answering call 60% of the time

Hi Guys,

Just want to say thanks so much for creating such a wonderful product!!

We are having a few problems with IVR’s on our system. They seem to only be answering roughly 60% of the time. for the other 40% it hangs up the channel after the Wait message.

Iv done some creative editing in these to mask numbers and trunks ect but in sure you will get the drift. Both of these calls were placed on after the other from the same mobile device.

This is a call trace of a WORKING call coming in

== Using SIP RTP TOS bits 184 == Using SIP RTP CoS mark 5 -- Executing [TRUNKNAME@from-trunk-sip-0123456789:1] Set("SIP/0123456789-00000810", "GROUP()=OUT_3") in new stack -- Executing [TRUNKNAME@from-trunk-sip-0123456789:2] Goto("SIP/0123456789-00000810", "from-trunk,TRUNKNAME,1") in new stack -- Goto (from-trunk,TRUNKNAME,1) -- Executing [TRUNKNAME@from-trunk:1] Set("SIP/0123456789-00000810", "__FROM_DID=TRUNKNAME") in new stack -- Executing [TRUNKNAME@from-trunk:2] Gosub("SIP/0123456789-00000810", "app-blacklist-check,s,1") in new stack -- Executing [s@app-blacklist-check:1] GotoIf("SIP/0123456789-00000810", "0?blacklisted") in new stack -- Executing [s@app-blacklist-check:2] Set("SIP/0123456789-00000810", "CALLED_BLACKLIST=1") in new stack -- Executing [s@app-blacklist-check:3] Return("SIP/0123456789-00000810", "") in new stack -- Executing [TRUNKNAME@from-trunk:3] ExecIf("SIP/0123456789-00000810", "0 ?Set(CALLERID(name)=CALLERID)") in new stack -- Executing [TRUNKNAME@from-trunk:4] Set("SIP/0123456789-00000810", "__CALLINGPRES_SV=allowed_not_screened") in new stack -- Executing [TRUNKNAME@from-trunk:5] Set("SIP/0123456789-00000810", "CALLERPRES()=allowed_not_screened") in new stack -- Executing [TRUNKNAME@from-trunk:6] Goto("SIP/0123456789-00000810", "ext-group,RINGGROUP,1") in new stack -- Goto (ext-group,RINGGROUP,1) -- Executing [RINGGROUP@ext-group:1] Macro("SIP/0123456789-00000810", "user-callerid,") in new stack -- Executing [s@macro-user-callerid:1] Set("SIP/0123456789-00000810", "AMPUSER=CALLERID") in new stack -- Executing [s@macro-user-callerid:2] GotoIf("SIP/0123456789-00000810", "0?report") in new stack -- Executing [s@macro-user-callerid:3] ExecIf("SIP/0123456789-00000810", "1?Set(REALCALLERIDNUM=CALLERID)") in new stack -- Executing [s@macro-user-callerid:4] Set("SIP/0123456789-00000810", "AMPUSER=") in new stack -- Executing [s@macro-user-callerid:5] Set("SIP/0123456789-00000810", "AMPUSERCIDNAME=") in new stack -- Executing [s@macro-user-callerid:6] GotoIf("SIP/0123456789-00000810", "1?report") in new stack -- Goto (macro-user-callerid,s,11) -- Executing [s@macro-user-callerid:11] GotoIf("SIP/0123456789-00000810", "0?continue") in new stack -- Executing [s@macro-user-callerid:12] Set("SIP/0123456789-00000810", "__TTL=64") in new stack -- Executing [s@macro-user-callerid:13] GotoIf("SIP/0123456789-00000810", "1?continue") in new stack -- Goto (macro-user-callerid,s,24) -- Executing [s@macro-user-callerid:24] Set("SIP/0123456789-00000810", "CALLERID(number)=CALLERID") in new stack -- Executing [s@macro-user-callerid:25] Set("SIP/0123456789-00000810", "CALLERID(name)=CALLERID") in new stack -- Executing [s@macro-user-callerid:26] Set("SIP/0123456789-00000810", "CHANNEL(language)=en_uk") in new stack -- Executing [RINGGROUP@ext-group:2] Macro("SIP/0123456789-00000810", "blkvm-setifempty,") in new stack -- Executing [s@macro-blkvm-setifempty:1] GotoIf("SIP/0123456789-00000810", "1?init") in new stack -- Goto (macro-blkvm-setifempty,s,4) -- Executing [s@macro-blkvm-setifempty:4] Set("SIP/0123456789-00000810", "__BLKVM_CHANNEL=SIP/0123456789-00000810") in new stack -- Executing [s@macro-blkvm-setifempty:5] Set("SIP/0123456789-00000810", "SHARED(BLKVM,SIP/0123456789-00000810)=TRUE") in new stack -- Executing [s@macro-blkvm-setifempty:6] Set("SIP/0123456789-00000810", "GOSUB_RETVAL=TRUE") in new stack -- Executing [s@macro-blkvm-setifempty:7] MacroExit("SIP/0123456789-00000810", "") in new stack -- Executing [RINGGROUP@ext-group:3] GotoIf("SIP/0123456789-00000810", "1?skipov") in new stack -- Goto (ext-group,RINGGROUP,6) -- Executing [RINGGROUP@ext-group:6] Set("SIP/0123456789-00000810", "RRNODEST=") in new stack -- Executing [RINGGROUP@ext-group:7] Set("SIP/0123456789-00000810", "__NODEST=RINGGROUP") in new stack -- Executing [RINGGROUP@ext-group:8] GosubIf("SIP/0123456789-00000810", "1?sub-rgsetcid,s,1") in new stack -- Executing [s@sub-rgsetcid:1] Goto("SIP/0123456789-00000810", "s-extern,1") in new stack -- Goto (sub-rgsetcid,s-extern,1) -- Executing [s-extern@sub-rgsetcid:1] ExecIf("SIP/0123456789-00000810", "1?Set(__TRUNKCIDOVERRIDE=RINGGROUP)") in new stack -- Executing [s-extern@sub-rgsetcid:2] Return("SIP/0123456789-00000810", "") in new stack -- Executing [RINGGROUP@ext-group:9] Set("SIP/0123456789-00000810", "RecordMethod=Group") in new stack -- Executing [RINGGROUP@ext-group:10] Macro("SIP/0123456789-00000810", "record-enable,0,Group") in new stack -- Executing [s@macro-record-enable:1] GotoIf("SIP/0123456789-00000810", "1?check") in new stack -- Goto (macro-record-enable,s,4) -- Executing [s@macro-record-enable:4] ExecIf("SIP/0123456789-00000810", "0?MacroExit()") in new stack -- Executing [s@macro-record-enable:5] GotoIf("SIP/0123456789-00000810", "1?Group:OUT") in new stack -- Goto (macro-record-enable,s,6) -- Executing [s@macro-record-enable:6] Set("SIP/0123456789-00000810", "LOOPCNT=1") in new stack -- Executing [s@macro-record-enable:7] Set("SIP/0123456789-00000810", "ITER=1") in new stack -- Executing [s@macro-record-enable:8] GotoIf("SIP/0123456789-00000810", "1?continue") in new stack -- Goto (macro-record-enable,s,12) -- Executing [s@macro-record-enable:12] Set("SIP/0123456789-00000810", "ITER=2") in new stack -- Executing [s@macro-record-enable:13] GotoIf("SIP/0123456789-00000810", "0?begin") in new stack -- Executing [s@macro-record-enable:14] GotoIf("SIP/0123456789-00000810", "0?IN") in new stack -- Executing [s@macro-record-enable:15] ExecIf("SIP/0123456789-00000810", "1?MacroExit()") in new stack -- Executing [RINGGROUP@ext-group:11] Set("SIP/0123456789-00000810", "RingGroupMethod=ringall") in new stack -- Executing [RINGGROUP@ext-group:12] Macro("SIP/0123456789-00000810", "dial,30,trxX,0") in new stack -- Executing [s@macro-dial:1] GotoIf("SIP/0123456789-00000810", "1?dial") in new stack -- Goto (macro-dial,s,3) -- Executing [s@macro-dial:3] AGI("SIP/0123456789-00000810", "dialparties.agi") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi dialparties.agi: Starting New Dialparties.agi dialparties.agi: Caller ID name is 'CALLERID' number is 'CALLERID' > dialparties.agi: USE_CONFIRMATION: 'FALSE' > dialparties.agi: RINGGROUP_INDEX: '' dialparties.agi: Methodology of ring is 'ringall' -- dialparties.agi: Filtered ARG3: > dialparties.agi: NODEST: RINGGROUP adding M(auto-blkvm) to dialopts: trxXM(auto-blkvm) > dialparties.agi: NODEST: RINGGROUP blkvm enabled macro already in dialopts: trxXM(auto-blkvm) dialparties.agi: Setting default NOANSWER DIALSTATUS since no extensions available -- AGI Script dialparties.agi completed, returning 0 -- Executing [s@macro-dial:4] NoOp("SIP/0123456789-00000810", "Returned from dialparties with no extensions to call and DIALSTATUS: NOANSWER") in new stack -- Executing [RINGGROUP@ext-group:13] Set("SIP/0123456789-00000810", "RingGroupMethod=") in new stack -- Executing [RINGGROUP@ext-group:14] GotoIf("SIP/0123456789-00000810", "0?nodest") in new stack -- Executing [RINGGROUP@ext-group:15] Set("SIP/0123456789-00000810", "__NODEST=") in new stack -- Executing [RINGGROUP@ext-group:16] Macro("SIP/0123456789-00000810", "blkvm-clr,") in new stack -- Executing [s@macro-blkvm-clr:1] Set("SIP/0123456789-00000810", "SHARED(BLKVM,SIP/0123456789-00000810)=") in new stack -- Executing [s@macro-blkvm-clr:2] Set("SIP/0123456789-00000810", "GOSUB_RETVAL=") in new stack -- Executing [s@macro-blkvm-clr:3] MacroExit("SIP/0123456789-00000810", "") in new stack -- Executing [RINGGROUP@ext-group:17] Goto("SIP/0123456789-00000810", "timeconditions,7,1") in new stack -- Goto (timeconditions,7,1) -- Executing [7@timeconditions:1] GotoIfTime("SIP/0123456789-00000810", "09:30-18:00,mon-fri,1-31,jan-dec?truestate") in new stack -- Goto (timeconditions,7,7) -- Executing [7@timeconditions:7] GotoIf("SIP/0123456789-00000810", "0?falsegoto") in new stack -- Executing [7@timeconditions:8] ExecIf("SIP/0123456789-00000810", "0?Set(DB(TC/7)=)") in new stack -- Executing [7@timeconditions:9] GotoIf("SIP/0123456789-00000810", "1?ivr-7,s,1") in new stack -- Goto (ivr-7,s,1) -- Executing [s@ivr-7:1] Set("SIP/0123456789-00000810", "MSG=custom/IVR") in new stack -- Executing [s@ivr-7:2] Set("SIP/0123456789-00000810", "LOOPCOUNT=0") in new stack -- Executing [s@ivr-7:3] Set("SIP/0123456789-00000810", "__DIR-CONTEXT=") in new stack -- Executing [s@ivr-7:4] Set("SIP/0123456789-00000810", "_IVR_CONTEXT_ivr-7=") in new stack -- Executing [s@ivr-7:5] Set("SIP/0123456789-00000810", "_IVR_CONTEXT=ivr-7") in new stack -- Executing [s@ivr-7:6] GotoIf("SIP/0123456789-00000810", "0?begin") in new stack -- Executing [s@ivr-7:7] Answer("SIP/0123456789-00000810", "") in new stack -- Executing [s@ivr-7:8] Wait("SIP/0123456789-00000810", "1") in new stack -- Executing [s@ivr-7:9] Set("SIP/0123456789-00000810", "TIMEOUT(digit)=3") in new stack -- Digit timeout set to 3.000 -- Executing [s@ivr-7:10] Set("SIP/0123456789-00000810", "TIMEOUT(response)=20") in new stack -- Response timeout set to 20.000 -- Executing [s@ivr-7:11] Set("SIP/0123456789-00000810", "__IVR_RETVM=") in new stack -- Executing [s@ivr-7:12] ExecIf("SIP/0123456789-00000810", "1?Background(custom/IVR)") in new stack -- Playing 'custom/IVR.slin' (language 'en_uk') == Spawn extension (ivr-7, s, 12) exited non-zero on 'SIP/0123456789-00000810' -- Executing [h@ivr-7:1] Hangup("SIP/0123456789-00000810", "") in new stack == Spawn extension (ivr-7, h, 1) exited non-zero on 'SIP/0123456789-00000810'

This is a call trace of a NON WORKING call coming in.

== Using SIP RTP TOS bits 184 == Using SIP RTP CoS mark 5 -- Executing [TRUNKNAME@from-trunk-sip-0123456789:1] Set("SIP/0123456789-00000811", "GROUP()=OUT_3") in new stack -- Executing [TRUNKNAME@from-trunk-sip-0123456789:2] Goto("SIP/0123456789-00000811", "from-trunk,TRUNKNAME,1") in new stack -- Goto (from-trunk,TRUNKNAME,1) -- Executing [TRUNKNAME@from-trunk:1] Set("SIP/0123456789-00000811", "__FROM_DID=TRUNKNAME") in new stack -- Executing [TRUNKNAME@from-trunk:2] Gosub("SIP/0123456789-00000811", "app-blacklist-check,s,1") in new stack -- Executing [s@app-blacklist-check:1] GotoIf("SIP/0123456789-00000811", "0?blacklisted") in new stack -- Executing [s@app-blacklist-check:2] Set("SIP/0123456789-00000811", "CALLED_BLACKLIST=1") in new stack -- Executing [s@app-blacklist-check:3] Return("SIP/0123456789-00000811", "") in new stack -- Executing [TRUNKNAME@from-trunk:3] ExecIf("SIP/0123456789-00000811", "0 ?Set(CALLERID(name)=CALLERID)") in new stack -- Executing [TRUNKNAME@from-trunk:4] Set("SIP/0123456789-00000811", "__CALLINGPRES_SV=allowed_not_screened") in new stack -- Executing [TRUNKNAME@from-trunk:5] Set("SIP/0123456789-00000811", "CALLERPRES()=allowed_not_screened") in new stack -- Executing [TRUNKNAME@from-trunk:6] Goto("SIP/0123456789-00000811", "ext-group,RINGGROUP,1") in new stack -- Goto (ext-group,RINGGROUP,1) -- Executing [RINGGROUP@ext-group:1] Macro("SIP/0123456789-00000811", "user-callerid,") in new stack -- Executing [s@macro-user-callerid:1] Set("SIP/0123456789-00000811", "AMPUSER=CALLERID") in new stack -- Executing [s@macro-user-callerid:2] GotoIf("SIP/0123456789-00000811", "0?report") in new stack -- Executing [s@macro-user-callerid:3] ExecIf("SIP/0123456789-00000811", "1?Set(REALCALLERIDNUM=CALLERID)") in new stack -- Executing [s@macro-user-callerid:4] Set("SIP/0123456789-00000811", "AMPUSER=") in new stack -- Executing [s@macro-user-callerid:5] Set("SIP/0123456789-00000811", "AMPUSERCIDNAME=") in new stack -- Executing [s@macro-user-callerid:6] GotoIf("SIP/0123456789-00000811", "1?report") in new stack -- Goto (macro-user-callerid,s,11) -- Executing [s@macro-user-callerid:11] GotoIf("SIP/0123456789-00000811", "0?continue") in new stack -- Executing [s@macro-user-callerid:12] Set("SIP/0123456789-00000811", "__TTL=64") in new stack -- Executing [s@macro-user-callerid:13] GotoIf("SIP/0123456789-00000811", "1?continue") in new stack -- Goto (macro-user-callerid,s,24) -- Executing [s@macro-user-callerid:24] Set("SIP/0123456789-00000811", "CALLERID(number)=CALLERID") in new stack -- Executing [s@macro-user-callerid:25] Set("SIP/0123456789-00000811", "CALLERID(name)=CALLERID") in new stack -- Executing [s@macro-user-callerid:26] Set("SIP/0123456789-00000811", "CHANNEL(language)=en_uk") in new stack -- Executing [RINGGROUP@ext-group:2] Macro("SIP/0123456789-00000811", "blkvm-setifempty,") in new stack -- Executing [s@macro-blkvm-setifempty:1] GotoIf("SIP/0123456789-00000811", "1?init") in new stack -- Goto (macro-blkvm-setifempty,s,4) -- Executing [s@macro-blkvm-setifempty:4] Set("SIP/0123456789-00000811", "__BLKVM_CHANNEL=SIP/0123456789-00000811") in new stack -- Executing [s@macro-blkvm-setifempty:5] Set("SIP/0123456789-00000811", "SHARED(BLKVM,SIP/0123456789-00000811)=TRUE") in new stack -- Executing [s@macro-blkvm-setifempty:6] Set("SIP/0123456789-00000811", "GOSUB_RETVAL=TRUE") in new stack -- Executing [s@macro-blkvm-setifempty:7] MacroExit("SIP/0123456789-00000811", "") in new stack -- Executing [RINGGROUP@ext-group:3] GotoIf("SIP/0123456789-00000811", "1?skipov") in new stack -- Goto (ext-group,RINGGROUP,6) -- Executing [RINGGROUP@ext-group:6] Set("SIP/0123456789-00000811", "RRNODEST=") in new stack -- Executing [RINGGROUP@ext-group:7] Set("SIP/0123456789-00000811", "__NODEST=RINGGROUP") in new stack -- Executing [RINGGROUP@ext-group:8] GosubIf("SIP/0123456789-00000811", "1?sub-rgsetcid,s,1") in new stack -- Executing [s@sub-rgsetcid:1] Goto("SIP/0123456789-00000811", "s-extern,1") in new stack -- Goto (sub-rgsetcid,s-extern,1) -- Executing [s-extern@sub-rgsetcid:1] ExecIf("SIP/0123456789-00000811", "1?Set(__TRUNKCIDOVERRIDE=RINGGROUP)") in new stack -- Executing [s-extern@sub-rgsetcid:2] Return("SIP/0123456789-00000811", "") in new stack -- Executing [RINGGROUP@ext-group:9] Set("SIP/0123456789-00000811", "RecordMethod=Group") in new stack -- Executing [RINGGROUP@ext-group:10] Macro("SIP/0123456789-00000811", "record-enable,0,Group") in new stack -- Executing [s@macro-record-enable:1] GotoIf("SIP/0123456789-00000811", "1?check") in new stack -- Goto (macro-record-enable,s,4) -- Executing [s@macro-record-enable:4] ExecIf("SIP/0123456789-00000811", "0?MacroExit()") in new stack -- Executing [s@macro-record-enable:5] GotoIf("SIP/0123456789-00000811", "1?Group:OUT") in new stack -- Goto (macro-record-enable,s,6) -- Executing [s@macro-record-enable:6] Set("SIP/0123456789-00000811", "LOOPCNT=1") in new stack -- Executing [s@macro-record-enable:7] Set("SIP/0123456789-00000811", "ITER=1") in new stack -- Executing [s@macro-record-enable:8] GotoIf("SIP/0123456789-00000811", "1?continue") in new stack -- Goto (macro-record-enable,s,12) -- Executing [s@macro-record-enable:12] Set("SIP/0123456789-00000811", "ITER=2") in new stack -- Executing [s@macro-record-enable:13] GotoIf("SIP/0123456789-00000811", "0?begin") in new stack -- Executing [s@macro-record-enable:14] GotoIf("SIP/0123456789-00000811", "0?IN") in new stack -- Executing [s@macro-record-enable:15] ExecIf("SIP/0123456789-00000811", "1?MacroExit()") in new stack -- Executing [RINGGROUP@ext-group:11] Set("SIP/0123456789-00000811", "RingGroupMethod=ringall") in new stack -- Executing [RINGGROUP@ext-group:12] Macro("SIP/0123456789-00000811", "dial,30,trxX,0") in new stack -- Executing [s@macro-dial:1] GotoIf("SIP/0123456789-00000811", "1?dial") in new stack -- Goto (macro-dial,s,3) -- Executing [s@macro-dial:3] AGI("SIP/0123456789-00000811", "dialparties.agi") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi dialparties.agi: Starting New Dialparties.agi dialparties.agi: Caller ID name is 'CALLERID' number is 'CALLERID' > dialparties.agi: USE_CONFIRMATION: 'FALSE' > dialparties.agi: RINGGROUP_INDEX: '' dialparties.agi: Methodology of ring is 'ringall' -- dialparties.agi: Filtered ARG3: > dialparties.agi: NODEST: RINGGROUP adding M(auto-blkvm) to dialopts: trxXM(auto-blkvm) > dialparties.agi: NODEST: RINGGROUP blkvm enabled macro already in dialopts: trxXM(auto-blkvm) dialparties.agi: Setting default NOANSWER DIALSTATUS since no extensions available -- AGI Script dialparties.agi completed, returning 0 -- Executing [s@macro-dial:4] NoOp("SIP/0123456789-00000811", "Returned from dialparties with no extensions to call and DIALSTATUS: NOANSWER") in new stack -- Executing [RINGGROUP@ext-group:13] Set("SIP/0123456789-00000811", "RingGroupMethod=") in new stack -- Executing [RINGGROUP@ext-group:14] GotoIf("SIP/0123456789-00000811", "0?nodest") in new stack -- Executing [RINGGROUP@ext-group:15] Set("SIP/0123456789-00000811", "__NODEST=") in new stack -- Executing [RINGGROUP@ext-group:16] Macro("SIP/0123456789-00000811", "blkvm-clr,") in new stack -- Executing [s@macro-blkvm-clr:1] Set("SIP/0123456789-00000811", "SHARED(BLKVM,SIP/0123456789-00000811)=") in new stack -- Executing [s@macro-blkvm-clr:2] Set("SIP/0123456789-00000811", "GOSUB_RETVAL=") in new stack -- Executing [s@macro-blkvm-clr:3] MacroExit("SIP/0123456789-00000811", "") in new stack -- Executing [RINGGROUP@ext-group:17] Goto("SIP/0123456789-00000811", "timeconditions,7,1") in new stack -- Goto (timeconditions,7,1) -- Executing [7@timeconditions:1] GotoIfTime("SIP/0123456789-00000811", "09:30-18:00,mon-fri,1-31,jan-dec?truestate") in new stack -- Goto (timeconditions,7,7) -- Executing [7@timeconditions:7] GotoIf("SIP/0123456789-00000811", "0?falsegoto") in new stack -- Executing [7@timeconditions:8] ExecIf("SIP/0123456789-00000811", "0?Set(DB(TC/7)=)") in new stack -- Executing [7@timeconditions:9] GotoIf("SIP/0123456789-00000811", "1?ivr-7,s,1") in new stack -- Goto (ivr-7,s,1) -- Executing [s@ivr-7:1] Set("SIP/0123456789-00000811", "MSG=custom/IVR") in new stack -- Executing [s@ivr-7:2] Set("SIP/0123456789-00000811", "LOOPCOUNT=0") in new stack -- Executing [s@ivr-7:3] Set("SIP/0123456789-00000811", "__DIR-CONTEXT=") in new stack -- Executing [s@ivr-7:4] Set("SIP/0123456789-00000811", "_IVR_CONTEXT_ivr-7=") in new stack -- Executing [s@ivr-7:5] Set("SIP/0123456789-00000811", "_IVR_CONTEXT=ivr-7") in new stack -- Executing [s@ivr-7:6] GotoIf("SIP/0123456789-00000811", "0?begin") in new stack -- Executing [s@ivr-7:7] Answer("SIP/0123456789-00000811", "") in new stack -- Executing [s@ivr-7:8] Wait("SIP/0123456789-00000811", "1") in new stack == Spawn extension (ivr-7, s, 8) exited non-zero on 'SIP/0123456789-00000811' -- Executing [h@ivr-7:1] Hangup("SIP/0123456789-00000811", "") in new stack == Spawn extension (ivr-7, h, 1) exited non-zero on 'SIP/0123456789-00000811'

Im totally lost with this issue. Its happening on several IVRS.

THANKS in Advance!

Anyone got any ideas on this?

Best regards,

Matthew

As far as I have seen, if an IVR itself works, it works. There is no works sometimes to it.
You mention multiple IVR’s. Is the failure always occurring with the same IVR?

That leaves a few variables:

  1. Could it be a trunk issue: Is the trunk delivering the proper DID, etc.
  2. Is the trunk itself failing.
  3. Is it always the same trunk?

A way to troubleshoot this would be to create a Misc Application for each IVR, then you can access each IVR individually bypassing the trunks.

Hi Thanks for that,

This issue occurs with multiple ivrs on the system on different trunks although with the same provider?

The said IVR above does literally work sometimes and not others. I reckon I can call the number 5 times from the same mobile phone or landline and it will play the recording 3 out of the 5 times. (Same IVR and Same Trunk and same mobile)

as you can see above the call is being routed to the right place but just happens to drop before the recording is played sometimes and it hangs up?

It never hangs up on internal calls.

I was wondering if it was maybe a codec issue with the recordings?

Best regards,

Matthew