We will be using Kurento or some kind of media server/mixer in out setup because of the following reasons:
- Imagine a call between user A, B, C and D. When you don’t use any media server/mixer. User A will do an upload to user B, C and D, also user A receives streams from B, C and D. Same applies to other users. Meaning every user opens a specific stream to the other users. On a desktop / laptop maybe it won’t give you any problems (maybe with 16 users it will). But on a mobile device this isn’t a good practice, for the data usage and processor power to our experience.
- If you will be using SIP hardphones with video to your Asterisk server. These phones will most likely use H.264 video codec. So if you want to be able to have a video call between WebRTC client and a SIP hardphone client someone needs to do some video transcoding.
- If all media went peer-to-peer then you wouldn’t be able to record any video session, would you?
We are looking into JSSIP + Asterisk + Kurento because of the following reasons:
- Our users want the ability to always call a ‘traditional telephone line’.
- Kurento is needed for above reasons (or some other media server if that seems to do a better job)
- Connect through browser, android and ios (ios is still an issue)
- Ability to add other SIP services to the platform