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

Bryan Field-Elliot bryan+asterisk-users at nextalarm.com
Wed Jan 5 09:39:00 CST 2011


On Jan 4, 2011, at 12:26 PM, Tilghman Lesher wrote:

It wasn't designed to do this.  While you can have the same sippeers table
for multiple servers, you really should have a separate sipregs table for
each backend server.  The reason why is that some mappings depend
implicitly on the host to which it was registered.  For example, if a phone
is behind a NAT, then the external port is dependent upon the same host
responding.  If a different host tries to communicate to that external port,
some NAT devices will not route the packet properly.  This is especially
true for SIP over TCP, but it's also true for UDP packets.  (Routing
packets back through a NAT without verifying the sending IP is a security
risk.)
Probably more appropriate for your case is to use DUNDi to coordinate your
machines as to which server presents holds the registration for any
specific phone.

We have one table which is serving both purposes (peers and reg). When we want to route a call to an ATA, we first look up that ATA's regserver in that table, and then construct a SIP URI based upon that regserver address. In that way, we route the call through the server to which the ATA is currently registered. So I guess we're covered already in the scenario you describe. It seems like not a great design to have to have a private sipregs table for every server in our pool, especially given that the pool will grow (or maybe shrink) over time. Is that really the recommended design? I haven't seen any articles describing that setup for RealTime in a multi-server environment.

Thank you,

Bryan



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20110105/3f75cfea/attachment.htm>


More information about the asterisk-users mailing list