FreePBX for a globally distributed user base

I need architecture & configuration advice. I’m currently supporting an environment that has a high inbound call volume on a FreePBX instance hosted in the United States. Latency, RTT, and others are becoming an issue with our users in the APAC region.

This post ended up being too long, so I’ve broken up my thoughts into a bullet list.

  • SIPStation with ULAW Codecs
  • APAC Users MOS of 1-3, high RTT
  • AMI integrations on existing FreePBX (I have concerns regarding integration across multiple FreePBX instances - specifically, we make recordings public via randomized GUIDs for CRM linking)
  • My goal: have a primary server handling configuration with it propagated to other instances (versus having to manager X configurations) - hub and spoke? (maybe? probably wrong term.)
  • Heavy inbound call flow to Call Queues (with custom IVRs through AGI)
  • Very frequent transfers for calls (all remote users), I don’t want to make users dial an extension with a prefix (the solution I’ve seen for multi-office setups with IAX trunks)
  • Heavy reliance on call recordings
  • Currently working on deploying dSIPRouter in APAC region (not sure if proxying the traffic would provide any tangible value)

Maybe IAX trunks are the solution here - I think I just need to talk it through with some people smarter then me and once I have an understanding of best practices in this scenario I can execute.

The core of the problem is call quality, happy to be told I’m over complicating things and need to start somewhere more tame & simple.

Are these other instances for failover?

1 Like

There is only 1 instance at the moment. My thought is by having a trunk within region of users it would improve call quality. I’m not sure if that’s the right direction, and if it is, how to best implement it.

Example:
Server 1 - New York
Server 2 - India

And both servers can serve the same set of users and dial to each other as if it’s a single server. No need to dial a prefix to reach users on the other server. Users regionally would be configured to register with their closest geographic PBX.

This

isn’t really compatible with:

I think you will have to forego the first one.

This is going to be a lot easier if your numbers are already geographically structured, as would have been done with pre-VoIP physical exchanges, in offices, with tie lines between them.

Note that features like presence (BLF) won’t work across PBX’s.

1 Like

You wouldn’t be have to have the same extensions on the PBXes. Each PBX would treat them a local extensions.

1 Like

I would build one robust PBX, in a datacenter with the best peerings for global connectivity. You noted a FreePBX instance “hosted in the United States” but I would dig into that - your own datacenter? rented rack space? cloud provider?

1 Like

Cloud provider presently, specifically DigitalOcean.

Do you have any recommendations for a better cloud host alternative?