moving to sip implementors.

wangshan wrote:
> Hello,All
>  
>      I am a freshman of SIP, When I read the RFC3261, I have a question 
> about the section "17.1.3 Matching Responses to Client Transactions".
> this section said:
>  
> ************************************************************
>         1.   If the response has the same value of the branch parameter
>              in the top Via header field as the branch parameter in the
>              top Via header field of the request that created the
>              transaction.
>  
>         2.   If the method parameter in the CSeq header field matches
>              the method of the request that created the transaction. The
>              method is needed since a CANCEL request constitutes a
>              different transaction, but shares the same value of the
>              branch parameter.
>  
>    A response that matches a transaction matched by a previous response
>    is considered a retransmission of that response.


I am not sure what version you are looking at, but that
last sentence is not in rfc3261.



> ************************************************************
> so consider the following situation
>  
>                  UA                      PROXY(FORK)         UA1         UA2
>  
>                       --F1-INVITE---->         ---F2-INVITE-->
>                                                ------F3----------INVITE---->
>  
>                                                <-F4-18X(UA1)----
>                                                <-F5------------18X(UA2)---- 
>          
>                       <-F6-18X(UA1)----
>                       <-F7-18X(UA2)---- 
>       
>     UA1 and UA2 both send 18x, F4 & F5, Proxy should forward all 
> provisional response back, so F6 & F7 are transmission to UA,but both 
> message(F6 & F7) have the same Via header ,so have the same branch ID, 
> given UA received F6 first,as per the matching rules metioned above, F7 
> will be considered as a retransmission of F6. Is this situation right?


This is why we removed the definition of retransmission.

The transaction machines will properly pass both provisionals
upstream.



>     more, if F6 is unreliable response, but F7 is reliable reponse which 
> need a PRACK, how to do?
>  
>  
>     If my understanding is wrong, please tell me. thanks ahead.


To properly
determine if a provisional response is a retransmission
or a new one, you need a sequence number or something
within the provisional response, and rfc3262 provides
exactly that. This is why the definition of retransmit
belongs there.

-Jonathan R.



-- 
Jonathan D. Rosenberg, Ph.D.                72 Eagle Rock Ave.
Chief Scientist                             First Floor
dynamicsoft                                 East Hanover, NJ 07936
[EMAIL PROTECTED]                     FAX:   (973) 952-5050
http://www.jdrosen.net                      PHONE: (973) 952-5000
http://www.dynamicsoft.com

_______________________________________________
Sip-implementors mailing list
[EMAIL PROTECTED]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

Reply via email to