[UPDATED] Recommended design? [bckp ipbx: solved, ENUM: not]

Hello dear community,

I’ve to deploy an * solution with 4 sites separated by a WAN (full operator VPN, not internet, no NAT, only ip routing).
Each sites will have its own PSTN gw. As endpoints, we will have sccp and softphone (sip).
As I’m coming from Cisco’s world, I think to deploy Cisco’s routers and configure some local ressources on it: transcoding, multicast moh, conference.

I planned to have one ipbx on the central sites, controlling each PSTN gw (4) by SIP. I recently discovered that rtp, beetwen sccp and sip, will always hairpinning by the asterisk, that is unacceptable because twice bandwidth will be used on the WAN. So I decided to flash all sccp to sip.

But i’m still unaware on several points:

  • For full SIP integration, with n sites, what is the recommended design? Is it the n-sites = n-asterisk-with-IAX recommended? That is, how do you deal with dialplan management? dialplan overlapping? voicemail box moving for users who migrate from one site to another? with system management?
  • Many users will travel beetwen our sites, so how their calls would go through the local pstn gw (ie emergency calls) for offnet calls? How will they use the local ressources (ie music on hold, conference, transcoding)?
  • stop here for moment :smile:


I had a couple of of ideas, mostly by using Stupid DNS Tricks™.

Set up a DNS server at each of the sites that is configured to be authoritative for a subdomain (*.pbx.yourcompany.com). Stick an A record of asterisk.pbx.yourcompany.com in each of those servers that points to the IP address of your local Asterisk box.

So, at Site 1, your DNS server has asterisk.pbx.yourcompany.com that points to Site 2 has the same hostname, but its A record points to Same for site 3 and 4. Same hostname, different IP addresses. That way, you can set everyone’s phones to register to asterisk.pbx.yourcompany.com and they’ll register to the closest server (assuming that you can tell the site’s DHCP server to hand out DNS server addresses pointing to that local nameserver). On each of the Asterisk boxes, you duplicate the SIP configurations for all of the roaming users (or heck, everyone).

As far as reaching the right server if someone needs to dial one of the roaming users, you could have a script that uses the Asterisk Manager Interface to watch for those roaming users register and send a dynamic DNS update to a DNS server to update an E.164 record. Then, when someone has to dial the roaming users, the Asterisk box the caller is attached to can do an E.164 lookup to see which server they need to dial to reach the road warrior.

I’m not sure how to handle voicemail, either delivery or notification. I’ll have to ponder upon that in the library some more.

These are some weird and unconventional ideas. They might not work, they might, or they might lead you down a path that will get you where you need to go.

Hello jpsharp,

I already think about this DNS tips, but… what about incoming calls from pstn of a site if the roaming users is not at homesite? Maybe enum could help me?

Thx again,

That’s what I was suggesting with the E.164 stuff. That is ENUM. Do dynamic DNS updates of an ENUM zone when phones register.

Hi there,

I solved one of the problem: for backuping my Asterisk I use DNS-SD:

ipbxbackup A
ipbx A

_sip._udp SRV 0 0 5060 ipbx.my.domain.
SRV 1 0 5060 ipbxbackup.my.domain.

That works fine with X-Lite! (As on each remote site i have slaves DNS of course, and my dhcp is configured to push all dns hosts to clients)

One issue remain: When my nominal uipbx goes up, how ot reach clients registered on the backup ipbx?

  • Is there any sip deregistration that can do asterisk?
  • How to deal with ENUM? I don’t know where to begin to write a script taht will create e164zone…