Patent ID: 8064342

Claim:
A method comprising: receiving, by a Session Initiation Protocol (SIP) proxy server, SIP REGISTER requests, each SIP REGISTER request including registration information including at least one of: a Uniform Resource Identifier (URI) space, a capacity value, a duration value, or a precedence value associated with a class of service; and load balancing, using the SIP proxy server, a SIP call based on the registration information of the SIP REGISTER requests, where the load balancing includes: creating, using the SIP proxy server, a proxy list; selecting, using the SIP proxy server, SIP REGISTER requests that include URI spaces that are inclusive of a request URI, of a SIP INVITE request associated with the SIP call, and include unexpired durations; creating, using the SIP proxy server, a registration list including selected SIP REGISTER requests that include certain precedence values; summing, using the SIP proxy server, capacity values of the selected SIP REGISTER requests, in the registration list, to create a group capacity scalar value; selecting, using the SIP proxy server, a random value between zero and the group capacity scalar value; summing, using the SIP proxy server, the capacity values of the selected SIP REGISTER requests in the registration list, in order of precedence values, until an accumulated capacity value is greater than the selected random value; removing, using the SIP proxy server, and from the registration list, a last SIP REGISTER request for which a capacity value was added to the accumulated capacity value; providing, using the SIP proxy server, the removed SIP REGISTER request to the proxy list; repeating, using the SIP proxy server, the creating a registration list, the summing capacity values of the selected SIP REGISTER requests, in the registration list, to create a group capacity scalar value, the selecting a random value, the summing the capacity values of the selected SIP REGISTER requests in the registration list, in order, until an accumulated capacity value is greater than the selected random value, the removing a SIP REGISTER request, and the providing the removed SIP REGISTER request until the registration list is empty; repeating, using the SIP proxy server, the summing capacity values until the precedence values have been processed from highest to lowest; and proxying, using the SIP proxy server, to a certain SIP URI, in the proxy list, to respond to the SIP call.