Symptom
SCCP transcoding session is hung in an 'inactive' state. Over time, as more sessions are hung in this state, the transcoder may run out of available sessions and will fail to be allocated.
Output of 'show sccp connection' will show sessions in an 'inactive' state
ISR4451-Pod4#sh sccp co
sess_id conn_id stype mode codec sport rport ripaddr conn_id_tx
16779359 16777659 xcode inactive g711u 8032 8686 ip_addr
The TMR_EXPIRY counter under "ALLOC_MOD_PEND" for the output of 'show voip fpi stats" will show a non-zero value
Conditions
This occurs when using an IOS XE ISR 4000 series platforms for transcoding, registered to CUCM via SCCP, and the call flow involves a SIP trunk with "MTP required" checked.
After the call establishes with an IP phone and the transcoder is invoked, the call then needs to be transferred to an IP phone where the codec negotiates to the same codec that's negotiated for the ingress call. This is also seen when the called party initiates a conference call after the initial call is established.
Workaround
1. Uncheck "MTP required" on the SIP trunk involved in the call flow
Shut/No shut the DSPfarm transcoding profile as a temporary workaround at regular intervals.
ISR4KRouter(config)#dspfarm profile 1
ISR4KRouter(config-dspfarm-profile)#shut
Disabling profile will disconnect active TRANSCODING calls,
do you want to continue ? [yes/no]yes
ISR4KRouter(config-dspfarm-profile)#no shut
Note that this will drop all active calls as per the above warning. Perform this while no active calls are using the transcoder.
Further Problem Description