Manual document

MYVOIPAPP Support Team

support@myvoipapp.com

Index

1. Introduction

miniSIPServer is a SIP server for Windows and Linux systems.

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

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

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 computer with a SIP client. 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 through internet.

In this network, we assume that C has registered to VoIP carrier network directly; A and B are local users(extensions) in local VoIP network. A is assigned an external line number. When a local user makes a call to external user, such as B calls C, we name this scenario as "out-group call".

Please refer to following table for details about this network:

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

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 outside numbers. The default prefix is '9'.

Following table describes the dialing plan and its scenarios.

Caller number Called number (destination) How to dial 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. local users

By default, miniSIPServer has pre-set three local users. Their names are '100', '101' and '102', and their passwords are '100', '101' and '102'. Of course, we can add, modify and delete local users dynamically and it is very easy to do that.

Please click menu 'Data / Local users' to show local users information windows.

local user information window

In this window, icons will be different for local users' different state.

Icon State
unregister user icon The user is off-line.
idle user icon The user is online now.
alerting user icon The user is ringing.
talking user icon The user is talking.

4.1 Basic

local user information configuration

Item Type or value Description
User name String Local user's name
User password String User's password for SIP authorization.
Description String Description of current local user. For example, we can record where it will be deployed to.
IP address authorization bool Using IP address to check current local user authorization. If this item is checked, it is unnecessary for SIP phone to send REGISTER messages, MSS will check its address directly.
By default, it is unchecked, MSS will always check local user name and password for authorization.
IP address String SIP phone's real IP address.
Port Integer SIP phone's real port.

4.2 Forwarding services

local user forwarding service configuration

Item Type or value Description
Forward call to this user unconditionally Yes or no "Forwarding service" right for local user.

When it is selected, it means the user has this service right and a forwarding number can be configured together.

Please refer to "call forwarding" service document for more details.

Forward call to this user when unreachable Yes or no
Forward call to this user when busy Yes or no
Forward call to this user when no-answer Yes or no
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.
Personalized voice ID MSS audio ID Users can customerized their own greeting voice to replace the default greeting voice in voice mail feature.
Please refer to this document for more details about MSS audio.
eMail address email address Local user's email address. MSS will send voice messages to this email address. Please refer to "voice mail" service document for more details.

4.3 Follow me / Find me

Please refer to "Follow me service document" for more details.

local user follow me / find me configuration

Item Type or 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.4 Basic call

local user basic call configuration

Item Type or value Description
End date Date End date of current local user. If it is expired, the local user will be invalid and cannot process any call. Its default value is 0 which means valid forever.
Its format must be 'YYYY-MM-DD', such as '2012-12-10'.
Time condition ID Integer Please refer to "Time condition" service document for more details.
Dial plan String The dial plan name for current user. By default, its value is 'default'. In 'analyze called number' and routing selection process, MSS will use this item as a key index. If you configure it to different value, the final routing result could be different.
Display name String The caller name displayed to called party.
For example, if the extension number is '100' and the 'display number' is 'Gilson', then called party will see 'Gilson' for its incoming calls; If this item is blank, the called party will see '100' for its incoming calls.
Use specific external line for out-group call Yes or no If it is selected, a specific external line must be configured together. Then, this extension will use this specific external line to make out-group calls.
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.
Maximum simultaneous outgoing call Integer It limits how many calls this local user can make at the same time.
If it is zero, that means this user cannot make outgoing calls.
Call level Integer Call right for different level call.
In "dial plan / analyze called number" table, some called number prefixs can be configured with different call level, only the users who have specific call level right can make such calls.

4.5 Supplementary services

local user supplementary configuration

Item Type or value Description
Automatic attendant Yes or no Current user is an automatic attendant or not.
Please refer to "auto-attendant service document" for details about this service.
Ring group Yes or no ring group service right indicator.If it is configured, a group-id must be configured together. All local users who have same group-id are in the same ring group.
Please refer to "ring group service document" for more details.
Suppress ring group if receive incoming call directly Yes or no If this item is selected, this local user will ring and others in the same ring group will not ring together when caller party calls the user directly,.
Pick-up Yes or no 'Pick-up' service right indicator. Please refer to "Pick-up and group pick-up service document" for more details.
Call park Yes or no

"Call park" service right indicator. Please refer to "Call park and call retrieve services" document for more details.

Call retrieve Yes or no "Call retrieve" service right indicator. Please refer to "Call park and call retrieve services" for more details.
Call waiting Yes or no "Call waiting" service right indicator. Please refer to "Call waiting service" for more details.
One number, multi-devices Yes or no "One number, multi-devices" service right indicator. Please refer to "One number, multi-devices" for more details.
Operator break-in Yes or no "Operator" service right indicator. Please refer to "operator service" for more details.
Operator overstep Yes or no "Operator" service right indicator. Please refer to "operator service" for more details.

4.6 Advance services

local user advance service configuration

Item Type or value Description
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.
Please refer to "Caller prepaid service document" for more details.
Call shop member Yes or no Current user is a call shop member or not.
Please refer to "call shop service document" for more details.
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.
Presence information group group id If this parameter is indicated, only the presence messages in the same group can be retrieved.
Caller ID with name Yes or no "Caller ID with name" service right indicator.
Please refer to "Caller-ID with name service" document for more details.

4.7 Media services

local user media service configuration

Item Type or value Description
Music on Hold Yes or no When SIP clients send HOLD message, MSS should play music to peer sides or not.
Relay media stream Yes or no Used to indicate MSS to relay media streams for SIP clients.
If the SIP client is behind NAT and it cannot STUN, 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.
Record outgoing calls Yes or no Used to indicate MSS to record audio streams of this user's outgoing calls.
Please refer to "Call recording" service document for details.
Record incoming calls Yes or no Used to indicate MSS to record audio streams of this user's incoming calls.
Please refer to "Call recording" service document for details.

5. 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 outsider users out of local VOIP network.

Please click menu 'Data / External lines' to show 'external lines' main window for operations.

external lines window

In this window, icons will be different according to state of external lines

Icon State
unregisterred external line The external line hasn't registered into carrier network.
registerred external line The external line has registered into carrier network.

5.1 Basic

external lines window

Item Type or value Description

External line type

0(default), 1
  • 0(default) - Connect to peer sip/voip server.
  • 1 - Connect to FXO gateway

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 this external line information to register to MSS.

Peer server IP address String Peer SIP server. In normal, it is always the address of your VoIP carrier's server or FXO gateway.
This field can be filled with IP address or host name.
Peer server port Integer(>0) Peer SIP server port opened by VOIP provider to receive or send SIP messages.
External line (account) String The account name assigned by VOIP providers, or user name for FXO gateway.
Password String Used in authorization to VoIP providers, or for FXO gateway. This item can be blank, then it means unnecessary to authorize the account.
Authorization ID String It is for authorization. it can be blank or same with external line account. If it is blank, MSS will use external line account for authorization.
Some VoIP providers will require different authorization ID with its account, then this item will be configured.
The external line cannot support reINVITE operation yes or no If VOIP carriers' server or FXO gateway cannot accept 'reINVITE' operation, this item must be selected, so MSS will have to relay media stream. It is often configured in 'auto-attendant' service.
Do not register yes or no Some SIP trunk providers don't require REGISTER message but require authorization for calls, then we can enable this item to work with them.

5.2 Incoming call

external lines incoming call configuration

Item Type or value Description
Transfer incoming call to
  • Automatic attendant
  • Destination number

If transfer incoming call to auto-attendant. the auto-attendant service will be triggerred.

If transfer incoming call to destination number, MSS will analyze this new number to get new routing selection.
It can be a local user, or outside user' number.

Destination number string If transfer type is 'destination number', this item must be configured at the same time. MSS will analyze it to get final routing selection.
Record incoming calls yes or no It it is enables, MSS will record incoming calls from this external line, and save its audio streams in local directory.

5.3 Outgoing call

external lines outgoing call configuration

Item Type or value Description
Send outbound via Yes or no Some VOIP carriers require 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.
Transport UDP or TCP SIP transport to transfer SIP messages. By default, UDP is used always. For some kinds of SIP devices, they only require SIP over TCP, then we must select TCP transport to work with them.
All local users can use this external line to make outgoing call Yes or no If it is yes, other users registered in the same MSS can make out-group calls through this external line.
If it is no, only the user binded to this external line can make call to VOIP provider.
Use original caller number as display name Yes or no When make outgroup calls through current external line, MSS can transfer original caller number to peer side as "display name". Then, called party will see "original caller number" instead of "external line number".
Time condition ID >=0 Time condition of current external line. If it is not work-time, the line will be out of work. Please refer to "time condition" feature for more details.
Outgoing group ID >=0 Define a group ID for current external line. Sevaral external lines or SIP trunks can be configured with same group ID which will be used in "dial plan" process to change numbers.
No-answer timer (seconds) >=0 When outgoing call is through current line, this value will limit the no-answer timer value. If it is expired, the call will be released and next line will be tried. The default value is zero that means use system default no-answer timer value.
Maximum simultaneous outgoing call >=0 Limit how many concurrent outgoing calls can be processed. If it is zero, that means the external line cannot process any outgoing call.
Limit max duration (seconds) >=0 It limits the max duration of outgoing call process. MSS will release the call automatically if the max-duration timer is expired.
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.

6. System

These items will effect whole system. You can configure system in following ways:

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

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

6.1 Basic

system basic information window

Item Description
Administrator password Password of administrator. By default, it is blank. If we configure this item, we need input password to login into MSS GUI/Web system.
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 default outgrou prefix and we can configure it to another character or just remove it.
RTP start port The RTP start port in MSS.
When MSS begin to play audio or collect digits, it will open port according to this configuration.
HTTP server port use to start a inner HTTP/WWW server to provide web management. Please refer to "Web management" document for more details.
Event channel port use to start a inner websocket port to report MSS inner status. Please refer to "Event channel" document for more details.
Voice prompts use to indicate MSS which language audio should be played. In current stage, only english audios and Chinese audios can be provided.

By the way, in this configuration we can see that some items have been marked with '*'' flag. It means miniSIPServer shall be restarted if you modify their values.

6.2 SIP

SIP of system information

In default, miniSIPServer will get local IP address and default port automatically and open SIP socket according to these information. But in some environments, it is necessary to configure SIP address and port manually, such as (1) the computer which miniSIPServer is installed has two network adapters and administrator wants 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 Type or value Description
Local address (IPv4) String Indicate the IPv4 address or host/domain name which miniSIPServer shoud bind to process SIP messages. It is for IPv4 network.
Local address (IPv6) String Indicate the IPv6 address or host/domain name which miniSIPServer shoud bind to process SIP messages. It is for IPv6 network.
UDP port Integer(>0) Indicate the UDP port which miniSIPServer should bind to process SIP messages.

The default value is 5060 which is defined by SIP standard.

TCP port Integer(>0) Indicate the TCP port which miniSIPServer should bind to process SIP messages.

The default value is 5060 which is defined by SIP standard.

Please refer to "SIP over TCP" document for more details.

TLS port Integer(>0) Indicate the TLS port which miniSIPServer should bind to process SIP messages.

The default value is 5061 which is defined by SIP standard.

Please refer to "SIP over TLS" document for more details.

Realm String 'Realm' parameter in SIP standard.
Detect another address if current address is unavailable Yes or no If MSS cannot bind "Local 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.3 Remote database

Remote database window

Item Type or 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.
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.
You don't need create this databse in MySQL manually, MSS will create it automatically when it starts up if all MySQL configuration are right.
User name String The user name created in MySQL database.
The user should have enough right to create database, create/modify/query tables, etc.
Password String Password of the visit user. It depends on MySQL configuration.

6.4 SMTP

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

SMTP configuration

Item Type or 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 blank.
Password String The password of SMTP user. It is also used to login into SMTP server.
If the SMTP server doesn't need authorization, this item can also be blank.
This server requires a secure connection Yes or no If the SMTP server requires SSL/TLS connection, this option must be selected.

6.5 Call detail record

CDR window

Item Type or 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 through external lines.
Called external line CDR Yes or no Whether generate terminal call CDR if the call is routed to outside miniSIPServer through external lines.
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 real-time 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.6 STUN

STUN window

Item Type or 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 defined in STUN standard.

Second STUN server IP address (SIP) String The second STUN server IP address which miniSIPServer will bind.
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 running shall have two network adapters. If only one network adapter is installed, some NAT types cannot be detected rightly.

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

miniSIPServer will open following sockets to process STUN requests.

7. SIP trunk

Please click menu "data / SIP trunk" to configure SIP trunk.

7.1 Basic

peer server basic configuration

Item Type or value Description
SIP trunk ID Integer ID of current record.
Description String Description. It can be blank.
Server address String Peer SIP server address. It cannot be blank.

It can be an IP address or host name.
Server port Integer Peer SIP server IP port. It cannot be blank.
Transport UDP or TCP SIP transport to send SIP messages, it can be SIP over UDP or SIP over TCP. By default, most SIP devices use SIP over UDP.

7.2 Outgoing call

outgoing call configuration in SIP trunk
Item Type or value Description
Caller ID in outgoint call String It can be blank. If it is set to some string, MSS will use it as caller party number in the outgoing call.
Outgoing group ID >=0 Several external lines or SIP trunks can have same outgoing group ID. In "dial plan" process, this group ID will be used to change numbers or select routing.

Default "0" means there isn't group and "dial plan" process will not refine its numbers of outgoing calls.

7.3 Incoming call

incoming call configuration in SIP trunk
Item Type or value Description
Dial plan for incoming call String dial plan name for incoming call. By default, its value is 'default'. We can change it to another dial plan as we want, and it will effect final 'dial plan' process and routing selection.

8. Dial plan

miniSIPServer can support powerful dialing plan and flexible routing. In this section, following subjects will be described.

Please refer to "Dial plan" document for more details about some important concepts of "dial plan" feature. Here, we only describe the details of its configurations.

8.1 Transition

"Transition" is used to change numbers, such as caller number, called number, and so on.

Please click menu "Dial plan / Transition" to show "Transitions" main window.

transition window

Item Type or value Description
Transition ID Integer Transition ID. Valid value should be between 1 and 254. It will be referred by other records.
Transition type 1: Add prefix Add a prefix before current called or caller string.
"Prefix / Replace string" item must be configured together.
2: Replace Replace target string with a specific string which should be configured 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 The start position from where current transition will be done.
Valid value is between 0 and 31. 0' means the first digit of the number.
Length Integer The target transition length. It indicates how many characters should be deleted or replaced. Valid value is between 1 and 31
Prefix / Replace string String The specific strings which will be added as a prefix or replace target strings.

Since 'transition' is a very important and useful element in dial-plan and analysis process, we give some examples to describe how to use it.

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

        Transition type = Add
        Prefix/Replace string = Holly
    

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

        Transition type = Delete
        Start position = 0
        Length = 2
    

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

        Transition type = Replace
        Start position = 0
        Length = 2
        Prefix/Replace string = Holly
    

8.2 Refine caller number

Please click menu "Dial plan / Refine caller number" to show its main window.

Refine caller number window
Item Type or value Description
Group ID Integer A group of 'refine caller number' records. This ID will be referred by other records.
Caller number prefix String MSS use longest-match method to match caller numbers with this prefix.
For example, there are two recrods whose 'caller number prefix' is '123' and '12', if the caller number to be analyzed is '1234', the record '123' will match it.
Transition ID Integer If current record matchs the caller number, this transtion id will be used to get transition type and change the caller number.

8.3 Refine called number

In "dial plan", if calls are routed to external lines or SIP trunks, we can use this function to refine their final called number in outgoing calls.

Please click menu "Dial plan / Refine called number" to show its main window.

Item Type or value Description
Outgoing group ID Integer This item is defined in external line or SIP trunk outgoing call configuration. This function will use it as index item to refine called numbers of their outgoing calls.
Called number prefix String MSS "dial plan" process will use this item with "outgoing group ID" item to match calls. If calls are matched, "dial plan" will refine their called numbers.
Transition ID Integer If current record matchs the call, this transtion id will be used to get transition type and change called number of current call.

8.4 Analyze caller number

Please click menu "Dial plan / Analyze caller number" to show its main window.

caller number analysis configuration

Item Type or value Description
Caller number prefix String Caller number prefixes string.
MSS use longest-match method to match caller numbers with this prefix.
Transition ID Integer Transition id for current caller number prefix.
The analysis will change caller number 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 "analyze called number" configuration, the "dial plan" will be the key parameter.

8.5 Analyze called number

"Called number analysis" is core procedure in miniSIPServer dialling plan and analysis process. Its analysis result will change caller number or called number and get final routing for calls.

Click menu "Dial plan / Analyze called number" to show its main window.

called number analysis dialog

Item Type or value Description
Dial plan String Dial plan name.
Both "Dial plan" and "Called number prefix" are key parameter for this analysis process.
With different "Dial plan", "called number prefix" can be same.
With different "called number prefix", "dial plan" can be same.
In "Analyze caller number", we can indicate different "dial plan" for different caller numbers, then we can configure different result with the same called prefix for different callers.
Called number prefix String The target caller number prefix to be analyzed. MSS use longest-match method to match called numbers with this prefix.
Route Type Local user (extension) The call should be routed to local users.
External line The call will be routed to outside through an external line.
If a specific external line is configured, the call will be routed through this specific external line.
SIP trunk The call will be routed to a specific SIP server which is indicated by "SIP trunk ID" .
If it is selected, "SIP trunk ID" must be set together and it can be found and configured according to "SIP trunk".
Routing group The call will be routed to a routing-group.

If it is selected, "Routing group ID" must be set together.

Please refer to "routing-group service document" for more details.

Intercept Current call should be intercepted and released immediately.
Change called number Yes or No It indicates whether the called number should be changed.
If it is selected, two important items must be configured at the same time.
one is "Transition ID" used to change called number.
Another is "Re-analyze after transition". If it is selected, it means analysis process should be done again after the called number is changed.

Refine caller number Integer whether caller number should be refined after this procedure.
If it is zero, it is unnecessary to refine caller number.
If it is not zero, MSS will try to refine caller number according to 'refine caller number' group configuration.

Call level Integer Call level for current record.
If it is 0, that means no limitation, any local user can make calls with this prefix.
If it is non-zero, that means only local users who have the call level right can make calls with such prefix.

Limit max duration (seconds) Integer(>=0) The max duration of matched call.
If timer expired, MSS will force to release the call automatically. '0' means no limitation.

We can see that miniSIPServer can route calls to different destinations according to different called prefix, dial plan, etc. It is very flexible for our VOIP deployments.

9. Services

Please refer to services guide documents for more details. Here we only describe some configurations which can be shared or used by several services.

9.1 Lua services trigger

In MSS, there are several methods to implement service logic. Some services are fixed in MSS, such as hunting-group. Some services are written in IVR-XML, such as auto-attendant. Some services are written in Lua script, such as calling-card, DISA, etc. For advance users, Lua script is very flexiable and powerful. In fact, MSS core has provided a set of interface for Lua script.

Both our R&D team and our advance customers can use Lua script to implement complex or customerized services. We don't provide more details about Lua script, and only describe how to trigger a Lua service according to destination number of a call.

Please click menu "services / Lua services"

Lua service trigger configuration

Item Type or value Description
Dial plan String The "dial plan" name for incoming calls.
Different local users or SIP trunks can have different "dial plan" name. If they are not indicated, the default value is always "default".
Destination number String The destination number of incoming call. If you have configured 'change called number' in dial plan, this number should be the final routing number.
MSS will trigger different python service according to different "dial plan" and "destination number" of incoming calls, and you can use different destination number to trigger same python service.
Description String Description of current record.
Lua module name String Base file name of Lua service. Please pay attention that it is just base file name and doesn't include directory path.

All Lua files should be saved in the sub-directory "lua/services" which can be found in the MSS install directory.

For example, if MSS is installed in directory "d:/myvoipapp/minisipserver", the Lua module "calling_card" should be saved as "d:/myvoipapp/minisipserver/lua/services/calling_card.lua".

Appendix 1. Audio ID

All audio files have been installed with MSS and stored in the sub-directory "mss_ann". For example, if MSS is installed in directory "d:/myvoipapp/minisipserver", the audio files will be installed in directory "d:/myvoipapp/minisipserver/mss_ann".

Below table lists all audio files and their contents. In your deployment, you can replace them with your own audio files.

In MSS, audio file name must be "xxx.wav" format. "xxx" must be 8 characters and only 0-9 and a-f are valid. In fact, "xxx" is the exact audio ID in MSS.

WAV file MUST be 'CCITT A-law, 8KHZ, 8Bit, 7kb/sec' format.

Audio ID (audio file) Service Content

00080002

Common

Music

00080003

ringing-back tone

00080030

zero

00080031

one

00080032

two

00080033

three

00080034

four

00080035

five

00080036

six

00080037

seven

00080038

eight

00080039

nine

0008003a

ten

0008003b

eleven

0008003c

twelve

0008003d

thirteen

0008003e

fourteen

0008003f

fifteen

00080040

sixteen

00080041

seventten

00080042

eighteen

00080043

nineteen

00080044

twenty

00080045

thirty

00080046

forty

00080047

fifty

00080048

sixty

00080049

seventy

0008004a

eighty

0008004b

ninety

0008004c

hundry

0008004d

thousand

0008004e

million

0008004f

billion

00080050

second

00080051

minute

00080052

euro

00080053

cent

00080054

and

01080000

A beep tone

01080001

Your operation is success.

02080003

Voice mail

Press 0 to delete current message. Press 1 or wait for several seconds to go to next message.

02080004

Please leave your message

02080005

You have no message.

07080001

Caller prepaid

Sorry, your balance is insufficient. Please make a payment.

08080001

Hunting group

All operators are busy now, please wait a moment. Your waiting number is

0a080001

Auto attendant

Welcome, please input extension number

84080001

Calling card

Please input your calling card number

84080002

Please input password

84080003

Please enter your destination number, followed by the pound key.

84080004

Your duration is

84080005

Your balance is

84080006

Destination unavailable.

84080007

Invalid card.

84080008

Bye bye.

84080009

Please press 1 to dial new destination, press 2 to dial the same destination, or press 3 to use a new card.

85080001

DISA

Please input your DISA account

85080002

Please input password

85080003

Please input destination number

86080001

Call forwarding

Current call is to be forwarded, wait please.

Appendix 2. mss_var_param.ini

Sometimes, some scenaios require MSS to do some special process which could be different with common requirements. In order to fit these requirements and don't effect common process, MSS use special variant parameters to control these special modifications or call flows, and these parameters are all stored in 'mss_var_param.ini' file.

By default, 'mss_var_param.ini' file is not included in MSS install package, so you cannot find it after you install MSS. If necessary, you need create it manually and save it in the MSS install directory.

'mss_var_param.ini' is a .INI format text file, you can use notepad or any other text editors to create, modify and save it. This file has .INI format as below:

[session name]
parameter name = paremeter value

For an instance, below is a demo parameter 'gVarGuiLang' whose session name is 'gui', parameter name is 'gVarGuiLang' and parameter value is '1'.

[gui]
gVarGuiLang=1

In MSS, there are several session definitions which are used by different inner modules. Please refer to following details.

Session name Description
ccf Call-control module uses this session to change some special call flows, for example, to disable music-on-hold feature.
gui Special requirements for GUI.
scp Service-control-process modules use this session to change some features of special services, for example, to control service mode of voice-mail service.
sip SIP modules use this session to change SIP flow or some default values in SIP stacks.
srf Special-resource-function module uses this session to control special media process, for example, to change default language of audio file.
sys Parameters are required to modify whole MSS system process.

This document will not discuss more details about paramters and their values because they could make wrong effect to whole system if you don't understand them very clearly, so please be careful. If you have special requirements, please discuss and confirm with our support team.