Hi,
  I have a query regarding CANCEL request without branch parameter.
  For matching the requests to the existing server transactions RFC 3261 
section 17.2.3 says:
  If the branch parameter in the top Via header field is not present, or does 
not contain the magic cookie, the
  following procedures are used. These exist to handle backwards compatibility 
with RFC 2543 compliant
  implementations.
  The INVITE request matches a transaction if the Request-URI, To tag, From 
tag, Call-ID, CSeq, and top
  Via header field match those of the INVITE request which created the 
transaction. In this case, the INVITE
  is a retransmission of the original one that created the transaction. The ACK 
request matches a transaction
  if the Request-URI, From tag, Call-ID, CSeq number (not the method), and top 
Via header field match
  those of the INVITE request which created the transaction, and the To tag of 
the ACK matches the To
  tag of the response sent by the server transaction. Matching is done based on 
the matching rules defined
  for each of those header fields. Inclusion of the tag in the To header field 
in the ACK matching process
  helps disambiguate ACK for 2xx from ACK for other responses at a proxy, which 
may have forwarded
  both responses (This can occur in unusual conditions. Specifically, when a 
proxy forked a request, and then
  crashes, the responses may be delivered to another proxy, which might end up 
forwarding multiple responses
  upstream). An ACK request that matches an INVITE transaction matched by a 
previous ACK is considered
  a retransmission of that previous ACK.
  For all other request methods, a request is matched to a transaction if the 
Request-URI, To tag, From tag,
  Call-ID, CSeq (including the method), and top Via header field match those of 
the request that created the
  transaction. Matching is done based on the matching rules defined for each of 
those header fields. When a
  non-INVITE request matches an existing transaction, it is a retransmission of 
the request that created that
  transaction
   
   
  Also RFC 3261 says that the CANCEL will contain the same branch parameter as 
the request it is trying to cancel.
   
  Now my query is:
  1) Above description says that the CANCEL request (if no branch parameter is 
present) is matched to a transaction (say INVITE txn) if top Via header field 
match that of the request. Does this mean branch parameter in both the requests 
are not matched (as the description is for requests without branch param)??
  2) Is it valid to match a CANCEL request without branch parameter to an 
INVITE request with branch parameter when rest of the above headers (RFC3261 
section 17.2.3 description) are identical??
   
  Thanks,
  Praveen Dandin
   

       
---------------------------------
 Bring your gang together. Do your thing. Find your favourite Yahoo! Group.
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to