Telestax Blog

Call Transfer for Restcomm

We are pleased to announce that Call Transfer support was introduced as a part of the upcoming release of Restcomm.


This new feature enables usage of blind transfer capabilities in desk phones and other SIP clients such as Linphone. Besides with Linphone, it was also tested wth Yealink SIP-T21P E2, Cisco SPA525G and Polycom SoundPoint IP 335. The feature is implemented by handling SIP Refer functionality and performing Live Call Modification. Below is a short overview.

Let’s start with the simple scenario involving three parties: Alice, Bob and Carol. Alice calls Bob and Bob wants to connect Alice to Carol. Bob presses the Blind Transfer button on his desk phone and types Carol’s number. His phone hungs up and Alice should be connected to Carol. There is also a possibility that Carol will not answer timely or will be busy talking with somebody else. In that case, it’s needed to connect Alice to Bob again, and this is easy to implement with existing RestComm features as we’ll see later.

For the described scenario, we will need two incoming phone numbers:

  • Number, which has RVD application configured to dial Bob and refer request application set up;
  • Number, which has RVD application configured to dial Carol.

The number has additional property called Refer Request which could be either RVD application name or URL and is used to set up refer application. So configuration for Bob’s number should look like this:


Alice should call Bob using the phone number instead of his client name because of Call Transfer limitation that transfers only those calls made by Dial verb. It’s because Live Call Modification which has the same limitation is used inside the Call Transfer.

The Refer application in its simplest case could be an RVD application, which looks like this:

Call Transfer for RestcommThe RVD application displayed above has the following RCML template:


<Say>Transferring to $core_ReferTarget</Say>

<Dial><Number>$core_ReferTarget </Number></Dial>



This RVD application receives newly introduced $core_ReferTarget parameter from RestComm and produces RCML similar to the one below (if transfer was performed to number 5555):


<Say>Transferring to 5555</Say>




As you remember, in the scenario mentioned above we agreed to connect the call to Bob again when Carol does not answer. This could be implemented by specifying the Dial ‘action’ argument that loads another RCML URL and passes DialCallStatus as an argument when call is finished. So the application will know when Carol doesn’t answer (DialCallStatus=no-answer or busy). However, in this case an RVD application should be replaced with the web application that contains the conditional logic which is absent in RVD.

Hope you enjoyed the new RestComm feature and stay tuned!

  • Ivelin Ivanov
    Posted at 15:23h, 11 February Reply

    Fantastic new feature for high end enterprise comms.

    A few comments:

    – Wouldn’t it make more UX sense for Refer to be a branch off of a Voice app. The way its implemented does not seem intuitive. At a high level we have applications triggered by the type of media – Voice, SMS, USSD. I can see in the future Video (with screen sharing, file transfer and similar visual components in RVD), Location (geo-fence related RVD components), Refer does not seem to fit here. I would expect it to be sort of an exception handling branch in a voice app. Also using the technical term Refer in the UX can be confusing to the RVD user. Wouldn’t Call Transfer/On Hold or similar commonly used terms be more appropriate for the UI?

    – I think it is possible to implement just with RVD the scenario of connecting Bob when Carol does not answer using Web Trigger. Related to this point, I posted a github issue suggesting to move Web Trigger as a top level choice for Number-App association as well as new Category of apps in RVD – next to SMS, USSD, Voice, Location, Video, etc.

    – Would be nice to see share buttons along this post to make it easier to share on popular social networks. I think that used to be the case but I don’t see these share buttons any more.


  • Ivelin Ivanov
    Posted at 15:26h, 11 February Reply

    – One more comment for the web admin (Mrs D :-). Would be nice to be able to login on this site with my company account via Google, MS Directory, Facebook, Twitter or LinkedIn account. I understand lots of spam bots post random comments so we want some sort of filtering. However one less login/ password to remember would be nice.

  • Jean Deruelle
    Posted at 11:33h, 12 February Reply

    The screenshot has not been updated to latest version but yes it’s already like this. The Refer is under Voice Advanced.. I asked @gvagenas to update the screenshot

Post A Comment