ITSP Advanced Usage Scenarios
Utilizing Linux/Unix
Several of the ITSP components (hopefully, more components in the future) will run under Linux.
Calamar: SipProxy is Java based, and as such, can run anywhere Java VM can. For example, the Nikotel network runs their Calamar SipProxy on Solaris UNIX, where it performs very well - it is installed as a Solaris service in the SCM. Others successfully run Calamar from multiple Linux distributions (Suse, Ubuntu, Debian, etc) as a service started by init.d.
- Media Proxy: While not officially supported or tested yet, should be possible to run under Mono CLR with some small changes (contact Remwave if you are interested in a port).
- Wild Fire IM Server: Not a Remwave product, but leveraged in our ITSP solution for Instant Messageing support; it is also a Java based solution, so runs almost anywhere.
- Customer Care: Customer Care website is written in PHP, so can run on any capable web server (IIS, Apache, etc).
- Oracle (billing engine): Oracle is perfectly capable of running on Linux.
Asterisk: While Remwave does not currently distribute any Asterisk based products, Asterisk servers can easily be used to provide services which TerraPBX does not currently offer (for instance, Conference Audio Sessions). Since Remwave ITSP solution is SIP based, Asterisk based services easily coexist. For example, you could easily setup an IAX to SIP bridge using an Asterisk server and small setting changes to Calamar SipProxy to allow calls to go through.
Load Balancing
Load balancing is a very important issue when you start talking about thousands of concurrent calls, or hundreds of thousands of Sip Devices/Users. Hence, there will be a specific section detailing each component and how it can distribute load. However, for now, a simply overview on what components can be duplicated/balanced:
Calamar SipProxy - Remwave offers a stateful SIP UDP load balancer tool to vastly increase the amount of SIP traffic the network can simultaneously handle. The load balancer tool is able to direct the same SIP session to the same Sipproxy instance (needed to maintain dialog state in sip transactions). It uses a statefull embedded database to maintain transaction states for INVITEs sessions to increase the billing effectiveness. Because of NAT issues, this also means a little bit of extra configuration at the Sip Proxy side.
TerraPBX instances - PSTN Billing Instances, IVR, and incoming DID handling can be balanced in multiple ways. REMWAVE advanced routing allows PSTN calls to be geo-ip-routed & load balanced between multiple Terra's. Also, the same load balancer used in Calamar balancing can be used to to route between different TerraPBX instances. This is useful in the case of an incoming DID provider sending SIP traffic to your VoIP network. It would hit the load balancer tool, and route the same call to a specific system for the life of the call. Since, public DID providers should be public IPs themselves, no additional configuration is needed at TerraPBX side.
MediaProxy - Handled in two ways: Geo-IP based routing, and round robin routing. Calamar will try to use a media proxy as stated by the Database (to minimize lag, finding the closest media proxy to caller is important in PC to PC calls, or will try to use the next media proxy available in list). In anycase, you can easily add multiple media proxy's to the system.
VideoProxy - VideoProxy itself is can easily be spread to multiple systems, but some custom development would be needed in the client side software to go to proper server.
Installation on Multiple Systems
Not really an advanced usage, as the system is designed to be spread across many systems. However, in regards to the complete ITSP installation walk through (which is mainly for evaluation & easy testing on one system), it could be considered an advanced usage.
Some services can nicely coexist on the same machine(s). However, when there are many users using a service, services can start to fight for resources bringing the overall system performance down. Consequently, attaining the right balance between application services installed on each server and number of needed servers is really specific to what services are the most popular in the specific VoIP infrastructure (i.e. if users are using lots of IM, would make the most sense to put IM on its own server).
Basic, recommended services for a server:
- A TerraPBX instance combined with a Media Proxy instance. TerraPBX can be CPU and memory demanding, while Media Proxy only requires sufficient bandwidth (and a little RAM).
Calamar generally operates very well with low CPU usage and medium RAM usage (~1 GB is pretty good). Of course, this depends on actual amount of users and user activities. For the most part, one or two other services can installed on this same system - such as VideoProxy (main resource is bandwidth), or IM server for example.
- With regards to the web services, there are many guides in how to best deploy web servers, so that will not be covered here. Sufficed it to say, the admin pages will likely run fine on any server with a web server installed, as unless you are using hundreds of admins, it will use very minimal resources. The RSI web services used for clients, however, greatly depends on the number of clients served (like any web application) for how powerful of a system it needs.
