Prerequisites for WebRTC-SIP Gateway

In short: The mizu WebRTC-SIP gateway can be installed on any server or PC running Windows OS. 
If you just wish to make a quick test or your have less then 100 simultaneous calls then there is no need to check the hardware requirements any further.



Details:

The WebRTC-SIP gateway runs as a Windows service application with excellent scalability for different hardware configuration from low cost PC's up to modern SMP systems, auto-adapting to your server CPU (number of cores), RAM size and free disk space. The service is a native application written in C++, capable to take out the most value from your hardware resources.

Requirements:

  • SIP server: a SIP server, PBX, softswitch, SIP proxy or SIP gateway where the SIP traffic will be routed to and accepted from (the "upper" server). One MRTC gateway can be used with multiple upper servers.
  • Basic VoIP knowledge to manage your own SIP server(s): before to setup WebRTC, first you need to configure your SIP server to be able to make basic SIP to SIP calls
  • WebRTC client: any RFC 7118 compatible WebRTC client such as the mizu webrtc client, sip.js, jssip, sipml5 and others from browsers or native webrtc libraries such as pjsip based solutions.
  • Network: 10 mbits can handle 150 parallel calls with media routing (usually not all calls needs media routing so the real bandwidth usage can be lower). 
    Public static IP is preferable with broadband internet connection using gbit ethernet card.
    You should also set a (sub)domain name and install SSL certificate as WebRTC is allowed only with secure servers from Chrome and Opera (WSS/HTTPS). This can be set from the gateway configuration wizard (can use free let's encrypt certificate).
    If your gateway is on local LAN behind NAT or behind a firewall and you wish to access it from external network (SIP or WebRTC peers on the public internet), make sure to setup proper port forward on your router or firewall as discussed in the documentation and suggested by the gateway configuration wizard.
  • An x86 machine where you install the gateway service locatedt somewhere near your softswitch or your customers or in the path between (to avoid long media path).
    It can be also a virtual machine such as Hyper-V or VMWare.
    You can also host the service on your existing softswitch box if that has free CPU/RAM/disk resources and meets the below requirements.
  • CPU: a cheap dual core cpu for less than 100 parallel calls, a best-buy 4+ core CPU for less then 500 parallel calls or a high-end CPU for more. 
  • RAM: 1 GB RAM for less than 100 simultaneous calls, 6 GB RAM for less then 500 simultaneous calls or 8+ GB for more.
  • Disk: 128 GB HDD without voice recording and extra logs, 500 GB SSD for high load.
  • OS: Windows Server 2003/2008/2012/2016 (Windows XP/Vista/7/8/10 for home usage or testing). Both 32 and 64 bit versions are supported. You can use the cheap Web edition license. A clean basic install is the best (no any additional OS modules needs to be activated and no any third party software is needed). 
    OS security: Windows is not less secure for the MRTC software then a Linux or BSD would be. Find more details here and here.
  • Admin rights: It is recommended to run the installer as Administrator (or as a user from the Administrators group)
  • Ports: 
    If your gateway is behind a router or firewall, make sure to allow the required ports, which are the followings by default:
    UDP: 80, 5060, 8090 and your RTP port range (search for MinRTP, MaxRTP, fs_minrtp, fs_maxrtp on the Configurations form for these)
    TCP: 80, 443, 2223, 3389, 5060, 5061, 10080
    If your gateway is behind NAT and you wish to access it from outside (from the public internet) then make sure to forward the above ports on your NAT or router.
    If you are using some other software which is already using one of the above ports (such as a Web Server), then it is recommended to assign another IP address to your server then bind your other software to the old/original IP and bind the MRTC to the new IP (this can be set from the "Configuration Wizard").
    While these are the optimal ports to be used, all of these ports can be reconfigured from the "Configuration Wizard" or "Configuration" form.
  • Feature support: some features might require support also by your SIP server. For example call transfer between WebRTC and SIP will not work if your softswitch lacks the basic support for SIP call transfer (REFER) or chat will not work from/to SIP if your server lacks the basic SIP IM support (MESSAGE).
Example optimal hardware for 30000 users with 500 simultaneous calls: any modern cpu with 7000 passmark points or above (for example Xeon E5-2665 which costs only $140), 6 GB RAM, 250 GB SSD disk and optionally a secondary slower sata disk for other data, old records, voice recording and logs.

Although we were described hardware usage related to simultaneous calls as an easy to use concept, in reality the relevant statistics from the performance point of view are the followings:
  • PPS (signaling packet per second)
  • BHCA (busy-hour call attempts). This also depends on ASR/ACD. The lower your statistics, the more load have to be handled by the webrtc gateway.
  • Percent of local user to user calls. The gateway can handle WebRTC-WebRTC and SIP-SIP calls in an optimized way with much less resources then calls when conversion is needed between WebRTC and SIP.
  • Media routing (percent of total calls where the RTP have to be also routed). Around 80% of the total CPU and network usage can be spent for media routing alone so this requires special attention on high-load servers.
  • Codec and transcoding (codec transcoding uses lot's of CPU resources and should be avoided when possible)
  • PBX services and other modules such as conference, IVR, call recording and others (these will generate extra CPU and I/O load).
  • CPU real performance. For the CPU the relevant is their real performance and not the number of cores. See the passmark point of your CPU.
If you would like to take advantage of Mizutech support, make sure to provide a hardware which can run Windows OS comfortably, even if your traffic is low and otherwise it could be run on an underpowered server. This means at least a dual core CPU with 3 GB RAM. Our support will need RDP access to your OS hosting the gateway service.



WebRTC-SIP gateway