[Freeswitch-dev] Multi-server registration with replication
tomp at tomp.co.uk
Mon Jul 16 22:07:58 MSD 2012
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