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.
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