Published on iptel.org (http://www.iptel.org)

How Do I Stop SIP Clients From Retransmitting Messages?

By lakmal
Created 2006-11-06 12:57

When using SIP over a UDP transport there is no guaranteed delivery of a SIP message. Therefore the SIP RFC makes provisions for this by retransmitting SIP messages periodically if a reponse to the SIP client is somehow delayed either due to server loading or network congestion.

The SIP RFC also defines what is called "provisional responses" which all have a numerical value of 1xx.

The most popular of these provisional responses is "100 Trying".

If SER sends a "100 Trying" response to a SIP client then that SIP client will no longer retransmit the same message, but will instead wait for a response.

SIP servers should send a 1xx response if it expects to take more than 200ms to generate a final response. This is good practice and it will help mitigate server loading and network traffic on your SIP proxy.

To send a 1xx message to a SIP client use the sl_send_reply() command as shown below.

sl_send_reply("100", "Trying");

NOTE: You never need to explicitly send a 1xx provisional response when processing INVITE messages because the SER tm module automatically sends one.


Source URL:
http://www.iptel.org/stop_clients_from_retransmitting
Home |  Recent changes |  Search |  Glossary |  Sitemap |  Login