SIP and WebRTC

@apanizo If you don’t need SIP, kep it to pure WebRTC. Microsoft is also implementing WebRTC in their new browser Edge. Keep in mind untill Microsoft finishes this implementation WebRTC won’t be supported out-of-the-box and you need some plugins. Same goes for Safari, but Apple still hasn’t told the community what they will do.

That being said and you telling that a commercial solution isn’t the path to go, you probably need the next path (you found already):

  • Use CrossWalk (Android only), which allows you to support older versions for Android. I am not sure from which version, but at some point (I believe Android 4.3 or 4.2) Android included Chrome as the standard web browser. Which supports WebRTC. Before that there is another browser used which didn’t support WebRTC. Because of CrossWalk you will package a Chromium browser with it that does support WebRTC. Also you have the benefit that you are sure what you test will be the same on all other Android phones, because you deliver the same version of the Webview to all the devices.
  • For IOS CrossWalk is developed in en opensource community at this moment. Not sure how stable it is at this moment. But as I have understand it is not officially supported by CrossWalk. Like you mentioned you’ll need this plugin to get pure WebRTC support on IOS.
  • Implement Kurento

Thanks @markdark for your quick reply.

You are right. Yesterday after sending my previous post I continued looking into the exactly solution that you have mentioned. At first I was skeptical, because using that approach everything is much simpler and no third parties are involved.

But after reading that post (done by plugin’s creator): https://webrtchacks.com/webrtc-hybrid-applications/ all pieces fit together.

Also I had one requirement that if is possible native development is a plus so, doing Hybrid development I can have the best of both approaches ( I am a ninja on HTML/JS :slight_smile: ). Probably I will have a lot of problems but at least now I can follow a ‘valid’ path.

One quick thing, under your experience which DB do you like for integrating with Kurento? I would need it for storing broadcast conferences and audio from user’s conversations. NoSql? CouchDB?

Also, which Web Server do you recommend? Tomcat? Jetty9?

Really thank you because this thread “has been/is being” really helpful.

Adolfo.

@apanizo I haven’t used Kurento, so can’t comment on that. But if NoSQL can do the job for you, use NoSQL.
As a webserver I am still an Apache fan or nginx.

1 Like

Currently im wondering about this too.
Im trying to use PeerJS as client and server (separate examples are provided by peerjs.com).
For not no luck with iOS, its works with Crosswalk on android os but little luggy.

You should dive into the Google Groups of PeerJS and cordova-plugin-iortc. Looks like there are people working in both repositories:

@apanizo @rvn I am now working on a another project which also needs pure WebRTC and we are looking into Kurento. We have created a simple example to demonstrate group calling: https://github.com/Mobilea/kurento-group-call

How are others doing on this WebRTC part at the moment?

@markdark we still working on it, and it works fine. At the end I have forked the kurento-room project for build our own UI and add our own REST endpoints and puttin aside the typical problems of update libraries, there is no problems at all.

We have not done any stress test in order to know the limits of the project, but as I said, it seems to be ok.

On Android and desktop it works out of the box, and for iOS we still use the iosrtc plugin (Cordova app).

So, if you want very specific information about how it works under certain scenario like: X users, Y rooms at the same time, I can not be really helpful, but if you just want feedback for a prototype you can pick those technologies up without any problem (to be honest I think it will scale fine).

We also use for our environment: as DB CouchDb-Ektorp, Tomcat 8 (SSL), Apache 2 and everything works fine with secure connections (HTTPS, WSS) as well.

If you want any more info, just let me know.

Thanks,

Adolfo.

@apanzio/ @markdark, thank you for providing the insights to different frameworks and your updates. @apanzio, when you say kurento works out of the box on Android, is it an Android app/ browser based solution? Looking to create mobile app for app-to-app calling/ chat using webrtc on Android/ iOS/ desktop. How is the voice call/ video quality with Kurento?

Thanks in advance,
Puja

https://github.com/Mobilea/cordova-plugin-opentokjs-example
This link is 404 now, may I know is there any update link? Thanks.

We stopped using TokBox for several reasons. One is the lack of proper Cordova support. And the non-willing to get things up and running using cordova-plugin-iosrtc.
So we switched to purely WebRTC solution with the use of cordova-plugin-iosrtc which runs great!

Hi @markdark would you mind sharing a bit of the backend you are using? Are you leveraging p2p webrtc or going through a server for multiuser conference ans/or recording etc?

Thanks

Hello Mark,
We are using ionic 1 for our hybrid app. Like to use WebRTC a for video chat and exploring various options. It is essential that we have a solution with Angular wrapper and Cordova plugin. We use Angular for our WebUI piece along with bootstrap.

Can you please share current status on ionic support for WebRTC ? Any suggestions on using simpleWebRTC and signalmaster for signalling ?

Thanks a ton

1 Like

Hello guys, sorry for digging up this topic, but I just got in the same spot you were years ago.

I’m developping one app that must connect into a SIP (Asterisk) server for creating only audio calls.
I think the only difference is that I’m using Ionic 2, but by my researches about PhoneRTC it’s compatible and have all the WebRTC resources I’ll need (besides the need for “cordova-plugin-iosrtc” for iOS wich is ok).

So, I’m starting now following your paths. Thanks for all the explanations and let’s keep this topic alive!

Hello Gaiolero,
did you manage to do your app ?

Hello Loma,
Not yet, reviewing my answer I see that I was mistaken. I’m using only JsSIP library, but I’m still facing some issues in the Asterisk Server, I think it’s something related to ICE Servers…

I’m registering and making the call, but when the call is answered my JsSIP answer a “488 - Not Acceptable here” to the server. Maybe the server is not sending all the requested information to my side.

do you use cordova-plugin-iosrtc ?

No, by my searching these plugin doesn’t implement SIP connection, and I need it to register in an Asterisk server, but I didn’t tested the JsSIP library in the iOS yet.

Hello @markdark thanks for the insight , can you just mention wat was the basic solutions. currently i am looking into webrtc video / call on ionic. and any example project link will be helpful

+1 @markdark, really interrested by implementating a ionic video conference feature (audio and video). I’m trying with cometchat but it is a pain yet (bad technical support).
I’m looking for alternative solutions

anyone who succeeded to implement WebRTC can you share ant tutorials or insights about this??