I’m designing a network layout for IP telephony testing lab. Codename: xlab1 (xlab0 is a Xen machine at my home, and xlab1 is a Xen server hosted at a partner company).
The server has only 4 public IP addresses (one for management, two for redundant SIP front-ends, and one for web front-end), and the goal is to have the flexibility to test any telephony scenario, from a standalone vPBX to a 2600hz’s Kazoo installation.
Physically it’s a 1U server with Intel Core2Quad and 8GB RAM, running Xen hypervisor.
The primary application is a multi-tenant virtual PBX. All Internet communication is done with the two front-end servers, and all the telephony handling, media termination and applications are done by the back-end servers. NAT is only used for software installation on the back-end virtual machines.
On the front-end servers, Kamailio+RTPproxy will accept registrations from UAC’s in the public Internet, and also perform flood protection and topology hiding. They would forward all SIP messages to the back-end servers,
based on a DNS-based domain map based on a local dispatcher database. The SIP authentication will be handled by back-end servers.
Also the front-end servers will run a FreeSWITCH process each, used only as an SBC for communication with ITSP trunks.
Also need to think how load-balancing and failover would be organized. Especially that many ITSP’s expect only one IP address at the customer end of the trunk.
Here is the concept drawing of the service components and communication flows:
The project is intended to be open-source, open-design, and open-documentation, so more technical details will follow.