Overload in SIP
Jonathan Rosenberg
Cisco Systems
Problem Definition
SIPClient
ProxyA
Proxy 1
Proxy 2
Proxy 3INVI
TE
INVITE
503
INVITE
ElementOverloaded
SIP allows request to be retriedat another server upon receipt of 503Can include Retry-After header sayingthat this server should be left alonefor some period of time
Problem Definition
SIPClient
ProxyA
Proxy 1
Proxy 2
Proxy 3INVI
TE
INVITE
503
ElementOverloaded
When all elements are overloaded, 503 creates MORE trafficAmplified further by retransmits ofINVITE since 503 is delayed or lost
Oscillation Problem 1
SIPClient
ProxyA
Proxy 1
Proxy 2
INVI
TE
INVITE
503 Retry After 20
ElementOverloaded
Proxy 1 is overloaded, rejects requestwith 503 and Retry After of 20 seconds,moving ALL work to proxy 2
Oscillation Problem 2
SIPClient
ProxyA
Proxy 1
Proxy 2
INVI
TE
ElementOverloaded
Proxy 2 is now overloaded, and rejectsall work, even though proxy 1 is nowfreed up
INVITE
503
Solution Requirements
• Keep throughput at a good level when elements are overloaded
• Failures should be isolated and not cause widespread outages
• Minimize configuration to work• Deal with malicious elements• Inform upstream elements of overload• Throttle upstream traffic in granular fashions• Fairness across upstream elements
Sounds Familiar?
• Many of these are traditional congestion control issues, applied to the SIP application plane
• Input from TSV community is much desired!