cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

SIP BYE cause with CTI Port on a SIP trunk

534
Views
0
Helpful
0
Comments
This document was generated from CDN thread

Created by: Stefania Oliviero on 24-04-2013 10:06:53 AM
Hi to all, we have a problema with our application based on CUCM 8.6 integrated with an Asterisk via a SIP Trunk.
We need to know the reason  why an active or held call, coming from the asterisk system, disconnets.
So we implemented a customized mechanism to get the reason code via the Cisco Cause fiield. This is based on Q.850 cause codes, passed  from the asterisk in the SIP BYE message. This mechanism works well on a IP Phone, but if the call was held on a CTI port, we can't receive the reason code (read from CiscoCause field).
The following  is a SIP message sample exchanged between the two system:
     BYE sip:6503@10.120.4.10:5060 SIP/2.0
  Via: SIP/2.0/UDP [local_ip]:[local_port];branch=
  From: "user" <sip:6558@10.120.4.10>;tag=[call_number]
  To: <sip:6503@10.120.4.10>[peer_tag_param]
  Call-ID: [call_id]
  CSeq:  BYE
  Contact: <sip:6558@10.3.1.140>
  Max-Forwards: 70
  Subject: Performance Test
  Reason: Q.850;cause=6
  Content-Length: 0
 
Why there is difference between IP Phones and CTI Ports ?

Subject: RE: SIP BYE cause with CTI Port on a SIP trunk
Replied by: David Staudt on 24-04-2013 02:00:46 PM
Without more details it would be hard to say, other than an educated guess that there might be some problem in RTP media codec compatibility, i.e. one component (Asterisk, CTI port, MoH server) supports a codec that another doesn't, and/or transoding resources are unavailable.

Subject: RE: SIP BYE cause with CTI Port on a SIP trunk
Replied by: Stefania Oliviero on 29-04-2013 04:23:39 AM
I don't think it's a codec problem, because call betwteen the two party works well either if they are on IP Phone or on a CTI Port. Asterisk and CUCm supports the same and the only codec  we need (G711).
The following is the code we use to get che cause either on CTI port or on IPPhone.
protected void onInCallCtlTermConnDroppedEv(final CallCtlTermConnDroppedEv cctcdEv) throws Exception {
CiscoCallEv ccEv = (CiscoCallEv)cctcdEv;
ReasonCode reason  = ccEv.getCiscoCause()
...
}
 
The above code, return the code  sent from the asterisk in the case tha call in in progress on an IPPhone. For a CTI port it returns always CAUSE_NORMALCALLCLEARING even if asterisk sent other codes.
 

Subject: RE: SIP BYE cause with CTI Port on a SIP trunk
Replied by: Stefania Oliviero on 02-05-2013 02:49:41 AM
No Ideas ?
What details do you need  ?
CreatePlease to create content
Content for Community-Ad
August's Community Spotlight Awards