miniSipServer manual document

MyVoipApp Support Team

Support@myvoipapp.com

Index

1. Introduction

miniSipServer is a SIP server based on Windows system.

Official website is http://www.myvoipapp.com or http://www.minisipserver.com.

Download URL is http://www.myvoipapp.com/download.

In the following sections, we give a very simple example firstly to describe how to deploy a VOIP network with miniSipServer.

2. Demo network

network topology

In above figure, there are some important network elements. Both A and C are SIP IP-Phone. B is a normal computer which installed a SIP software. A and B are in the same local network where miniSipServer is installed. We name them as "local user". C is in another network and we name it as "external user". They are connected by using carrier VOIP networks.

In this network, we assume that A and C have registered in carrier network; they have their own external line numbers assigned by carrier. B is only an extension in the local network. When a local user makes a call to external user, such as A call C, we name this scenario as "out-group call". In current version, the user who has external line number can make out-group call or there are some external lines shared by local users.

Please refer to following table for their details.

Actors

IP Address

Local number (Extension)

External line number

miniSipServer

192.168.1.100

-

-

A

192.168.1.101

101

2001

B

192.168.1.100*

100

-

C

-

-

2002

In our example, we install B and miniSipServer in the same computer. It requires that B's softphone shall not bind the same socket port which is necessary for miniSipServer. miniSipServer binds 5060 port (default) to receive and send SIP message.

By the way, we suggest you to install Xlite. It is an excellent SIP softphone and it is free.

3. Demo dialing plan

miniSipServer supports several different call scenarios. The dialing plan will be different in different scenarios. It is required that subscriber shall dial out-group prefix before the real number if he/she wants to call a called subscriber who is external user. The default prefix is '9'.

Following table describes the dialing plan and its scenarios.

Caller

Called (destination)

Dialing plan

Example

A

B

B's local number

100

A

C

Out-group prefix + C's external line number

92002

C

A

A's external line number

2001

C

B

-

It is supported through "auto attendant" feature.

B

A

A's local number

101

B

C

Out-group prefix + C's external line number

92002

Note: the external line should be shared for other local users to make outgoing call.

4. Configure local user information

In default, miniSipServer has pre-set three local users information. Theire names are '100', '101' and '102'. Their passwords are '100', '101' and '102'. Of course, we can add, modify and delete user information dynamically and it is very easy.

Please click menu 'Data->Local users' to show local users information windows. All users can be updated in this window.

local user information window

In this window, the icons will be different if the real user enters different state or stage.

Icon

State

unregister user icon

The user hasn't registered into miniSipServer.

idle user icon

The user has registered into miniSipServer and in IDLE state now.

alerting user icon

The user is ringing.

talking user icon

The user is talking.

4.1 Add a local user

Please click 'Add' button in 'local users' information'window and fill the information which you want in the opened dialog.

There are five kinds of configuration for one local user.

4.1.1 Basic configuration

local user information configuration

Item

Value

Description

User name

String

User name for SIP authorization.

User password

String

User's password for SIP authorization.

Display name

String

Display name for current user. It is more readable.

If the called party SIP phones/clients support display name, it will show this name when it receives the call from this user.

eMail address

String

User's e-mail address.

If the user has subscribe 'voice mail' service, the voice mail will be sent to this e-mail address.

4.1.2 Supplementary services

local user supplementary configuration

Item

Value

Description

Forward call to this user when unreachable

Yes or no

Set call forwarding on unreachable service right to local user.

When it is selected, a target number is followed in the configuration.

Forward call to this user when busy

Yes or no

Set call forwarding on busy service right to local user.

When it is selected, a target number is followed in the configuration.

In another way, some SIP clients can support it in its own configuration, that will be unnecessary to configure it again in MSS.

Forward call to this user when no-answer

Yes or no

Set call forwarding on no-answer service right to local user.

When it is selected, a target number is followed in the configuration.

In another way, some SIP clients can support it in its own configuration, that will be unnecessary to configure again in MSS.

No-answer time

Integer

Indicate how long the call should be forwarded if the user doesn't answer the call.

Voice mail for unreachable or no-answer call

Yes or no

If the user is absent or doesn't answer the call, MSS will prompt the caller party to leave a message and send this voice message to the user's email box.

Use specific external line for out-group call

Yes or no

If the user makes an outgoing call, he/she should select a specific external line or not.

External line

String

The specific external line for out-group call. It is enabled only when the 'use specific external line for out-group call' option is selected.

If the call is configured as "external line" route type in "called analysis", the user will use this specific external line to route the call. If the specific external line isn't configured, a shared external line will be selected.

Limit max duration of outgoing call (seconds)

Integer

It limits the max duration of outgoing call and MSS will release the call automaticlly if it reachs the max duration.

4.1.3 Advance services

local user advance service configuration

Item

Value

Description

Automatic attendant

Yes or no

Current user is an automatic attendant or not.

If it is an automatic attendant, MSS will prompt caller party to input extension number once the user receives incoming call.

Call shop member

Yes or no

Current user is a call shop member or not.

If it is a call shop member, MSS will calculate its fee according to call shop configuration when the call is released. If it is not a call shop member, it is unnecessary to calculate fee.

Caller prepaid

Yes or no

It indicates whether current user is a prepaid user or not.

If it is a "caller prepaid" user. MSS will reduce its balance when it makes out-going call.

This item will be enabled only when you configure remote database in system configuration.

Ring group

Yes or no

The indication of ring group service right.

(Ring group)ID

Integer(>0)

Ring group ID. It is valid only when "Ring group" is selected.

The users who have the same ring group ID belong to the same ring group. When one receives a incoming call, others will ring at the same time.

Suppress ring group if receive incoming call directly

Yes or no

When the caller calls this user directly, the user will ring and others in the same ring group will not ring together if this item is selected.

Pick-up and pick-up group ID

Yes or no

These paramters are used for "Pick-up service".

Caller ID rewriting

Yes or no

It indicates whether current call has "Caller ID rewriting" service right or not.

Subscribe all users' presence or dialog information

Yes or no

Subscribe presence.

If it is selected, MSS will report others users'status to this user.

Please don't select this option for common users since there will have lots of SIP messages to be reported.

4.1.4 Call authorization

local user supplementary configuration

Item

Value

Description

Call level

Integer (1~6)

Call right for different level call.

In "called number analysis" table, some called number prefixs or calls are configured with different call level, only the user who has specific call level right can make such call.

4.1.5 Media services

local user supplementary configuration

Item

Value

Description

Music on Hold

Yes or no

When the SIP client send HOLD message, MSS should play music or not.

Relay media stream

Yes or no

If the SIP client is behind NAT and it cannot travel the NAT, it needs MSS to help to relay media stream.

If the SIP client can travel NAT itself, it is unnecessary to ask MSS to relay media stream.

4.1.6 Follow me / Find me

local user follow me / find me configuration

Item

Value

Description

Strategy

0,1,2

0(default): call all destinations at the same time.All phones or clients will ring together.

1: call next one when current called party doesn't answer the call. Only when current call is fail, MSS will begin to call next one.

2: call next one in some intervals.

Intervals

Integer

If the strategy is '2', this item must be configured.

Destination A

String

Destination A

Destination B

String

Destination B

Destination C

String

Destination C

4.2 Edit a local user

It is almost same as 'Add' operation. Please select a user and click 'Edit' button in 'Local users information' window and update the information you want.

4.3 Delete a local user

Please select a user which you want to delete and click 'Delete' button.

5. Configure external line

In the example, local user A has an external line number which is provided by a carrier or VOIP provider, and then it can call the user who is out of local VOIP network.

Please click menu 'Data->External lines' to show 'external lines' window for subsequent operations.

external lines window

In this window, the icons will be different if the external line has registered into the carrier network or not.

Icon

State

unregisterred external line

The external line hasn't registered into carrier network.

unregisterred external line

The external line has registered into carrier network.

5.1 Add an external line

Click 'Add' button in 'External lines' window and fill the information which you want in the opened dialog. Every external line could be binded to a local user or act as an auto attendant. If the external line is binded to the local user, each call from outside the miniSipServer will be routed to its local user. If the external line acts as an auto attendant, it will prompt to enter extension number when it receives incoming call.

It includes following configurations:

5.1.1 Basic configuration

external lines window

Item

Value

Description

External line type

0: register to a SIP/VOIP server

1: connect FXO gateway

It indicates the external line type.

If peer side is a SIP server, MSS will use the external line information to register to peer SIP server.

If peer side is a FXO gateway, it should use the external line information to register to MSS.

External line

String

The user name which VOIP providers provide, or for FXO gateway.

Password

String

The password is used to authorize the external line by VOIP providers.

Peer server IP address

String

Peer SIP server. In normal, it is always your VOIP provider's servers' address.

This field can be filled with IP address or host name.

Peer server port

Integer(>0)

Peer SIP server port which is opened by VOIP provider to receive SIP messages.

Local user

String

The local user who is bind with current external line.

It means that the local user can make call to VOIP provider and receive call from VOIP provider.

The external line cannot support 'reINVITE' operation

Yes or no

If the VOIP carriers' server or peer gateway cannot accept 'reINVITE' operation, this item must be selected, so MSS will have to relay media stream. It is often configured in 'automatic attendant' service.

5.1.2 Incoming call configuration

external lines incoming call configuration

Item

Value

Description

Automatic attendant

Yes or no

It indicates whether current external line is an auto attendant.

If it is selected, once it receives incoming call from VOIP providers, it will prompt to enter target extension number and the call will be redirected to such target.

Only permit incoming call

Yes or no

It indicates whether this external line can make outgoing call for local users. In default, it is unselected and local user(s) can make outgoing call through it.

5.1.3 Outgoing call configuration

external lines outgoing call configuration

Item

Value

Description

All local users can use this external line to make outgoing call

Yes or no

It indicates whether other local users can make outside call by using this external line.

If it is yes, the other users registered in the same MSS make calls to VOIP provides.

If it is no, then only the user which is bind with the external line can make call to VOIP provider.

Chain to next line when fail

Yes or no

If the call is fail, whether the call should be routed to next specific external line.

If it is selected, the specific next line must be selected together.

Limit max duration (seconds)

>0

It limits the max duration in the outgoing call process. MSS will release the call automatically if the max duration is reached.

Send outbound via

Yes or no

Some VOIP carriers demand the clients send SIP messages to an outbound server, then we need configure these outbound information to do that.

Outbound address

String

Outbound server address.

Outbound port

Integer

Outbound server port.

5.2 Edit an external line

We can edit an external line to bind another local user or change its password. Please select an external line and click 'Edit' button in 'External lines' window, and then update the information as what you want.

5.3 Delete an external line

Please select an external line and click 'Delete' button. The relative external line information will be deleted.

6. Configure system information

It is for advanced user. It will influence the whole system. You can configure system information using following.

1. Click 'System information' button in main window toolbar.

2. Click menu 'data->System information' to show and configure system information.

There are several tabs show system detail information.

6.1 Configure system information

system information window

Item

Description

Max number of local users

SHow many local users can be accessed or supported in current server.

Max number of external line

It indicates that how many external lines can be assigned in current server.

Out group call prefix

When a local user makes an out group call to his/her carrier network, he/she shall dial this prefix before the real number.

In our demo network, such as A call C, the dialing plan is '92002'. '9' is prefix and can be configured to another character.

RTP start port

The RTP start port in MSS. When MSS begin to initiate RTP/RTCP stream, it will open port according to this configuration.

By the way, in this configuration we can see that both the items have been marked with '*'' flag. It means miniSipServer shall be restarted if you modify their values. In fact, during miniSipServer configurations, you MUST restart miniSipServer to enable it if item marked with '*' flag has been modified.

6.2 Call detail record

system information window

Item

Value

Description

Caller user CDR

Yes or no

If it is selected, it means miniSipServer will generate original CDR for local user when the call is disconnected.

Called user CDR

Yes or no

If it is selected, it means miniSipServer will generate terminal call CDR for local user when the call is disconnected.

Caller external line CDR

Yes or no

Whether generate original call CDR if the call is from outside miniSipServer.

Called external line CDR

Yes or no

Whether generate terminal call CDR if the call is routed to outside miniSipServer.

Generate fail CDR

Yes or no

Whether generate a CDR even the called user never answer the incoming call.

Show CDR information log

Yes or no

Whether show CDR information in main window.

Output CDR into files

Yes or no

If it is selected, miniSipServer will store CDR records into local files which can be found in "$(INSTALL_DIR)/CDR/" directory.

By the way, one day, one CDR file.

6.3 SIP

system information SIP window

In default, miniSipServer will get local IP address and default port automatically and open SIP socket according to these information. But for some special case or environment, it is necessary to configure SIP socket address and port manually, such as (1) the computer which miniSipServer is installed have two network adapters and the user want to select a specific one. (2) For some special reasons, 5060 port is not available for SIP application.

In this configuration, we can modify SIP common information to resolve above problems.

Item

Value

Description

Local IP address

String

Indicate the IP address which miniSipServer will bind to process SIP messages.

Port

Integer(>0)

Indicate the port which miniSipServer will bind to process SIP messages.

The default value is 5060 which is SIP default port.

Realm

String

'Realm' parameter in SIP standard.

Detect another address if current address is unavailable

Yes or no

If MSS cannot bind the address to enable SIP functions, it indicates whether MSS should try to find an available address and bind to it.

This feature is very useful if current address is assigned by DHCP server. The address could be dynamic for each start-up.

6.4 STUN

STUN window

From version 1.6, miniSipServer can support STUN protocol and it can be deployed as STUN server in your VOIP network to support NAT transport.

Item

Value

Description

Primary STUN server IP address (MIP)

String

The primary STUN server IP address which miniSipServer will bind.

Primary STUN server port (MPORT)

Integer

The primary STUN server port which miniSipServer will bind.

The default value is 3478 which is STUN default port.

Second STUN server IP address (SIP)

String

The second STUN server IP address which miniSipServer will bind.

SIP can be same as MIP.

Second STUN server Port (SPORT)

Integer

The second STUN server port which miniSipServer will bind.

It MUST be different with MPORT.

In normal, the computer where STUN server is run shall have two network adapters. If only one network adapter is installed, some NAT types cannot be detected.

miniSipServer should be restarted if one of these items have been modified.

miniSipServer will open following sockets to process STUN requests.

6.5 MSS trunk

MSS trunk window

'MSS trunk' is an inner protocol in MSS. It can support relaying SIP signals and media streams.

Item

Value

Description

Signal port

Integer

The UDP port used by MSS trunk to transfer signals.

IP relay start port

Integer

The UDP port used by MSS trunk to relay media streams.

6.6 Remote database

From version 2.x, MSS can connect MySQL database to store configurations and store CDRs. Before configure MSS, you need configure MySQL firstly.

Remote database window

Item

Value

Description

Database address

domain name or IP address

Remote MySQL address.

Note, MSS and MySQL can be installed in the same computer. In this case, the "database address" should be "localhost".

Visit port

Integer

Remote MySQL visit port. If you updated port in MySQL configuration, you need update this configuration in MSS too.

The default value is 3306. Please refer to MySQL manual document.

User name

String

The user name which is created in MySQL database.

The user should have the right to create database, create tables, etc.

Password

String

Password of the visit user. It depends on MySQL configuration.

Database name

String

Database name to be created in MySQL for MSS.

The default value is "myvoipapp_minisipserver". Of course, we can change the database name and remember to re-start MSS to enable it.

6.7 SMTP

SMTP configuration is used to connect SMTP server and send e-mail. For example, in "voice mail" feature, MSS will send use this configuration to send voice mail to users' email address.

SMTP configuration

Item

Value

Description

SMTP server

String

SMTP server , such as "smtp.gmail.com".

User name

String

The user name which will be used to login into SMTP server.

If the SMTP server doesn't need authorization, this item can be NULL.

Password

String

The password of above user. It is also used to login into SMTP server.

If the SMTP server doesn't need authorization, this item can also be NULL.

This server requires a secure connection

Yes or no

If the SMTP server requires SSL/TLS connection, this option must be selected.

7 Configure peer server

In miniSipServer, this configuration can be applied to two scenarios:

Click menu "data->Peer servers" to show "Peer servers" window.

peer server configuration

7.1 Add a peer server

Click "Add" button in "Peer SIP servers" window to show "Peer SIP server information" dialog window to add a peer server record.

peer server item configuration

Item

Value

Description

Peer SIP server ID

Integer (from 0 to 254)

ID of current SIP server. It is an index item and can not be repetition.

Description

String

Description. It can be NULL.

Server IP address

String

Peer SIP server IP address. It cannot be NULL.

It can be filled with an IP address or host name.

Server port

Integer

Peer SIP server IP port. It cannot be NULL.

Caller ID in outgoint call

String

It can be NULL. If it is set to some string, MSS will use it as caller party number in the outgoing call.

7.2 Edit a peer SIP server

Please select a peer SIP server record in "Peer SIP servers" windows and click "Edit" button, and then update the information as what we have done in "Add a peer server" section.

7.3 Delete a peer SIP server

Please select a peer SIP server record in "Peer SIP servers" windows and click "Delete" button. The relative record will be deleted.

8. Dialing plan

From version 1.6.2, miniSipServer can support powerful dialing plan and flexible routing. In these sections, following subjects will be described.

In miniSipServer, the basic analysis process will analysis caller number firstly. After analysis caller number, MSS will get the dial plan for this caller party. If there isn't caller analysis record, the default dial plan will be "default". Then, MSS will continue to analysis the called number according to the dial plan. If the called number shall be changed, the analysis process will check "Transition" table to change called number. After analysis called number, MSS will get the final route type for the call, such as "local user", "external line", and so on.

8.1 Transition

In some special cases, the caller number or called number shall be changed before the call is routed out of miniSipServer or incoming to miniSipServer, then "Transition" can be applied to these cases.

Click menu "Dialing plan->Transition" to show "Transitions" main window.

transition configuration

8.1.1 Add a transition

Click "Add" button in "Transition" main window to show dialog window to add a transition record.

transition window

Item

Value

Description

ID

Integer(between 1 and 254)

Transition ID.

Transition type

1: Add prefix

Add a prefix before current called or caller string.

"Prefix / Replace string" must be filled with the string which you want.

2: Replace with specific string

Replace target string with a specific string which should be filled in "Prefix / Replace string" item.

The target string is confirmed by "start position" and "length" items.

3: Delete

Delete a string which should be confirmed by "start position" and "length" items

Start position

Integer(between 0 and 31)

The start position from where current transition will be done.

Length

Integer(between 0 and 32)

The target transition length. It indicates how many characters should be deleted or replaced.

Prefix / Replace string

String

The specific strings which will be added as a prefix or replace target strings.

Since the transition is a very important and useful element in dialing plan and analysis process, we give some examples to describe how to use this feature.

Example 1: Change "1234" to "Holly1234".

It is can be realized by using "Add prefix" transition. (1) Select "Add prefix" transition type; (2) set "Prefix / Replace string" to be "Holly";

Example 2:Change "1234" to "34".

We can use "Delete" transition type to do it. (1) Select "Delete" transition type; (2) set "Start position" to be zero; (3) Set "Length" to be 2, it means two characters should be deleted.

Example 3: Change "1234" to "Holly34".

It can be done by using "Replace" transition type. (1) Select "Replace" transition type; (2) set "Start position" to be zero; (3) set "Length" to be 2; (3) set "Prefix / Replace string" to be "Holly";

8.1.2 Edit a transition

Select a transition record and click "Edit" button in "Transition main window" to show "Transition dialog window" to edit the record.

The method is almost same as "Add a transition".

8.1.3 Delete a transition

Select a transition record and click "Delete" button in "Transition main window" to delete the record.

8.2 Caller number analysis

Click menu "Dialing plan -> Caller analysis" to show "Caller number analysis" main window.

caller number analysis configuration

Item

Value

Description

Caller number

String

Caller number prefixes string.

Only the caller who has the same prefix can continue analysis process.

Transition ID

Integer(between 1 and 254)

Caller transition id. The analysis will change caller according to the transition configuration.

Dial plan

String

Dial plan name.

The default value of dial plan is "default". We can indicate any other dial plan name for specific caller number ( or caller number prefix). In the next "called number analysis" configuration, the "dial plan" will be a key parameter for "called number analysis" process

8.2.1 Edit a caller analysis record

Select a record and click "Edit" button in "Caller number analysis main window" to show "Caller number analysis information dialog window" to edit the record. It is almost same as previous section.

8.2.2 Delete a caller analysis record

Select a record and click "Delete" button in "Caller number analysis main window" to delete the record.

8.3 Called number analysis

"Called number analysis" is the core element in miniSipServer dialing plan and analysis process. The analysis result will change the caller number or called number and route the call to different SIP servers or SIP clients.

called number analysis configuration

Click menu "Dialing plan -> Called analysis" to show "Called number analysis" main window.

8.3.1 Add a called analysis record

Click "Add" button in "Called number analysis main window" to show "Called number analysis information" dialog window to add a called analysis record.

called number analysis dialog

Item

Value

Description

Dial plan

String

Dial plan name.

Both "Dial plan" and "Called number" are key parameter for the called number analysis process.

With different "Dial plan", the "called number" can be the same.

With different "called number", the "dial plan" can be the same.

In the "Caller number analysis", we can indicate different "dial plan" for different caller, then we can configure different result with the same called prefix for different callers.

Called number

String

The target string to be analyzed. It can be the full called name or just called prefix.

Route Type

Local user (extension)

The user which has the same called prefix is a local user who can register in current miniSipServer.

External line

The call will be routed to an external line. If a specific external line is configured, the call will be routed to this specific external line.

SIP trunk

The call will be routed to a specific SIP server which is indicated by "Peer server ID" if the called has current prefix.

If it is selected, "Peer server ID" must be set together and it can be found and configured according to "Configure peer server" chapter.

MSS trunk

The call will be routed to another MSS server which is indicated by "Peer server ID" if the called has current prefix. The messages between these MSSs are inner messages which we name them as "MSS trunk". It is used to bypass VOIP broking in some special cases or environments.

If it is selected, "Peer server ID" must be set together and it can be found and configured according to "Configure peer server" chapter.

Analysis caller

Yes or No

It indicate whether analysis caller during current process.

If it is select, "Caller number analysis" process will be done.

Change called number

Yes or No

It indicates whether the called should be changed.

If it is selected, two important items must be confirmed at the same time, one is "Transition ID" which will indicate how to change the called. Another is "Re-analysis after transition".

"Transition ID" can be found and configured in "Add a transition" section.

If "Re-analysis after transition" is selected, it means the analysis process should be done again after the called has been changed.

Call level

Integer(from 0 to 6)

Call level for current prefix.

If it is 0, that means no limitation for this prefix, any local user can make call with this prefix.

If it is non-zero, that means only the local users who have the call level right can make call with such prefix.

Limit max duration (seconds)

Integer(>0)

The max duration of the call.

If the call reachs the max duration, MSS will force to release the call automatically.

From the analysis result, we can see that miniSipServer can route the call to different SIP servers according accoring to different called prefix. It is very flexible for our VOIP deployments.

8.3.2 Edit a called analysis record

Select a record and click "Edit" button in "Called number analysis main window" to show "Called number analysis information" dialog to edit the record. It is almost same as previous section.

8.3.2 Delete a called analysis record

Select a record and click "Delete" button in "Called number analysis main window" to delete the record.

9. Services

Please refer to services guide documents.

10. FAQ

10.1 How to configure Xlite

It is very easy to deploy Xlite into miniSipServer VOIP network.

In Xlite main window, click "show menu" button and click "SIP account setting ..." menu to show SIP account window and begin to configure a SIP account.

xlite main window

In "SIP accounts" window, please click "Add" button to add a SIP account. In the account tab page, fill local user information which has been configured in "Configure local user information" section. Then, click OK button to confirm your information. If everything is OK, the main window will display that the user is ready.

xlite account window