On Mon, 2009-07-20 at 11:59 +0800, JC wrote: > My scenario is as follows, one SIP client sends one fresh SUBSCRIBE to > SIP server via TCP, and SIP server sends 200OK back immediately. > Unfortunately, SIP client does incorrect thing to retransmit SUBSCRIBE > once before it gets final response.
Or it is possible that the 200 is lost by the network, and the UAC must retransmit the SUBSCRIBE. > In this error case, when SIP server > sends 200OK, associated transaction releases immediately. So for > retransmitted SUBSCRIBE, transaction layer will regard it as a new msg, > not retransmitted one, and will create a new transation. And dialog > layer cann't find one matched dialog for retranmited msg because TO tag > not match, so maybe will create a new dialog. There is a known bug/deficiency in the description -- the lower levels of the SIP stack in the UAS retain a record of the received SUBSCRIBE and the 2xx response to it for the maximum retransmission time (3 minutes, IIRC). So when the UAS receives the retransmitted SUBSCRIBE (which it can determine by the repeated branch value), the lower levels of the stack retransmit the 2xx response without notifying the "application" layers of the arrived SUBSCRIBE. Dale _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors