The Session Initiation Protocol (SIP) is a signaling protocol for managing various types of real time sessions between parties over an Internet Protocol network. An open issue is the control of overload situations that occur when the incoming flow of requests to a SIP server overcomes the server processing capacity. In particular, call establishment times increase due to overload, which triggers retransmissions and causes a further increase of the total incoming flow of requests. This paper proposes an overload control system for regulating both the queue length and the CPU load of the SIP server.
The proposed control system is made of two PI controllers tuned by minimizing a proper cost function using the Extremum Seeking algorithm. A real working implementation of the SIP overload controller has been made in the open source SIP server Kamailio. A performance evaluation and comparison of the proposed controller with the main proposals existing in literature has been carried out. Results show that the proposed control system counteracts overload situations and provides a goodput close to the optimal while maintaining low call establishment delays and retransmission ratios.