Summary:ASTERISK-12692: Call disconnection with branch in via header changing and scheduled destruction of sip call
Reporter:Abhay Gupta (agupta)Labels:
Date Opened:2008-09-07 09:42:49Date Closed:2011-06-07 14:08:13
Versions:Frequency of
Environment:Attachments:( 0) 102.txt
Description:Randomly the call gets disconnected . The calls are coming on FXO card and are routed to the IP Phone . The scenario is as --

1. INVITE is originated from asterisk to the IP Phone .

2. IP Phone sends , Trying , Ringing and 200OK

3. Asterisk responds with ACK and the branch in via header is different from the INVITE/200OK

4. After 32 seconds asterisk puts the call for scheduled destruction and the call is disconnected .


The sip debug file is attached .
Comments:By: Mark Michelson (mmichelson) 2008-09-09 16:05:04

From RFC 3261:

"  The branch parameter value MUST be unique across space and time for
  all requests sent by the UA.  The exceptions to this rule are CANCEL
  and ACK for non-2xx responses.  As discussed below, a CANCEL request
  will have the same value of the branch parameter as the request it
  cancels.  As discussed in Section, an ACK for a non-2xx
  response will also have the same branch ID as the INVITE whose
  response it acknowledges."

The ACK does not need to have the same branch as the INVITE if the response was a 2xx final response. If your IP phone rejects the ACK because the branch is different, it is the one that is not following the spec, not Asterisk.

By: Abhay Gupta (agupta) 2008-09-10 00:58:03

Thanks , for the input . Please close the bug . I will take this up with the IP phone providor .

By: Mark Michelson (mmichelson) 2008-09-10 10:39:44

All right. Closing. If it turns out that there is some other reason that the communication between Asterisk and your phone is broken, please feel free to open a new bug report.