From: Kenneth Soerensen <[EMAIL PROTECTED]> A SIP UA is communicating with two redundant SIP servers - a primary and a secondary. The addresses and priorities of these servers are obtained through DNS SRV.
The primary server is failing and the UA needs to communicate with the secondary server. In the sipX project, we've been discussing a solution along these lines (although we haven't implemented it): Keep track of the state of all IP address/port pairs. By default, a pair is considered responding, but if an attempt to contact it fails, it will be marked non-responding. When sorting the list of address/port pairs returned by DNS, have the primary sort be on the state, with all responding pairs ranked higher than all non-responding pairs. (This ensure that if all allegedly responding pairs fail, you will fall back to the pairs thought to be non-responding.) Any time a non-responding pair shows up in a DNS list, set a bit on the pair which means "probe this pair sometime in the future". Have a background process run through the set of non-responding pairs periodically and probe the pairs that have the probe bit set. If the pair responds, mark it responding (remove it from the blacklist). If the pair does not respond, just clear the probe bit. (The probe bit ensures that you do not attempt to probe a pair any more frequently that you would send it legitimate traffic, reducing the chances you will swamp it.) Dale _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
