Debian 12 (bookworm) was released. It is the latest stable version and will be widely deployed in business environment absolutely. So we run and test the latest miniSIPServer on this system as usual. Of course, the result is perfect.
Please refer to the figure below.
If you want to build a VoIP system on Linux system, Debian 12 is a good choice.
Please refer to our online document for more details about how to install and run miniSIPServer on Debian systems. And I’m sure you’ll like the combination of Debian and miniSIPServer.
By default SIP network always uses SIP URI to carry information, such as From, To, and so on. For example:
sip:+8613901088888@ims.bj.chinamobile.com
But for traditional telecommunication networks, they always use E.164 telephone numbers which are different with SIP URI. So ETSI (or 3GPP) defines a new URI, that is TEL URL. For example:
tel:+8613901088888
So when working with IMS networks, there could have two URI formats, SIP URI and TEL URI. miniSIPServer can support both formats, it can process TEL URI of incoming calls automatically, but all outgoing calls always use SIP URI formats.
It could be a problem. Fortunately IMS networks consider it very carefully. For example, China Mobile can accept TEL URI and SIP URI with special parameter ‘user=phone‘ which is described below.
If we configure external lines of miniSIPServer to work with China Mobile networks, it can be no problem because miniSIPServer will automatically add ‘user=phone’ to Request-URI. But in some markets, China Mobile requires to establish SIP trunk connections, then it could be a problem. miniSIPServer will not add ‘user=phone’ in Request-URI since we think it is a ‘server to server’ scenario.
To fix that, we add a ‘additional parameter of Request-URI’ parameter in SIP trunk outgoing call configuration. Please refer to the figure below.
We updated miniSIPServer to fit 4K screen recently, but we find that we have to upgrade our tool chains at the same time if we want to get a perfect result.
Unfortunately the new tool chains cannot support Windows XP/2003 systems, so it is time to say good bye and move on now.
The latest version (V40) is released yesterday and it requires Windows 7 or abover version if you want to deploy miniSIPServer on Windows system. V40 is also rebuilt for Debian / Ubuntu systems to fit higher DPI screens.
Please enjoy the new versions. And please update us if you have any questions or opinions. Thanks.
Our customers report a bug when running miniSIPPhone with a 4K screen. Please refer to the figure below.
miniSIPPhone main window mixed up
When building GUI (including miniSIPPhone and miniSIPServer), we use absolute positions and lengths to assign components, so they are quite small or tight if the screen has hight resolution ratio, for example, a 4K screen.
To fix that, we change the absolute values to relative positions and lengths. Of course, both miniSIPServer (V39 build 20220823) and miniSIPPhone (V8.4) are updated.
In another way, we refine dialogs sizes and styles of miniSIPServer at the same time. It should be more comfortable now.
As we know, miniSIPServer can run on Linux systems. Sometimes customers ask us about SIP clients which can run on Linux systems at the same time. In fact, there are lots of choices, such as linphone, jami, and so on.
Recently there is a new SIP client released. Most important, it is a core application in Gnome project. It is “Calls”. In Debian library, its definition is “Make and receive PSTN phone calls”. In fact, the latest version can support SIP protocol. In the Gnome project, we can see the description is changed to “Make phone and SIP calls”.
It is quite easy to install “Calls”. Just input following command:
sudo apt install gnome-calls
Please refer to the figure below for more details about its main window.
Gnome calls main window
Click menu “VoIP Accounts” to add a new SIP account. Most items are same with other SIP clients. For example, miniSIPServer is at “192.168.3.42” and the account is “100”. Please refer to the figure below.
Configure an account
Please pay attention that (1) the default port is 0, we need to change it to 5060; (2) we need to enable the account. Calls doesn’t display its status, so we can check miniSIPServer local users’ window to check their status.
When making outgoing calls, we can dial the target number in the “Dial Pad” panel directly.
Make a call out
If there is an incoming call, just answer or reject the call.
Incoming call
Obviously “Gnome Calls” is very simple at this time and it will be developed with more functions. If we are deploying a simple VoIP network and hope to build all elements on Linux, it could be a good choice.
By default, miniSIPServer opens UDP port 5080 to receive call-back message to invoke calls. If miniSIPServer is deployed in public network, it is possible to receive lots of other UDP packages. Of course, we can configure “application server address” for IP address authorization, but unfortunately its default value is blank and it could be dangerous.
So we update call-back service to protect the system and refine its service logic. Please refer to the configuration window firstly.
Configuration
(1) The default value of “Application server address” is changed to a local loop address “127.0.0.1”, so outsides UDP packages will be disabled. Of course, we can still keep it to be blank to accept all packages from any address, but we suggest not to do that.
(2) Local listen port can be zero which is used to close UDP socket. If the port is zero, miniSIPServer will disable the whole call-back service since it is impossible to receive any outsides UDP packages now. If you don’t use call-back service, it is better to set it to be zero.
(3) Cancel “external line mode” item. Some cutomers always ask us what it is and always confused with this item. It is just to add ‘out group prefix” automatically before the called numbers in two sessions. In fact, it is not flexible if we want to call local users and outsides users at the same time. So we discard it, if we want to call outsides users, we can add ‘out group prefix’ manually in the REQUEST messages. That means application server should be responsible for the numbers format and dial plan result.
Today we add a new version (for 5 clients) into miniSIPServer lines. This version is FREE! That means you don’t need a license and don’t warry about expired problem.
This “5 clients” version is perfect for small VoIP delpoyment, such as family communication, testing and so on. You don’t need to pay a cent to get full VoIP functions. Of course, the clients are limited to be no more than 5 clients.
In another way, free versions are not available for commercial usage.
With previous versions, if you want to configure miniSIPServer to relay media streams, miniSIPServer will only relay audio streams and discard video streams.
It is because video streams require much more bandwidth and calculation capability. Some devices cannot support that. But more and more customers require us to refine it to relay video streams at the same time since most devices are more powerful and they have enough bandwidth.
It seems reasonable and we think we need upgrade miniSIPServer to fit such requirements.
So the latest versions (build 20210604) are released. If miniSIPServer is trying to relay media streams, it will relay audio streams and video streams together.
You don’t need change your configuration. And please pay attention to your device capability and bandwidth.
When deploying a VoIP network, we often have one-way or no-way audio problems. It is caused by private network, for example, some SIP phones or miniSIPServer are behind routers and other SIP devices are in another different network which could be a private network or public network.
To resolve such problem, we often suggest to configure “forwarding ports” in routers manually. If you are familiar with routers, it is easy to do that.
But someone might not know how to do that, or someone might make mistake in router’s configuration. So we add a new feature in miniSIPServer to help that.
It is UPnP (Universal Plug and Play). UPnP can help miniSIPServer to map necessary ports automatically.
Firstly, you need confirm that your router can support UPnP and it has been enabled.
Then, you can click menu “Data – System” in miniSIPServer and enable the item “Enable UPnP to ask router to map ports”. Please refer to following figure.
UPnP configuration in miniSIPServer
By default, miniSIPServer will map SIP (over UDP) port and audio ports for relaying audio streams.
In another way, there is a limitation in routers. Most routers limit the number of UPnP ports, for example less than 30 ports. So if you are deploying a miniSIPServer for 50 clients or more, you will still have to configure “forwarding ports” manually.
We upgraded cloud miniSIPServer system for some key features. The most important feature is “SIP over TLS”.
By default, cloud system opens TCP port 6060 to accept “SIP over TLS” messages. It is used to encrypt SIP messages. This feature is available for all virtual servers without any additional fee or configurations.
Now, SIP phones can connect to cloud miniSIPServer nodes with “SIP over TLS”, but “external line” and “SIP trunk” still can only use “SIP over UDP” to work with voip providers.
This feature can only encrypt SIP messages. If you want to encrypt media streams, such as audio stream and video stream, you need enable SRTP in your SIP phones. By default, media streams are bypass and processed by SIP phones themselves, cloud miniSIPServer will not process these media streams.
Please visit online document “SIP over TLS” for more details.