[Freeswitch-dev] Multi-server registration with replication

Tom Parrott tomp at tomp.co.uk
Mon Jul 16 22:07:58 MSD 2012

Hi All,

I am have been running Freeswitch for a couple of years in production as 
a pure voice switch, without any registrations.

I have now been tasked with setting up a phone system for our business 
across 3 offices (in 3 countries).

We have SIP trunks with telecoms providers in each country (UK, US and 
ZA), and want to ensure that if a user dials a local number in each 
country that the calls are not routed to a central server first, but go 
out within the same country.

I would also like internal extensions to work across the 3 countries, 
and ideally presence as well.

We are using TCP SIP registrations as we have found these more reliable 
when users are connecting through home routers (or MS ISA firewall) 
which tend to mangle UDP SIP packets.

Whilst I have read on the Freeswitch wiki that you can convert the 
presence and registration databases to MySQL and replicate them, I am 
unsure whether this would work when using TCP SIP, as surely the active 
TCP connection is with the local registration server, and so a 
registration server in another country could not route calls to the client.

This lead me to thinking, perhaps I could use mod_event_zeromq to gather 
local registration events and forward them to agents on the other 
servers that would re-write the dialstring and insert a modified 
registration entry into the local server databases.

This way it would cause Freeswitch to route calls for the user that 
occur on a remote server to the local server and use the existing TCP 
connection to deliver the call?

I have been told I would be able open source this project.

If anyone can give any pointers it would be much appreciated.


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-dev mailing list