Multi-server registration with replication
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. Thanks Tom
participants (1)
-
Tom Parrott