[asterisk-users] Realtime SIP, multiple AX servers question

Bryan Field-Elliot bryan+asterisk-users at nextalarm.com
Sun Jan 2 17:26:58 CST 2011


We have several Asterisk servers (1.6.2.15) all configured for Realtime, all backed by the same database. The Asterisk servers are all listed under DNS SRV records, and SIP ATAs find us this way.

Normally, no matter which Asterisk server an ATA connects to, we get our database fields filled out correctly, such as "regseconds", "lastms", "ipadr", etc. However, with some ATA's we are experiencing a problem as follows:

1. ATA reaches its "re-registration" timeout, which we typically configure to be 60 minutes.
2. ATA re-queries DNS SRV record, and ends up re-registering with a different AX server than it was on previously.
3. The new AX server updates the Realtime DB fields (regseconds, lastms, etc).
4. The old AX server, after a few more minutes, notices that the ATA has vanished, and therefore clears out these same fields.

Is there any way to fix this problem? We need to know if ATA's go offline, but, we don't want them caught in this endless loop where our multiple AX servers are out-guessing eachother and overwriting valid data in the database.

Our realtime options in sip.conf are as follows:

rtcachefriends=yes
rtsavesysname=yes
;rtautoclear=yes
;ignoreregexpire=yes

Because we are using "rtsavesysname", a perfect solution seems like it might be along the lines of "If an ATA disappears, empty out the RT database fields ONLY if it's last regserver was this one". Is this possible?


Thank you,

Bryan




More information about the asterisk-users mailing list