Last week I had an interesting issue with one of our SIP Voice circuits. Calls to a specific mobile numbers were connecting but there was no two way audio. Signalling worked (e.g the mobile phone would ring) but there was no audio.
So to investigate I ran debugs on the Cisco voice router (ISR 4331):
debug ccsip calls
debug ccsip messages
Then I placed the call to the mobile in question. In this instance the call is being call forwarded. The call flow is mobile -> Handset with SIP DID -> Mobile. The last call leg is captured below showing the 488 message.
From here we see the following debug:
Nov 4 01:16:07.707: //15772/BCE33F800001/SIP/Msg/ccsipDisplayMsg:
SIP/2.0 488 Not Acceptable Media
Via: SIP/2.0/TCP 10.4.XX.XX:5060;branch=z9hG4bK70db87bfc3812
From: "Doug Smith"
Date: Thu, 04 Nov 2021 09:16:07 AWST
CSeq: 102 INVITE
I sent this to our telphony service provider (which is Telstra) and I was sent back the following debug:
The issue here is that there is a codec mismatch that has been negotiated midcall. The gateway is sending an invite midcall for the codec change. You can see we start with G.711ulaw and then offer G.711alaw.
The culprit was
midcall-signaling passthru media-change
To fix this:
voip service voip
no midcall-signaling passthru media-change
Once the configuration was corrected, the SIP Invite does not occur any more and the audio is now two way, because the codec negotiated during call setup does not change anymore.
All’s well the ends well!