Mizu VoIP Server Install Guide

This install guide applies for the Mizu VoIP server full edition only. The compact edition has an easy to use install wizard.

 

Mizu VoIP Server is a Class4/5 softswitch application running as a service on the Microsoft Windows operating systems.

Modules: SIP stack, WebRTC, H323 gateway/gatekeeper, RTMP, access roles, routing (rule based, BRS or LCR), failowering, load balancing, quality routing, e-payment, billing, accounting, CDR records, blacklist/whitelist filtering, callcenter, IVR, API, call recording, conferencing, media server, alerting, statistics generation, watchdog, enduser web portal, client applications and others.

 

Both free and commercial licenses are available.

If you bought a commercial license, then Mizutech support can handle all the installation tasks. Continue reading if you would like to install the service yourself. The MizuVoIPServer can be installed in around 30 minutes and you will need another around 30 minute to learn the basic usage. Once you are done with these, your server is ready to handle the VoIP needs for your company or the launch of an Internet Telephony business.

Quick setup


Usage instructions in short:

1.       Download the MizuVoIP server files from here and unzip in any directory

2.       Install MS-SQL (or use a cloud database service) and MS SQL Management Studio

3.       Create a database named “mserver”. Initialize the database with the mserverscript.sql or restore from mserver.bak.
Edit the [database] section in the “mizuserver.ini” file.

4.       Launch the MizuManage.exe and go through the Configuration wizard

5.       Register and start the service

6.       Enable the executables on the windows firewall: mserver.exe and others as needed.

If you are hosting the server behind NAT and peers will be located on outside network (like softphones connecting from the public internet), then configure port forwarding for the ports listed at Config -> Network -> Active ports

7.       Read the tutorial.

These steps are explained in more details below.

Requirements

The Mizu VoIP server is a native application written in C++ with a big throughput that can scale well from old Pentium3 (testing or home usage) up to modern SMP systems with 128 CPU cores (enterprise VoIP service providers) capable to handle millions of endpoints.

·         OS: Windows Server 2003/2008/2012/2016/2019/2022 (or Windows XP/7/8/10/11 for home usage or testing). Both 32 and 64 bit versions are supported. Server Standard edition is fine (The VoIP server doesn’t use extra Windows features/services)

·         CPU: any low-end PC for home, testing or small business usage (PIII if enough), dual core cpu for less than 500 parallel call, quad core or more for more than 1000 parallel call

·         RAM: minimum 500 MB RAM,1 GB RAM for less than 400 simultaneous calls, 4 GB RAM for more than 1000 simultaneous calls

·         Disk: 128 GB HDD without voice recording and callcenter, 512 GB HDD for high load or if you have a long list of callcenter clients or need to use voice recording. Additional disks for big database load (for example one for temp database, another for the mserver database and a third disk for the VoIP application server).

·         Network: around 1 Mbits for 200 parallel calls without RTP routing or 20 calls with routed RTP. Public static IP is preferable. The bandwidth will depend on the codec’s used. You might also need to setup a domain name (or a sub-domain like sip.yourcompany.com) for easier client software configuration and more flexibility.

 

Typical hardware recommendations:

·         For 60 simultaneous calls: cheapest PC that can barely run the windows OS (1 CPU core, 2 GB RAM, 90 GB disk or better for a more responsive behavior)

·         For 600 simultaneous calls: a low cost 4-8 core (AMD Epyc, Intel Xeon or similar) with 6 GB RAM, at least 128 GB disk space

·         For 6000 simultaneous calls: a powerful 6-8 core CPU, 16 GB RAM, 500 GB SSD

With this amount of traffic we recommend to use two servers for db/app or load-balance or failover

·         For more traffic: we recommend our SIP load balancer, a powerful database server and add as many app servers as you need (service instances/nodes). More details can be found here or contact us to determine an optimized, fault-tolerant, scalable and cost effective architecture with best fit for your needs.

 

Step-by-step instructions

 

1.       Hosting server

 

Prepare your server. Any server or PC is fine with Windows operating system (XP, Vista, Win7, Win 10, Win 11, Server 2003/2008/2012/2014/2016/2019/2022). The Standard edition is recommended for Windows Servers.
Mizutech can also offer VoIP hosting. This is convenient especially for smaller installations to save on your hosting fee.

No virus scanner is needed on production servers! In case if you are running a virus scanner, make sure to add the program directory to the exceptions (some virus scanners might trigger an alert due to the compression used for the executable)

Only the core OS should be installed without any additional roles except the App server roles. Disable all unneeded services such as the IIS web service to minimize your server remote attack surface.

You will need administrator rights for the install process and have to enable App server roles if you are using Windows

Server (which will install .NET if not already installed).

We recommend to host the VoIP service on a server with a public static IP, using standard ports (80 for HTTP, 443 for HTTPS/TLS, 5060 for SIP, 5061 for SIPS).

In case if some other app on your machine is already listening on these ports then you should stop the app if unnecessary or otherwise configure your server to bind to another IP (if you have multiple IP addresses) or ports.

Quick tip: Some Windows servers has IIS running by default. Stop it if not needed (World Wide Web Publishing Service from Services).

 

2.       Download

 

Download the MizuVoIPServer package from here and unzip to any directory. If you create a separate user for the service (login as), then make sure that it has and write access to this folder. You might place a shortcut to MizuManage.exe on your desktop or start menu (or install it separately as described below)

 

The most important files are the followings:

·         mserver.exe: the main service executable

·         MizuManage.exe: the admin client user interface

·         MizuWebService.exe: the web enduser interface service

·         bat files: for easy administration (install/uninstall/start/stop the service)

·         mizuserver.ini: to store the database connection parameters

·         database: all your data and configurations are stored in the MS-SQL database

·         mserverscript.sql: used to create the voip server database

·         other files: helper executables and dlls files for various purposes

 

3.       MS-SQL

 

Note: Azure SQL database is also supported if you wish to use this cloud service instead of hosting your own database.

The server will need an MS SQL database engine to store the settings, CDR’s and other data.

If you have already have MS-SQL running on your LAN, then you can use it to host the VoIP service database. Otherwise you need to install MS-SQL 2000/2005/2008/2012/2014/2016/2017/2019/2022 (preferable the latest version). We recommend the Express version for less than 1000 simultaneous calls or the full version for high loads. Free download from here.

The MS-SQL installer might require the followings (depending on your windows version; it should prompt during install if something is missing):

·         .NET runtime: download the required version from Microsoft (On Windows 2008 you might have to just enable it from the Server Manager -> Add features)

·         PowerShell: download from here or here or here

·         XML service for older Windows versions: download from Microsoft

The MSSQL install package with all components can be also downloaded from Mizutech (x86 edition only and might be outdated. Always prefer Microsoft download sources for MSSQL related install)

On the “Feature Selection” page select only the “Database Engine Services” package.

On the “Database Engine configuration” page / Server Configuration select the “Mixed mode SQL authentication” and enter a strong password for sa (system admin user). Also click on the “Add Current User” button to enable the currently logged in Windows user.

TCP/IP access needs to be allowed. Use the “SQL Server Configuration Manager” tools shipped with the MS-SQL install package (Also found at C:\Windows\System32\SQLServerManagerX.msc).
Enable Named Pipe and TCP/IP (enable separately for all interface that you might wish to use) and set the ports to 1433 or 2223.

You might change the default MS-SQL listen port to 2223 to filter out the most of the unauthorized login attempts.

The ports can be also changed using regedit at:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Tcp

The collation should be set to “SQL_Latin1_General_CP1_CI_AS”.

For the database administration you can use the SMSS (SQL Management Studio tool) which can be downloaded from here.

 

You might need to also install the Visual C++ redistributables, especially if you are using the WebRTC or the extra PBX module.

Just launch the VC_redist2017x64.exe.



4.       Database

 

Create a database in your SQL engine. The recommended name is “mserver”.

You have a few options to create the database:

The preferred method is to launch the SQL Management Studio (this is installed with MSSQL or can be also downloaded separately). Create the “mserver” database if not already created and load the “mserverscript.sql” (this can be found in the program directory) in a new query editor window (right click on the “mserver” node and select “new query”, or open the file from the File menu and select the “mserver” database to be run on).

Launch the script with the green arrow icon or press F5. Once the script finish, your mserver database is populated with tables and stored procedures.

Another method to initialize the database is to just restore it from the mserver.bak file included in the package.

Alternatively you might use the MDBSetup.exe application to load the database.

If the database user doesn’t have create database permission, then you might also create a secondary mserver_backup database where the service can store old data.

 

Edit the [database] section in mizuserver.ini configuration file (in the program directory near mserver.exe). Add the newly created database access here (ip, port, database name, username, password)

Example:

[database]

location=127.0.0.1

port=1433 (or 2223)

name=mserver

username=sa

password= srEgtknj34f

 

5.       Firewall configuration

 

We recommend using the built-in windows firewall and enabling the followings to pass-through:

·         VoIP application server: APPDIRECTORY\mserver.exe

(The APPDIRECTORY is C:\Program Files\MizuVoIPServer by default)

Other apps that you might wish to enable:

·         MS-SQL main executable: C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\sqlservr.exe

in case if you wish to remotely administrate the server (MManage needs this)

·         Web portal template (optional): APPDIRECTORY\web_mserver.exe exe (might be generated only after first server start)

·         TLS proxy module: TLSProxy.exe or mserver_tlsproxy.exe

·         PBX extra module: APPDIRECTORY \tsmodules\fs\fs_mserver.exe

·         FTP access: APPDIRECTORY \ftp_mserver.exe

·         H323 server (optional): APPDIRECTORY \atarongk.exe

·         SIP-H.323 converter (optional): APPDIRECTORY \vsip.exe

·         Voice playback: APPDIRECTORY \mserverftp.exe (might be generated only after first server start)

·         Lego.exe: for Let’s Encrypt TLS certificate management

For a port based firewall, the following ports should be enabled:

·         UDP: 5060,8090 and the RTP/RTCP port range (from MinRTP to MaxRTP and from fs_minrtp to fs_maxrtp as set in the configurations; you can configure these as you wish)

·         TCP: 21,22,80,443,1433,1720,1721,2223,5060,5061,5065,8080,8084,8090,9885,9886,9889

 

The exact ports can be listed from Config -> Network -> Active ports after the service have been started first time.

If you are hosting the server behind NAT, then configure port forwarding on your external router or NAT device for the ports listed at Config -> Network -> Active ports

 

You might also add the database and the VoIP server app folder to your virus scanner and search indexing exception list.

 

6.       MizuManage

 

The MizuManage admin client is used to manage your VoIP server. Its main executable is already found in the server directory (MizuManage.exe) so you can launch it also from there, but to have all functionalities, we recommend installing this software separately. You can also install this software to any other windows PC (or Linux via Wine) to be able to manage your VoIP server remotely.

The installer can be downloaded from here: https://www.mizu-voip.com/Portals/0/Files/MizuManagement_Setup.exe

Double click on the installer and follow the instructions. Once the install process is done you must enter the login details:

·         Server: ip address of the server (database port followed after a comma if not using the default port)

·         Instance: database name (“mserver” by default)

·         Node: node number (only if you have more than one app service instance)

·         Username: database username (“sa” by default)

·         Password: database password

 

Example:

                Server: mserver (127.0.0.1,1433)

                Instance: mserver

                Username: sa

                Password: srEgtknj34f

 

Check the followings if you are unable to connect:

·         MS-SQL is running (check the services management console or check of its process is running)

·         TCP connections are enabled for MS-SQL  (This can be set with the SQL Configuration Wizard tool from your start menu)

·         the database exe or port (1433 or 2223) is enabled on the firewall

·         the mserver database is there and contains tables and stored procedures (if it is empty, then run the database creation script again or restore from the template backup file)

After you login first time, the „Configuration wizard“ should appear automatically (if not, then launch it from Config menu) 

For now it is enough if you just quickly go through the settings and change only the obvious things if necessary since you can go back here anytime later and spend a little more time to study the available configuration options.

Click on the Finish and wait for the scripts to finish with the configuration.

 

If you get “object missing” or similar errors when you first open the MizuManage, make sure that the database structure was created successfully during setup. For this install the SQL management studio if not already installed and check if you have tables under the mserver database. If not, then create the database if missing then open and run the mserverscript.sql file on the mizu database. This will create all tables and stored procedures needed. After this step you will have to run the Configuration wizard again (Mizu manage -> Config menu)

 

 

7.       Start

 

Register the Mizu VoIP service by running the srv_install.bat file as Administrator. (You can also do the same by launching the mserver.exe –install from the command line).

At this point the services are already started and are set to automatically start when the OS is starting. (you can alter these settings from the Start menu -> Administrative Tools -> Services)

Anytime later you can stop/start the service with the srv_*.bat files or from the Services control panel applet, or from MizuManage Control menu.

 

Check the log file if any startup error exists. (Open the last “log_xxx.dat” files near the mserver.exe with notepad or TotalCommander (F3) or using the logviewer application from the Tools directory if you have installed it).  Search for “CRITICAL”, “ERROR”, “catch” and “WARNIG” messages. Stop the mserver service if you are unable to access the log file (Later you can use better methods for log checking which doesn’t require server restart. This is described in the admin guide).

The most common error is related to database connection. In this case you have to check that the database is available and your [database] section in the mizuserver.ini is set correctly (password, port, etc)

 

At this stage you already should be able to make calls through your VoIP server. See the MManage -> Help menu -> Client configuration about the usage. Open the Users and devices form in the MManage, find out the username/password for the default endusers (or create two endusers) and enter the same credentials in 2 voip client application to be able to make a call between them. These are described in more details in the tutorial.

 

8.       License

 

You might use the free compact version, the demo version or order the business version or a custom edition.

If you already made the purchase then request your license key from Mizutech support.

 

9.       Uninstall

 

Follow these steps in case if you would like to remove the Mizu VoIP server:

a.       Run the srv_uninstall.bat file as Administrator.

b.       Delete the program directory

c.       Uninstall MS-SQL from the Add/Remove programs control panel applet

d.       Delete the database files (by default at C:\Program Files\Microsoft SQL Server\MSSQLX\MSSQL\DATA)

Please send a short email with your feedback so we can learn how to improve our software.

Configuration

 

From this point you should continue with the configuration tutorial.

For more details, please consult the Admin Guide and other server related documentations on our website.

Contact Mizutech support if you have any issue at serversupport@mizu-voip.com and provide a remote desktop access to your server. For this, you should use only the built-in remote desktop and not any third party tool like VNC or TeamViewer. We offer free install, configuration, training and support services for our customers.

Copyright © Mizutech SRL