Browsed by
Category: Docs & FAQ

MyVoipApp documents and FAQ

Reliability of Provisional Responses

Reliability of Provisional Responses

As we know, RFC3262 defines SIP reliability of provisional responses. It is an old feature and miniSIPServer ( both local versions and cloud versions) can support it for a long time. When working with traditional telcom carriers, this feature is mandatory, that means carriers will reject all incoming calls if they cannot support reliability of provisional responses.

RFC3262 defines a “100rel” parameter to indicate reliability of provisional responses, so we call it “100rel” capability. In normal, when invoking a call, the caller should make itself clearly that it can support “100rel” capability, and of course, the callee side should also make itself clearly that it requires to use “100rel” capability.

Basic call flow with 100rel
Basic call flow with 100rel

In the RFC3262, we can get following details:

…… the initial request contained a Supported or Require header field listing 100rel, and that there is a provisional response to be sent reliably. ……

UAS core … MUST contain a Require header field containing the option tag 100rel, and MUST include an RSeq header field.

Then both sides can establish reliability of provisional responses. Above figure describes the basic call flow. When UAC receives a 18x message which is a provisional response, UAC should send a PRACK message back to tell UAS that UAC has received its 18x message.

This is not a complex call procedure. We thought it wasn’t until several days ago. One of our cloud miniSIPServer customers reported he cannot make calls out. Then we traced his calls and get following call flow described below.

405 error in a 100rel procedure
405 error in a 100rel procedure

Unbelievable …… this voip provider requires “100rel” in its 183 messages, but once miniSIPServer sends PRACK messages to confirm that, it returns “405 method not allowed” to reject them, and it causes every call failed.

Why?! If it cannot accept or support PRACK messages, why does it require “100rel” in its provisional responses?

It is quite easy to fix that. Just remove its “require 100rel” from 18x messages, miniSIPServer will not send PRACK messages back. But unfortunately, the team of this voip provider doesn’t know how to do that.

Our customer is blocked and his service has to be stopped. In another way, I personally think some VoIP providers use public open source servers, such as Asterisk, FreeSwitch, and so on, to build their solutions, maybe they don’t have enough experts to understand what they built.

So we update miniSIPServer to add an option in external lines configuration to disable reliability of provisional responses. Please refer to the figure below.

Disable 100rel capability
disable reliability of provisional responses

If you check this item, the INVITE messages sent from miniSIPServer will not have “support 100rel” parameter. Once you meet such a ridiculous VoIP provider, you can try this.

Gnome Calls

Gnome Calls

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
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 VoIP account in Calls
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 outgoing calls
Make a call out

If there is an incoming call, just answer or reject the call.

Incoming calls
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.

Hope you can enjoy it.

miniSIPServer on Ubuntu 22.04

miniSIPServer on Ubuntu 22.04

Ubuntu 22.04 (Jammy Jellyfish) is the latest LTS (long tem support) version, so it is quite important for miniSIPServer to support this version.

We try to install and run miniSIPServer on Ubuntu 22.04, it is very easy! And we are very glad that it is perfect to run miniSIPServer on it. Please refer to the figure below.

miniSIPServer on Ubuntu 22.04
miniSIPServer on Ubuntu 22.04

If you are going to deploy a new VoIP network, it could be a good choice to run miniSIPServer on Ubuntu 22.04.

Run miniSIPServer on Debian 11 (Bullseye)

Run miniSIPServer on Debian 11 (Bullseye)

Debian 11 (Bullseys) was released at August 14th, 2021. It is the latest stable version and very important for business deployment. So we run miniSIPServer on this system and make some tests. The result is perfect!

It is no problem to run miniSIPServer on Debian 11. You can refer to online document for more details about how to run miniSIPServer on Linux systems.

run miniSIPServer on Debian 11
run miniSIPServer on Debian 11
Monitor events in IVR call flow

Monitor events in IVR call flow

In miniSIPServer, we can use IVR-XML script to enable our own services, such as automatic-attendant. With previous IVR-XML set, ‘callto’ action will invoke a call to destination and finish the whole IVR process.

But if we want to monitor some events in the call flow, such as we want to check ‘busy’ event and change the IVR flow to a new action, what should we do?

Now V37 is released and a key feature is updated in IVR-XML. We can use ‘monitor-events’ in ‘callto’ action to monitor some events and change the call flow if they are caused.

For example, the ‘callto’ action can be configured as below.

<action method="callto" name="mainAction">
    <destination>100<destination>
    <monitor-events>
        <monitor-event detection="busy" nextaction="callto101"/>
    </monitor-events>
</action>

In this example, if the call invoked by ‘callto’ action is busy, IVR procedure will be changed to next action ‘callto101’.

Please refer to IVR-XML document for more details about “monitor-events” element.

Above zip file is an example of new ‘callto’ action. You can save and unzip it into ‘xml’ sub-directory where miniSIPServer is installed and configure a new record to test it.

Configure miniSIPServer to trigger IVR-XML
Configure miniSIPServer to trigger IVR-XML
T-MSS and L-MSS

T-MSS and L-MSS

Some customers deploy several miniSIPServer nodes to build their unified VoIP network around the world.

We give a simple document to describe this network and its configuration. There are two important concepts: T-MSS and L-MSS.

L-MSS means “Local miniSIPServer” which are deployed in local branches or offices to service their local SIP phones or gateways.

T-MSS means “Trunk miniSIPServer” which is used to bridge all L-MSS servers.

Please click here to get more details.

Refined openAPI document

Refined openAPI document

miniSIPServer provides openAPI interfaces for customers who want to operate or manage miniSIPServer through their own systems.

Previous openAPI was stored in GitBook and has few interfaces. Now we migrate it back to our official website. Please refer to following document.

https://www.myvoipapp.com/docs/mss_services/openapi/index.html

In this document, we provide many interfaces almost cover all necessary interfaces for basic calls, such as SIP trunk, external lines, routing, and so on.

Hope it can be helpful for your solution. If you need us to provide more interfaces, please contact us. All suggestions are appreciated.

External lines configurations

External lines configurations

We often configure miniSIPServer to connect VoIP carriers’ network with external lines. There are lots of VoIP carriers and someone always asks us how to configure external line.

In our step by step document, we give a demo to configure MSS to work with “call centric”. You can refer to this document for more details about VoIP networks and external lines. In another way, we give some more examples in chapter “External lines” of F.A.Q document. Please refer to these documents if you are interesting in it and hope they can be helpful to you.

https://www.myvoipapp.com/docs/faq/index.html

 

Relay media streams of SIP trunk outgoing calls

Relay media streams of SIP trunk outgoing calls

In some VoIP scenarios, we need configure “SIP trunk” to work with VoIP providers or gateways. When processing media streams, we hope (1) local users/phones should process their streams by themselves without MSS, and (2) MSS should help to relay media stream for all outgoing calls to peer SIP servers or gateways.

To fit these requirements, we update MSS V32 to be able to configure “relay media” item in “SIP trunk”. Please refer to following figure for more details.

Configure "relay media stream" item in SIP trunk outgoing call
Configure “relay media stream” item in SIP trunk outgoing call

By the way, MSS can only relay audio streams at this time, so video streams will be lost if you want to MSS to relay streams.

Store your own audio files

Store your own audio files

miniSIPServer can support customers’ own audio files to replace default files. With previous MSS, customers have to backup and restore these files once they want to upgrade MSS.

This is a little trouble. With the new V32, we can resolve it now.

When MSS starts up, it will create a sub directory ‘cust_ann’ in ‘mss_ann’ directory, now all your own audio files can be stored in this directory. When MSS is uninstalled or upgraded, this directory and its files will not be deleted or replaced by default files, and MSS can get audio files from this directory directly when it starts up.

In windows system, it could be “d:/myvoipapp/minisipserver/mss_ann/cust_ann” directory by default. In Linux system, it could be “/opt/sipserver/mss_ann/cust_ann/”.

Please refer to our online document for more details about how to record own audio files.

https://www.myvoipapp.com/docs/others/how_to_record_your_own_audio/index.html