MYVOIPAPP

OpenAPI document

Description

The miniSIPServer open API enables developers to build their own interfaces to configure or manage miniSIPServer. All API are web interface and read only GET requests.

Because MSS uses web services to provide API interfaces, we need start MSS web system firstly. Please read the document to get more details about MSS web system.

We focus on expanding and improving the MSS API and would really appreciate any feedback you have. Please feel free to contact us if you have questions or suggestions.

The API set is based on miniSIPServer V33.

Back to index
Common format

JSON is default format for all API query string and their response results.

1. HTTP path

All API methods provided in this document have following path format:

http://localhost:8080/openapi/

The full url will be:

http://localhost:8080/openapi/object[/operation]

"object" is the target configuration item. For example, it can be 'localuser' if you want to add or delete a local user.

"operation" is the action on such "object". At this time, it can be "query", "delete", "set", and so on. It is optional. If there isn't "operation" in request URI, that means "query" by default. Here are some examples:

Example 1: query miniSIPServer version

http://localhost:8080/openapi/version

Example 2: add a new local user

http://localhost:8080/openapi/localuser/set
2. Common API parameter

All APIs MUST have an API key which is miniSIPServer administrator password. You can use this API key as the 'syskey' parameter.

The following parameter is used in all API requests.

Name Required Description
syskey required Administrator password of MSS. MSS web services will check this parameter for all requests.

In miniSIPServer main window, please click menu "Data - System" and configure "Administrator password" described in below figure. Once you configure or change administrator parameter, you MUST restart miniSIPServer to enable it.

Configure administrator password in system dialog

Back to index
API - version

It is used to request miniSIPServer version.

This method doesn't require additional parameter except common API parameter.

1. Path

/version

2. Return value
Name Description
verInfo miniSIPServer version information.

Sample request:

http://localhost:8080/openapi/version?{"syskey":"1234"}
Back to index
API - System

These interfaces are used to query or update system informations.

1. Common path
/sysinfo/operation

The "operation" can be following items:

  • query - query system information.
  • update - update system information.
2. Query
2.1 Path

/sysinfo/query

Sample request:

http://localhost:8080/openapi/sysinfo/query?{"syskey":"1234"}
2.2 Return values
Name Type Description
admpwd string System administrator password
ogpfx string Outgroup call prefix
rtpport integer RTP start port
httpport integer HTTP server port
evtChannelPort integer Event channel port
srfannlang integer Voice languages
sipaddr string SIP server local address(IPv4)
sipaddr6 string SIP server local address(IPv6)
sipport integer SIP server UDP port
tcpport integer SIP server TCP port
tlsport integer SIP server TLS port
realm string SIP domain realm
dectip bool Detect another address if current address is unavailable.
dbaddr string MySQL server address
dbport integer MySQL server visit port
dbname string Database name in MySQL server
dbusr string User name to visit MySQL database
dbpwd string User's password to visit MySQL database
smtpserv string SMTP server
smtpusr string User name to visit SMTP server
smtppwd string User's password to visit SMTP server
smtptls bool The SMTP server is required TLS connection or not
cdrcallerusr bool Caller user CDR
cdrcalledusr bool Callee user CDR
cdrcallerextline bool Caller external line CDR
cdrcalledextline bool Callee external line CDR
cdrfailcall bool Generate fail calls' CDR
cdrshow bool Show real-time CDR records
cdroutput bool Save CDR records into local files
stunaddr1 string Primary STUN server address
stunport1 integer Primary STUN server port
stunaddr2 string Second STUN server address
stunport2 integer Second STUN server port
3. Update
3.1 Path

/sysinfo/update

Sample request:

http://localhost:8080/openapi/sysinfo/update?{"syskey":"1234","ogpfx":"0"}

It is better to query system information firstly, then modify the items you want and update them back to MSS through this interface.

Back to index
API - Local user

These interfaces are used to query or update local user's configuration.

1. Common path

/localuser/operation

The "operation" can be following items:

  • list - list summary of local users.
  • query - query details of one local user.
  • delete - delete a local user.
  • set - add or update local user's configuration.
2. List
2.1 Path

/localuser/list

This interface might require some optional parameters:

Name Type Description
pageIndex integer By default, MSS will return at most 20 records. If there are more records, we can indicate this parameter to return related result. The default value is zero, that means return the first 20 records.

Sample request:

http://localhost:8080/openapi/localuser/list?{"syskey":"1234", "pageIndex":0}
2.2 Return values
Name Type Description
usrname string local user name
description string description of current local user
dispname string display name
addr string Current user's address
3. Query
3.1 Path

/localuser/query

Following parameter is required :

Name Type Description
usrname string local user name to be queried

Sample request:

http://localhost:8080/openapi/localuser/query?{"syskey":"1234", "usrname":"100"}
3.2 Return values
Name Type Description
usrname string local user name to be queried
usrpwd string local user's password
description string description of current local user
right_ipauth integer IP address authorization indicator
addr string IP address of current user
port integer Port of current user
state integer local user's state
right_aa integer auto-attendant service right
right_rg integer ring group service right
right_sup_rg integer "suppress ring group if receives incoming call directly" service right
ringgrpid integer ring group ID
right_pickup integer "pick up" service right
pickupgrpid integer "pick up" group ID
right_park integer "call park" service right
right_retrieve integer "call retrieve" service right
right_cw integer "call waiting" service right
fmtype integer Follow-me strategy
fminterval integer interval timer in follow-me service
fmdesta string destination A of follow-me service
fmdestb string destination B of follow-me service
fmdestc string destination C of follow-me service
enddate integer End date
dialPlan string dial plan
dispname string display name
specextline string Specific external line for out-group calls
maxdura integer maximum duration
momaxcall integer maximum concurrent outgoing calls
calllevel integer call level
right_cfu integer "call forward unconditional (CFU)" service right
cfunbr string CFU number
right_cfnc integer "call forward on not connected/unreachable (CFNC)" service right
cfncnbr string CFNC number
right_cfb integer "call forward on busy (CFB)" service right
cfbnbr string CFB number
right_cfna integer "call forward on no-answer (CFNA)" service right
cfnanbr string CFNA number
cfnatmr integer No-answer timer value
right_vms integer "voice mail" service right
vmannid integer voice mail announcement ID
email string e-mail address
right_prepaid integer "caller prepaid" service right
right_subpre integer "presence of dialog presence" service right
presgrpid integer presence group ID
right_clrid integer "caller-id with name" service right
right_moh integer "music on hold" service right
right_relay integer "relay media stream" service right
right_oli integer record outgoing calls
right_tli integer record incoming calls
4. Delete
4.1 Path

/localuser/delete

Following parameter is required:

Name Type Description
usrname string local user name to be deleted

Sample request:

http://localhost:8080/openapi/localuser/delete?{"syskey":"1234", "usrname":"100"}
5. Set
5.1 Path

/localuser/set

Following parameter is required :

Name Type Description
usrname string local user name to be configured

Other parameters are optional and defined as same as the return results in chapter "query".

Sample request:

http://localhost:8080/openapi/localuser/set?{"syskey":"1234", "usrname":"100", "usrpwd":"100"}
Back to index
API - External line

These interfaces are used to query or update external line's configuration.

1. Common path

/extline/operation

The "operation" can be following items:

  • list - list summary of external lines.
  • query - query details of one external line.
  • delete - delete an external line.
  • set - add or update external line's configuration.
2. List
2.1 Path

/extline/list

This interface might require an optional parameter:

Name Type Description
pageIndex integer By default, MSS will return at most 20 records. If there are more records, we can indicate this parameter to return related result. The default value is zero, that means return the first 20 records.

Sample request:

http://localhost:8080/openapi/extline/list?{"syskey":"1234", "pageIndex":0}
2.2 Return values
Name Type Description
extLine string External line name / number
description string Description of this record
host string Server address
port integer Server port
localUser string Destination number for incoming calls.
transport integer Transport type, such as UDP, TCP.
state integer State of this line.
3. Query
3.1 Path

/extline/query

Following parameter is required :

Name Type Description
extLine string Name of the external line to be queried.

Sample request:

http://localhost:8080/openapi/extline/query?{"syskey":"1234", "extline":"5678"}
3.2 Return values
Name Type Description
extLine string external line to be queried
state integer State of the line.
0 - the line is not registered.
1 - idle.
2 - ringing or alerting
3 - talking
host string Server or gateway address
port integer Server or gateway port
localUser string Destination number for incoming calls.
type integer External line type.
0 - Connect to peer VoIP/SIP server
1 - Connect to FXO gateway
password string Authorization password.
authID string Authorization ID.
maxDur integer Maximum call duration. By default, "0" means no limitation.
chain string Chained line. If current line is failed to make outgoing calls, try its chained line.
transport integer Transport. 0 - UDP, 1 - TCP.
ogGroupID integer Outgoing group ID.
maxMOCalls integer Maximum concurrent outgoing calls. Default value is 20.
otcID integer Time condition ID of outgoing calls.
noAnsTimer integer No answer timer.
description string Description of this record.
maxCalls integer Maximum concurrent calls.
aaInd integer Automatic attendant indicator.
outbandInd integer Send calls through outband proxy.
outbandServer string Outband server or proxy address.
outbandPort integer Outband server or proxy port.
shareInd integer Indicator that this line can be shared by other local users.
origCallerNbr integer Indicator that user original caller number.
authidWithAddrInd integer Indicator that the authorization ID should include address information.
reInviteInd integer Indicator that the line cannot support reINVITE operation.
donotRegInd integer Indicator that unnecessary to register.
incomingLI integer Indicator that record incoming calls.
4. Delete
4.1 Path

/extline/delete

Following parameter is required:

Name Type Description
extLine string External line to be deleted

Sample request:

http://localhost:8080/openapi/extline/delete?{"syskey":"1234", "extLine":"5678"}
5. Set
5.1 Path

/extline/set

Following parameter is required :

Name Type Description
extLine string External line to be configured.

Other parameters are optional and defined as same as the return results in chapter "query".

Sample request:

http://localhost:8080/openapi/extline/set?{"syskey":"1234", "extLine":"5678", "host":"10.0.0.1"}
Back to index
API - SIP trunk

These interfaces are used to query or update SIP trunk's configuration.

1. Common path

/peerserver/operation

The "operation" can be following items:

  • list - list summary of SIP trunks.
  • query - query details of one SIP trunk.
  • delete - delete a SIP trunk.
  • set - add or update SIP trunk's configuration.
2. List
2.1 Path

/peerserver/list

This interface might require an optional parameter:

Name Type Description
pageIndex integer By default, MSS will return at most 20 records. If there are more records, we can indicate this parameter to return related result. The default value is zero, that means return the first 20 records.

Sample request:

http://localhost:8080/openapi/peerserver/list?{"syskey":"1234", "pageIndex":0}
2.2 Return values
Name Type Description
servID integer SIP trunk ID
desc string Description
servAddr string Server address
servPort integer Server port
transport integer IP transport, it is UDP or TCP.
3. Query
3.1 Path

/peerserver/query

Following parameter is required :

Name Type Description
servID integer SIP trunk ID of the SIP trunk to be queried.

Sample request:

http://localhost:8080/openapi/peerserver/query?{"syskey":"1234", "servID":1}
3.2 Return values
Name Type Description
servID integer SIP trunk ID
desc string Description
servAddr string Server address
servPort integer Server port
callerID string Caller ID in outgoing calls.
dialPlan string Dial plan for incoming calls.
transport integer IP transport. 0 - UDP, 1 - TCP.
ogGroupID integer Outgoing group ID
otcID integer Time condition ID for outgoing calls.
oMaxCalls integer Maximum concurrent outgoing calls.
iMaxCalls integer Maximum concurrent incoming calls.
orelayMediaInd integer Indicator that relaying media stream for outgoing calls.
chainTrunkID integer Next trunk ID if currnet trunk is failed to make outgoing calls.
4. Delete
4.1 Path

/peerserver/delete

Following parameter is required:

Name Type Description
servID integer ID of the SIP trunk to be deleted.

Sample request:

http://localhost:8080/openapi/peerserver/delete?{"syskey":"1234", "servID":1}
5. Set
5.1 Path

/peerserver/set

Following parameter is required :

Name Type Description
servID integer ID of the SIP trunk to be configured.

Other parameters are optional and defined as same as the return results in chapter "query".

Sample request:

http://localhost:8080/openapi/peerserver/set?{"syskey":"1234", "servID":1, "servAddr":"10.0.0.1", "servPort":5678}
Back to index
API - Routing group - Group

These interfaces are used to query or update group configuration in routing group.

1. Common path

/routegroup/operation

The "operation" can be following items:

  • list - list summary of groups.
  • query - query details of one routing group.
  • delete - delete a group.
  • set - add or update group's configuration.
2. List
2.1 Path

/routegroup/list

This interface might require an optional parameter:

Name Type Description
pageIndex integer By default, MSS will return at most 20 records. If there are more records, we can indicate this parameter to return related result. The default value is zero, that means return the first 20 records.

Sample request:

http://localhost:8080/openapi/routegroup/list?{"syskey":"1234", "pageIndex":0}
2.2 Return values
Name Type Description
groupID integer Group ID
description string Description of the record
3. Query
3.1 Path

/routegroup/query

Following parameter is required :

Name Type Description
groupID integer Group ID

Sample request:

http://localhost:8080/openapi/routegroup/query?{"syskey":"1234", "groupID":1}
3.2 Return values

All values are as same as the result of list result.

4. Delete
4.1 Path

/routegroup/delete

Following parameter is required:

Name Type Description
groupID integer Group ID

Sample request:

http://localhost:8080/openapi/routegroup/delete?{"syskey":"1234", "groupID":1}
5. Set
5.1 Path

/routegroup/set

Following parameter is required :

Name Type Description
groupID integer Group ID

Other parameters are optional and defined as same as the return results in chapter "List".

Sample request:

http://localhost:8080/openapi/routegroup/set?{"syskey":"1234", "groupID":1, "description":"to NY"}
Back to index
API - Routing group - Routing

These interfaces are used to query or update routing configuration in routing group.

1. Common path

/route/operation

The "operation" can be following items:

  • list - list summary of routing.
  • delete - delete a routing.
  • add - add a routing configuration.
2. List
2.1 Path

/route/list

This interface might require an optional parameter:

Name Type Description
pageIndex integer By default, MSS will return at most 20 records. If there are more records, we can indicate this parameter to return related result. The default value is zero, that means return the first 20 records.

Sample request:

http://localhost:8080/openapi/route/list?{"syskey":"1234", "pageIndex":0}
2.2 Return values
Name Type Description
groupID integer Routing group ID
routeType integer Routing type. 1 - external line, 2 - SIP trunk.
sipTrunkID integer SIP trunk ID if routeType is "SIP trunk"
extLine string External line if routeType is "external line"
3. Delete
3.1 Path

/route/delete

Following parameters are required:

Name Type Description
groupID integer Routing group ID
routeType integer Routing type
sipTrunkID integer SIP trunk ID
extLine string External line

Sample request:

http://localhost:8080/openapi/route/delete?{"syskey":"1234", "groupID":1, "routeType":1, "extLine":"eee", "sipTrunkID":0}
4. Add
4.1 Path

/route/add

All parameters defined in the return values of chapter "List" are required.

Sample request:

http://localhost:8080/openapi/route/add?{"syskey":"1234", "groupID":1, "routeType":1, "extLine":"eee", "sipTrunkID":0}
Back to index
API - Speed dial

These interfaces are used to query or update "speed dial" service records.

1. Common path

/speeddial/operation

The "operation" can be following items:

  • list - list summary of "speed dial" records.
  • query - query details of one "speed dial" record.
  • delete - delete a "speed dial" record.
  • set - add or update "speed dial" record.
2. List
2.1 Path

/speeddial/list

This interface might require some optional parameter:

Name Type Description
pageIndex integer By default, MSS will return at most 20 records. If there are more records, we can indicate this parameter to return related result. The default value is zero, that means return first 20 records.

Sample request:

http://localhost:8080/openapi/speeddial/list?{"syskey":"1234","pageIndex":0}
2.2 Return values
Name Type Description
callerNbr string caller number
dialedNbr string dialed number
desc string description of record
destNbr string Final destination number
3. Query
3.1 Path

/speeddial/query

Following parameters are required :

Name Type Description
callerNbr string caller number.
dialedNbr string dialed number.

Sample request:

http://localhost:8080/openapi/speeddial/query?{"syskey":"1234","callerNbr":"1", "dialedNbr":"1"}
3.2 Return values
Name Type Description
callerNbr string caller number
dialedNbr string dialed number
desc string description of record
destNbr string Final destination number
4. Delete
4.1 Path

/speeddial/delete

Following parameters are required :

Name Type Description
callerNbr string caller number.
dialedNbr string dialed number.

Sample request:

http://localhost:8080/openapi/speeddial/delete?{"syskey":"1234","callerNbr":"1", "dialedNbr":"1"}
5. Set
5.1 Path

/speeddial/set

Following parameters are required :

Name Type Description
callerNbr string caller number.
dialedNbr string dialed number.

Other parameters are optional and defined as same as the return results in chapter "Query".

Sample request:

http://localhost:8080/openapi/speeddial/set?{"syskey":"1234", "callerNbr":"3", "dialedNbr":"3", "desc":"demo record", "destNbr":"333"}
Back to index
API - Hunting group - Group

These interfaces are used to query or update group records in hunting-group service.

1. Common path

/hginfo/operation

The "operation" can be following items:

  • list - list summary of group records.
  • query - query details of one group record.
  • delete - delete a group record.
  • set - add or update group record.
2. List
2.1 Path

/hginfo/list

This interface might require optional parameter:

Name Type Description
pageIndex integer By default, MSS will return at most 20 records. If there are more records, we can indicate this parameter to return related result. The default value is zero, that means return first 20 records.

Sample request:

http://localhost:8080/openapi/hginfo/list?{"syskey":"1234", "pageIndex":0}
2.2 Return values
Name Type Description
grpID integer group ID
desc string description of record
strategy integer hunting-group strategy
noAnsTmr integer operator no-answer timer (seconds)
3. Query
3.1 Path

/hginfo/query

Following parameter is required:

Name Type Description
grpID integer group ID

Sample request:

http://localhost:8080/openapi/hginfo/query?{"syskey":"1234","grpID":1}
3.2 Return values
Name Type Description
grpID integer group ID
desc string description of record
strategy integer hunt-group strategy: 1-round robin; 2-linear.
noAnsTmr integer operator no-answer timer (seconds)
queueInd integer Put the call into queue if all operators are busy.
maxCall integer Maximum call counts in queue.
maxDura integer Maximum waiting duration (seconds)
4. Delete
4.1 Path

/hginfo/delete

Following parameter is required :

Name Type Description
grpID integer group ID

Sample request:

http://localhost:8080/openapi/hginfo/delete?{"syskey":"1234","grpID":1}
5. Set
5.1 Path

/hginfo/set

Following parameters are required :

Name Type Description
grpID integer group ID
strategy integer hunt-group strategy.

Other parameters are optional and defined as same as the return result in chapter "Query".

Sample request:

http://localhost:8080/openapi/hginfo/set?{"syskey":"1234", "grpID":1,"strategy":1}
Back to index
API - Hunting-group - Operators

These interfaces are used to query or update operators records in hunting-group service.

1. Common path

/hgoper/operation

The "operation" can be following items:

  • list - list summary of operator records
  • delete - delete a operator record
  • set - add or update operator record
2. List
2.1 Path

/hgoper/list

This interface might require a parameter.

Name Type Description
pageIndex integer By default, MSS will return at most 20 records. If there are more records, we can indicate this parameter to return related result. The default value is zero, that means return first 20 records.

Sample request:

http://localhost:8080/openapi/hgoper/list?{"syskey":"1234", "pageIndex":0}
2.2 Return values
Name Type Description
oper string Operator number
grpID integer Group ID
autoInd integer Login group automatically when login system
3. Delete
3.1 Path

/hgoper/delete

Following parameter is required :

Name Type Description
oper string Operator number

Sample request:

http://localhost:8080/openapi/hgoper/delete?{"syskey":"1234","oper":"100"}
4. Set
4.1 Path

/hgoper/set

All parameters are mandatory and defined as same as the return result in chapter "List".

Sample request:

http://localhost:8080/openapi/hgoper/set?{"syskey":"1234","oper":"100","grpID":1,"autoInd":1}
Back to index
API - Hunting-group - Detection

These interfaces are used to query or update detection records in hunting-group service.

1. Common path

/hgdect/operation

The "operation" can be following items:

  • list - list summary of detection records.
  • query - query details of one detection record.
  • delete - delete a detection record.
  • set - add or update detection record.
2. List
2.1 Path

/hgdect/list

Name Type Description
pageIndex integer By default, MSS will return at most 20 records. If there are more records, we can indicate this parameter to return related result. The default value is zero, that means return first 20 records.

Sample request:

http://localhost:8080/openapi/hgdect/list?{"syskey":"1234", "pageIndex":0}
2.2 Return results
Name Type Description
dialPlan string Dial plan
calledNbr string Called number
grpID integer Group ID
3. Query
3.1 Path

/hgdect/query

Following parameters are required :

Name Type Description
dialPlan string Dial plan
calledNbr string Called number

Sample request:

http://localhost:8080/openapi/hgdect/query?{"syskey":"1234","dialPlan":"default","calledNbr":"1234"}
3.2 Return values

All return values are as same as the result in chapter "List".

4. Delete
4.1 Path

/hgdect/delete

Following parameters are required :

Name Type Description
dialPlan string Dial plan
calledNbr string Called number

Sample request:

http://localhost:8080/openapi/hgdect/delete?{"syskey":"1234","dialPlan":"default","calledNbr":"5678"}
5. Set
5.1 Path

/hgdect/set

All parameters are mandatory and defined as same as the return result in chapter "List".

Sample request:

http://localhost:8080/openapi/hgdect/set?{"syskey":"1234","dialPlan":"default","calledNbr":"5678","grpID":1}
Back to index
API - Session

Session APIs are used to modify or update even delete a SIP session in miniSIPServer.

1. Common path

/session/operation

2. Release
2.1 Path

/session/release

Following parameter is required:

Name Type Description
number string local user number or outside number.
MSS will drop a call according to this number.

Sample request:

http://localhost:8080/openapi/session/release?{"syskey":"1234", "number":"100"}
Back to index