[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