A simple call cascading scenario to soft phones

In this tutorial we will see how to create SIP client credentials on Proximus FlexIO that can be used to receive phone calls on softphones. We will use the Visual Designer to create a simple call cascading scenario.

About soft phones

Many companies are adopting VOIP phones, and in particular soft phones, looking for efficiency and cost effective solutions for telecommunications. Softphones’ ability to make or receive phone calls using computer programs installed on a variety of internet-enabled devices is definitely a game changer.

Softphones makes it easier to support a variety of requirements and usage scenarios that would be more difficult or expensive to implement using standard phone systems. To take just a couple of examples:

  • support to service mobility : when on the go business or technical users need to stay connected to their professional phone numbers, wherever they are
  • better customer interactions : you can choose where your calls ring and how. For instance, you might select the first few rings to be forwarded to your office. If you don’t answer the call, it will then be transmitted to a second or third device
  • faster call pickup : have a call ring on multiple phones or devices at the same time

Creating the SIP clients

Go the Proximus FlexIO console and select the Clients section in the main menu. For our scenario we will create 2 clients. Let’s call them bob and alice. Take note of the password you assign to them.

Install and configure a soft phone

Linphone & Jitsi

As we will need 2 soft phones up and running to support this call cascading scenario, you will install 2 different soft phones on your computer:

  • Linphone, a freeware under  GNU GPL 2 licence that is available for multiple operating systems, including mobiles and standard desktops
  • Jitsi Desktop, also available for a variety of desktop operating systems

If you are searching for a mobile soft phone, you could try out Zoiper on both iOS and Android.

Configure your softphone

Whether you use Jitsi, Linphone or Zoiper, all of these will let you add your own SIP account. Simply use the credentials you created earlier on Proximus FlexIO, bob and alice respectively for each soft phone you configure. The SIP domain is proximusflexio.enco.io and the transport must be set to TCP (TLS will be implemented in a later phase).

Use the Visual Designer to create a cascading application

The cascading scenario

The scenario will be the following: when someone calls your FlexIO phone number, Bob is going to be called first. If he doesn’t pick up the phone within 10 seconds, Alice’s softphone will ring. And if Alice doesn’t pick up too, then a SMS will be sent to your mobile phone to let you know you missed a call.

Using the Visual Designer

Go to the Proximus FlexIO console and create a new blank Visual Designer Application, like you have learned from our online documentation or through the various tutorials of this blog. You can keep the first default Say action and use it to give an announcement such as “Thank you for contacting us, please wait while we connect you to one of our collaborators”. Don’t forget to specify your preferred TTS engine and voice, like you have already done so in previous tutorials.

Drag a Dial action, and configure it to call a Client called Bob with a timeout of 10 seconds, as shown below :

Calling a SIP FlexIO Client from the Visual Designer

If the call is not picked up by Bob, we want to do the same, but calling Alice this time. Add another Dial action and configure it just as we did above, this time calling the Client Alice.

Next, create a new Module called “send SMS”, and add the actions Say, SMS and Hang Up, configured as shown on the picture.

Configuring the send SMS module for our FlexIO call cascading scenario

For the SMS action, please mind:

  • we use the system variable $core_From to include the phone number of the caller in the message
  • obviously, set your own mobile phone number in the To field without omitting the country code
  • For the From field, you have to specify a FlexIO number that you own, even if this is not a mobile number. That number will be substituted by our systems and the SMS will be shown to the recipient as coming from a short code number (4 digits number). Failure to set a valid FlexIO number will result in the SMS not to be sent.

Finally, go back to the “Welcome” module, and configure that last Dial action (the one calling Alice) to Continue to “send SMS”:

Configure SMS sending if second dial attempt fails in the call cascading scenario

Save your application.

Link your FlexIO number to your application

Back to the Proximus FlexIO console, go to the “Numbers” section, pick up one of your available number and associate it to your call cascading application, like you learned to do it multiple times in previous tutorials.

Testing the call cascading scenario

Give a call to your FlexIO number and don’t answer any of the incoming calls on your SIP phones. In this case, the scenario goes to the end meaning the caller is warned vocally that no one could be contacted and a SMS is sent to your mobile phone.

Now give it some other tries, letting or Bob, or Alice answer the incoming call. When any of the two picks up the call, the scenario is stopped when any of the party hangs up the line, and the remaining of the scenario (“we’re sorry…” message and the SMS sending) is not executed.

Now consider that several people could be connecting their soft phone application using the same credentials at the same time. So instead of Bob and Alice, as individuals, you could have a sales and a support Client accounts. When a call is forward to the FlexIO Client sales, all soft phones connected with that credential will ring, but of course the call will go on only with the one person from the sales team who picks up the call.

Author: EnCo Team

Biographical Info