Browsed by
Category: miniSipServer ( local )

SIP server for windows and Ubuntu system

Concurrent calls of SIP trunk

Concurrent calls of SIP trunk

By default, MSS previous versions don’t limit concurrent calls of SIP trunk. That means you can make or receive calls as much as you can. If peer sides don’t have enough resources, they will reject calls by themselves. But now in some scenarios, customers hope MSS can handle concurrent calls and limit them automatically.

To fit this requirement, we upgrade MSS to provide concurrent calls configurations in SIP trunk. Too much calls will be rejected by MSS itself. Please refer to following figure for more details about these items.

Concurrent calls of SIP trunk
Concurrent calls of SIP trunk

Please pay attention to these.

(1) These items are independent. You can configure different values for them to limit different concurrent calls for outgoing calls and incoming calls.

(2) If one of them is zero, in fact all them can be zero, that means only incoming calls can be received, or can only make outgoing calls outsides.

Modification of “one number” service

Modification of “one number” service

We upgraded miniSIPServer V30 today to change “one number, multi-devices” service in local user’s configuration. In previous versions, we don’t need configure anything to enable this feature in local user since it was enabled by default. Customers think it is good idea to reduce configuraiton workload, but it brings new management problem. In fact, they hope to be able to control which local users can have this feature. In most scenarios, only some local users have several phones with same number, others are not permit to do that.

To fit this requirement, we add a new optional item in local user’s configuration. Please refer to following figure for more details. By default, this service is not enabled now until you configure it obviously.

One number service right in local user's configuration.
One number service right in local user’s configuration.

This modification is applied to cloud MSS too.

Media gateway and V30

Media gateway and V30

V30 is released. The key feature of this version is “media gateway”.

In fact, previous version has media gateway functions too, but these functions were combined in the same core with call-control and service-control tasks. For small size or middle size business, it is no problem to do that. But for huge size business, for example, our cloud-mss system, it could effect performance if media gateway is combined with other tasks.

We decided to separate media gateway module into an independent application. In cloud system, media gateway can be run in separated device. Several call servers can share the same media gateway server.

Since local MSS and cloud MSS have the same core, we merge this function back to V30. The difference is that the media gateway is an independent inner task in local MSS application.

This feature doesn’t require any modification in configuration or GUI. By default, you should not notice this change. We believe new core can be more stabler and more flexible.  Hope you can enjoy it!

Operator services

Operator services

We added two traditional PBX services in new MSS version: operator break-in and operator overstep. Please refer to service document for more details.

Both local-MSS and cloud-MSS have been upgraded for these services. The latest MSS version is V29 now.

Next local MSS version will be V30 and we will focus on refining media gateway functions. If you have any suggestions or requirements, please update us and we are very glad to discuss with you.

miniSIPServer on Ubuntu 16.10

miniSIPServer on Ubuntu 16.10

Well, it is still no problem to run miniSIPServer on this latest Ubuntu 16.10. Please enjoy it!

miniSIPServer on Ubuntu 16.10
miniSIPServer on Ubuntu 16.10

As we have said, since it is not a LTS version, if you deploy miniSIPServer in a business environment, it is better to keep your Ubuntu stay on version 16.04 or 14.04.

V28 and Lua services

V28 and Lua services

V28 is released today! We have spent several months on this version. The key feature of this version is “Lua service engine”.

As you know, previous MSS has a service engine which is written in Python language. It serves very well, but still has some limitations. Now the engine is rewritten in Lua language.  Following items are some key points about why we make this decision.

(1) Lua is much simpler than Python. Python is full stack language,Lua is a embed script, it has less function but it is simple. We love Python but still find that Lua is suitable for MSS to provide service engine. We don’t need full functions, we only need the engine to packing MSS core functions and capabilities.

(2) The most important is stability. Python service engine uses one Python VM to serve all services. That means one unknown exception could block all services. With new Lua service engine, one Lua VM serves one service. That means one unknown exception can only block one service, other services can keep on working. That’s amazing, the whole system can step into higher level now!

(3) Faster! faster! faster! In fact, because of GIL, Python cannot provide high performance, so we have to limit the engine in service level. Lua doesn’t have such limitation, each Lua VM is tiny and independent, Now we can use it to be a service engine and will even use it to provide a basic call engine. The future is coming.

In V28, Python services are replaced with Lua services. You can find these Lua services in “lua/services” sub-directory. If you have modified Python services by yourself, you will have to update related Lua services.

Lua service engine is in background, you don’t need change any configuration by default.

Invalid CSeq number

Invalid CSeq number

One of our customers reported a problem that his external line was always offline with a voip provider. That’s very strange because “external line” is a very basic function of MSS and it works perfectly with lots of voip providers.

We captured the log and found the voip provider returned “400 Bad Request” message with following cause:

P-Registrar-Error: Invalid CSeq number

We checked the REGISTER messages, and think it is no problem in CSeq header. Following items are from MSS:

==>
REGISTER sip:sip.xxx.com SIP/2.0
...
Call-ID: 18BF67854AE23D6D2CD772AFMSS002A0001.
CSeq: 13 REGISTER
...

<==
SIP/2.0 401 Unauthorized
...
Call-ID: 18BF67854AE23D6D2CD772AFMSS002A0001.
CSeq: 13 REGISTER
...

==>
REGISTER sip:sip.xxx.com SIP/2.0
...
Call-ID: 18BF67854AE23D6D2CD772AFMSS002A0001.
CSeq: 14 REGISTER
...

<==
SIP/2.0 400 Bad Request
...
Call-ID: 18BF67854AE23D6D2CD772AFMSS002A0001.
CSeq: 14 REGISTER
P-Registrar-Error: Invalid CSeq number
...

We checked RFC3261 to find “CSeq” in SIP-REGISTER procedures:

A UA MUST increment the CSeq value by one for each REGISTER request with the same Call-ID.

Obviously we are right. But why did peer side reject MSS’ messages?

Finally, we tried to send SIP-REGISTER with different ‘call-id’, and the problem was resolved! That made us confused again because in RFC3261 we can find the details of “call-id” in SIP-REGISTER procedures:

All registrations from a UAC SHOULD use the same Call-ID header field value for registrations sent to a particular registrar.

We think the voip provider is unprofessional. Unfortunally, it is hard for them to upgrade their system. So we have to add a switch varant to control MSS to fit this kind of situation.

[sip]
gVarSipRegSameDialog=0

If you have the same problem with some voip providers, please add above parameter into “mss_var_param.ini” file and restart your MSS to enable it.

No-answer timer in external line

No-answer timer in external line

In the external line “outgoing calls” configuration, we add an item “no-answer timer”. This item is used to limit the no-answer timer value when make outgoing calls. Please refer to attached figure.

No-answer timer value
No-answer timer vaule in outgoing calls of external line.

By default, its value is zero that means the line will use system default no-answer timer value. If it is set a value, the line will use it firstly.

For example, if it is set to be “15”, then the line will force to release the call in 15 seconds if peer side doesn’t answer the call.

MYVOIPAPP.com is HTTPs enabled now.

MYVOIPAPP.com is HTTPs enabled now.

We were busy on migrating our official website to new cloud computing systems in the past week. At the same time, we configure HTTPS for our website by default.

Now when you visit our website with HTTP connection, it will be converted to HTTPS automatically. It will make sure of communication between you and our website to anti invalid watching or modifications.

Since our system has been built on new cloud systems, it should be more stabler and faster. If you have any problem when visiting our website, please update us. We are appreciated for that.