Cisco CME and “SIP/2.0 488 Not Acceptable Here”
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
Here’s the error itself:
*Sep 9 13:07:37.069: //4774/9A7FFFC88402/SIP/Msg/ccsipDisplayMsg: Sent: INVITE sip:0553251661@ISP-IP-ADDR:5060;user=phone;transport=udp SIP/2.0 Via: SIP/2.0/UDP CME-IP-ADDR:5060;branch=z9hG4bK10A9A97 From: "NUMBER" <sip:NUMBER@CME-IP-ADDR:5060;user=phone>;tag=F568F53-1A16 To: "0553251661" <sip:0553251661@ISP-IP-ADDR:5060;user=phone;cpc=ordinary>;tag=SDndq2701-bpkbrx8vrf Date: Mon, 09 Sep 2019 13:07:37 GMT Call-ID: SDndq2701-a75e725ad26cc02c4cd0eb932dc03ba5-a85a0a0 Supported: 100rel,timer,resource-priority,replaces,sdp-anat Min-SE: 1800 Cisco-Guid: 2592079816-3526955497-2214758057-2380581963 User-Agent: Cisco-SIPGateway/IOS-16.6.4 Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER CSeq: 101 INVITE Max-Forwards: 70 Timestamp: 1568034457 Contact: <sip:NUMBER@CME-IP-ADDR:5060> Expires: 180 Allow-Events: telephone-event Session-ID: 72b15b8600105000a000002f5c4e8b98;remote=603651d1f9555ad397d11dbc80df38e4 Content-Type: application/sdp Content-Length: 264 v=0 o=CiscoSystemsSIP-GW-UserAgent 9262 2437 IN IP4 CME-IP-ADDR s=SIP Call c=IN IP4 CME-IP-ADDR t=0 0 m=audio 8142 RTP/AVP 8 101 c=IN IP4 CME-IP-ADDR a=rtpmap:8 PCMA/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=ptime:20 a=sendonly *Sep 9 13:07:37.103: //4774/9A7FFFC88402/SIP/Msg/ccsipDisplayMsg: Received: SIP/2.0 488 Not Acceptable Here Via: SIP/2.0/UDP CME-IP-ADDR:5060;branch=z9hG4bK10A9A97 From: "NUMBER" <sip:NUMBER@CME-IP-ADDR:5060;user=phone>;tag=F568F53-1A16 To: "0553251661" <sip:0553251661@ISP-IP-ADDR:5060;user=phone;cpc=ordinary>;tag=SDndq2701-bpkbrx8vrf Call-ID: SDndq2701-a75e725ad26cc02c4cd0eb932dc03ba5-a85a0a0 CSeq: 101 INVITE Timestamp: 1568034457 Content-Length: 0
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 sip midcall-signaling block
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 🙂