Call flow was basically:
Cisco 8841 -> SIP -> CUCM -> SIP -> CUBE -> QSIG PRI -> NEC 8500
When making calls from CUCM to NEC endpoints, placing a call on hold on the Cisco endpoint and resuming resulted in disconnecting the call on the CUCM side. The NEC system did not release the call.
Found a SIP UPDATE message being sent from CUCM to CUBE when resuming the call resulted in an ISDN NOTIFY message between CUBE and the NEC system. Either the NOTIFY message, or maybe just the fact it included a caller name in ISDN Display format was not supported by NEC. The result was the call would drop on the CUCM side.
Although you can remove the name in the ISDN SETUP message via "no isdn outgoing display-ie", there was no way I could find to eliminate the name from the ISDN NOTIFY message. The work around was to prevent caller ID from being updated on the SIP trunk side via SIP | no update-callerid in the CUBE configuration. This eliminated the entire ISDN NOTIFY message as a result.
This is a sample message sent to NEC when resuming held calls and the disconnect:
Dec 21 18:51:49.701: ISDN Se0/1/1:23 Q931: TX -> NOTIFY pd = 8 callref = 0x00C8
Notification Ind i = 0x8300
Display i = 'Ray Maslanka'
Calling Party Number i = 0x0081, '78898'
Plan:Unknown, Type:Unknown
Cause i = 0x85E328 - Information element not implemented
Call State i = 0x00
Dec 21 18:51:49.774: %ISDN-6-DISCONNECT: Interface Serial0/1/1:0 disconnected from 23999 , call lasted 19 seconds
This is relevant snippets of the CUBE configuration:
voice service voip
ip address trusted list
ipv4 X.X.X.X 255.255.255.0
mode border-element license capacity 200
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
fax protocol t38 version 0 ls-redundancy 1 hs-redundancy 1 fallback none
modem passthrough nse codec g711ulaw
h323
sip
bind control source-interface Port-channel1
bind media source-interface Port-channel1
! This eliminates the SIP UPDATE message
! that in turn eliminates the ISDN NOTIFY message
no update-callerid
early-offer forced
controller T1 0/1/0
framing esf
clock source network
linecode b8zs
cablelength long 0db
pri-group timeslots 1-24
trunk-group PSTN timeslots 1-24 preference 1
interface Serial0/1/0:23
encapsulation hdlc
no cdp enable
isdn switch-type primary-qsig
isdn protocol-emulate network
isdn incoming-voice voice
! This eliminates name display in ISDN SETUP messages.
! This DOES NOT eliminate name display in ISDN NOTIFY messages
! when resuming from hold.
no isdn outgoing display-ie
Thank you for posting this solution! I applied this and it fixed the problem for us during transfers on Cisco 8841 from stations connecting via ISDN from legacy NEC 8500 at another location. Shortly afterwards Cisco TAC provided an alternative that also resolves this for the CUCM dial peer side of the call.
ReplyDelete_________________________________________________________________
As a workaround, removed the update from the supported methods on the SIP INVITE forcing CUCM not send UPDATEs.
Apply this sip profile on the SIP dial-peer.
voice class sip-profiles xx ( Incoming dialpeer)
request ANY sip-header Allow-Header modify " UPDATE," ""
response ANY sip-header Allow-Header modify " UPDATE," ""