We are investigating solutions that we could use to build video and voice calling in our Ionic application. The requirement is that our solution can be attached to another company using the SIP protocol. Therefore we are looking into solutions that use SIP with WebRTC (for media).
There are a few projects that only support WebRTC and no SIP, like:
TokBox: Problem is here we could never add a SIP layer to this plugin, because there is no configuration for hosting your own servers. You are bound to there signaling and TURN/STUN servers.
PhoneRTC: Completely opensource and ability to host your own servers.
So we had a deeper look into PhoneRTC and found that someone from JSSIP was trying to add a SIP layer to it with the project jssip-cordova. Unfortunaly after a short time he decided to stop this project and it will be deleted soon as mentioned in this issue.
We are in need of a solution for both Android and IOS. And since Crosswalk has been added to Ionic it should be possible for the Android solution to use Ionic + Crosswalk + JSSIP to be able to connect to our Asterisk server. Only issue we will have then is that there is no solution for IOS (yet).
I have been looking into the roadmap of Crosswalk for IOS and found this JIRA enrtry. In this issue it is mentioned that Apple has a strict policy regarding browsers and webviews. They always need to use the Safari rendering engine. Which makes me think if it will ever by possible for Crosswalk to add WebRTC support to IOS? If not we are stuck with Android and we could not use the same solution for IOS in the future.
Also Cordova hasn’t added WebRTC support yet and is still on the roadmap (if this link reflects the roadmap): https://wiki.apache.org/cordova/RoadmapProjects
So after all this research I am kinda stuck/lost howto get a solution for Android and IOS using SIP and WebRTC together. I was wondering if other people could help me to get on the right track?
So in the basics we need a solution for voice and video calling (any protocol is OK). But this solution should be attached to an SIP (Asterisk) server. This because we need to add a SIP trunk from our SIP server to other SIP servers. And IOS and Android should be supported as well as common browsers.
Any suggestions are welcome!
I came across http://build.rtc.io/. Which claims to enable WebRTC on IOS. See some explanation here: https://groups.google.com/forum/#!topic/rtc-io/JYLNYGRltHs. But I am wondering if it would be possible to use this cloud build, because Cordova will maybe not be wrapped with it (if you send the platforms folder).