Question

Control softphone or desk phone via API or SDK

  • 11 May 2018
  • 8 replies
  • 2613 views

We have been able to handle incoming calls by making use of the RingCentral Webphone library (https://github.com/ringcentral/ringcentral-web-phone). However, this approach makes use of WebRTC via the browser and therefore when the page is reloaded the active connection/call you are in is lost. We would like a more sturdy and robust integration and are looking into alternative approaches. That is why I would like to know if it is possible to directly control the RingCentral softphone or (physical)desk-phone by using a specific SDK or API. This would give the user a better integration. Does such an SDK or API currently exist? Is this a possible solution or is there another alternative?


8 replies

Hi, Jeroen . You can try RingCentral Embeddable Voice https://github.com/ringcentral/ringcentral-embeddable-voice  It is a web application. But you can embed it into a webview or electron. And you can control it by API from webview.  This is a demo to use it in java with jxbrowser https://github.com/tylerlong/jxbrowser-webrtc
Hi Embbnux Ji,
Thank you for your reply. We have to load our app inside an iframe of an existing web-based environment so we cannot import a webview or electron in the environment. We are looking for a way to control the voice from the iframe directly using JavaScript. Any other suggestions perhaps?
We are looking for a way to control the voice from the iframe directly using JavaScript.

https://github.com/ringcentral/ringcentral-web-phone supports that. 


when the page is reloaded the active connection/call you are in is lost. 

No JS code will survive after page reload, I don't think there is a solution to this problem.



it is possible to directly control the RingCentral softphone or (physical)desk-phone by using a specific SDK or API.

As far as I can tell, there is no such SDK / API.


 https://github.com/ringcentral/ringcentral-embeddable-voice allow you to control the phone via JS. But it also has the page reload issue mentioned above.
@Jeroen Couwenberg there are a set of Active Call Control APIs that we will be publishing sometime in July, however, would love to get some early feedback from you on those beta APIs. I would reach out to you with further details. - Dibyendu 

Thank you for reaching out to me. I was not aware that RingCentral was developing the Active Call Control APIs.

Could you please send us some documentation so we can take a look? I would like to determine if this is a possible solution for our problem. We are currently in the final fase of the development and have implemented a work around for now. I would very much like to use the Active Call Control API's if that means we do not have to use our current work around

Active Call Control APIs are still in the beta phase and will be available only by around AAug'18.We shall share all the information via release notes. We shall reach out to you on an early invite basis. Please leave us an email or submit a help ticket to consider your app for an early invite and we will share the details and other documents to test the APIs. And yes, this solution supposedly is more robust for your use-case.

Recently we created this softphone SDK: https://github.com/ringcentral/ringcentral-softphone-js

It doesn't require browsers to run. So you can run it on server side and avoid the page refreshing issue mentioned above.

Please note that it is a new SDK and it is not ready for production yet. Feel free to try and give us feedbacks.

Any more details on active call control and actually incorporating that feature in any future ring software updates?

Reply