[SIPForum-discussion] How to handle retransmission of SIP packets

Murali Vuppandla mvuppand at cisco.com
Tue Mar 2 11:48:38 UTC 2010


To get a clear picture of this, one should have better understanding of
CLIENT & SERVER Transactions. Here is few excerpts from RFC3261. 

It explains how the Non-Invite retransmissions are handled at Client and
Server side.


NON-INVITE Client Transaction

Once the client transaction enters the "Completed" state, it MUST set
   Timer K to fire in T4 seconds for unreliable transports, and zero
   seconds for reliable transports.  The "Completed" state exists to
   buffer any additional response retransmissions that may be received
   (which is why the client transaction remains there only for



Rosenberg, et. al.          Standards Track                   [Page 131]

RFC 3261            SIP: Session Initiation Protocol           June 2002


   unreliable transports).  T4 represents the amount of time the network
   will take to clear messages between client and server transactions.
   The default value of T4 is 5s.  A response is a retransmission when
   it matches the same transaction, using the rules specified in Section
   17.1.3.  If Timer K fires while in this state, the client transaction
   MUST transition to the "Terminated" state.

   Once the transaction is in the terminated state, it MUST be destroyed
   Immediately.



Non_Invite Server Transaction :


When the server transaction enters the "Completed" state, it MUST set
   Timer J to fire in 64*T1 seconds for unreliable transports, and zero
   seconds for reliable transports.  While in the "Completed" state, the
   server transaction MUST pass the final response to the transport
   layer for retransmission whenever a retransmission of the request is
   received.  Any other final responses passed by the TU to the server
   transaction MUST be discarded while in the "Completed" state.  The
   server transaction remains in this state until Timer J fires, at
   which point it MUST transition to the "Terminated" state.

   The server transaction MUST be destroyed the instant it enters the
   "Terminated" state

I guess once the the timer is timed out(means Transaction is destroyed),
then further retransmissions will be ignored.

This is how SIP handles retransmissions when the client/server state is
COMPLETED. To know more about its behavior in other
states(Trying,proceeding,Confirmed), you can refer RFC3261(Section:17 -
Transactions)

Regards,
Murali.


-----Original Message-----
From: discussion-bounces at sipforum.org
[mailto:discussion-bounces at sipforum.org] On Behalf Of Nikhil Devyalayam
Sent: Friday, February 26, 2010 12:12 PM
To: discussion at sipforum.org
Subject: [SIPForum-discussion] How to handle retransmission of SIP packets

Hi all
     If any SIP packet got retransmitted because of some reason , do we 
need to respond for every retransmitted packet or just accept one and 
ignore others? Example: If any SIP server got same PUBLISH packet two 
times which is retransmitted,do we need to send back 200 OK for both ,or 
send 200 OK for one and ignore the second.? Please help me on this...

Thanks
Nikhil
_______________________________________________
This is the SIP Forum discussion mailing list
TO UNSUBSCRIBE, or edit your delivery options, please visit
http://sipforum.org/mailman/listinfo/discussion
Post to the list at discussion at sipforum.org




More information about the discussion mailing list