I have recently had a strange issue with call transfers on CME 12.0. I was getting “SIP/2.0 488 Not Acceptable Here” from ISP while trying to transfer a call from PSTN to another extension. Let’s see how we can solve this problem and make the transfer work.
The phone I used was Cisco 8851 running 12-5-1SR3-74 load. The router running CME was Cisco ISR 4331 with IOS XE 16.6.
You usually get “SIP/2.0 488 Not Acceptable Here” error when there’s a codec mismatch and in most cases adjusting the codecs on dial-peers solves the problem. In my setup codecs were OK and the calls were going through, but transfer didn’t work.
Adding the following lines under voice service voip didn’t help either:
no supplementary-service sip moved-temporarily
no supplementary-service sip refer
You can see, that when making a transfer, CME sends a mid-call INVITE and ISP responds with “488 Not Acceptable Here”. There was definitely something in my INVITE message that ISP didn’t like, probably the INVITE message itself. Of course, you can talk to your ISP, but in my case it was not much of a help.
There’s a special command to prevent the CME from sending those mid-call INVITEs:
voice service voip
After adding midcall-signaling block the issue was solved and the whole voice service voip config looked like this:
Having that line made the CME stop sending the mid-call INVITEs. Instead the router sends only UPDATE message to the ISP in the very end of the transfer process.
You can find more information about mid-call signaling in this guide on Cisco website.
Thank you for reading. I hope this post helped you 🙂