Video calls to Zoom video conferencing from web pages


    In the previous habrastati, I showed that if the service can integrate via SIP and RTP, then you can do many interesting things with it. For example, invite participants to Zoom video conferences from mobile phones. But our Voximplant cloud is not only telecoms and telephones. We also love and know how to use the SDK to make and receive calls from unexpected places: from web pages, from applications (making calls over the Internet is much cheaper than using a voice channel) and even from VR / AR Unity solutions. In this article, I will show how to create “calling” pages with the help of several lines of JavaScript front-end so that participants can make a video call to the conference. And yes, thanks to the latest update from Apple, you can now call from web pages on the iPhone!

    Zoom setting


    Everything is the same as in the previous habrastatya .

    Setting up Voximplant


    In a previous article, I talked in detail about creating a new application and organizing conferences so that the voice of all participants from phones was mixed on the cloud side of Voximplant and then communicated with Zoom via one SIP channel. In this article, I will show my friend a workflow when each user calling from a web page via a video call will connect directly to the Zoom conference. The corresponding Voximplant scenario (one, because the two were needed only for organizing the conference by Voximplant) looks like this:


    This script receives an incoming video call from WebSDK, patches SDP (because all services “understand” SDP a little differently), makes an outgoing call to Zoom and connects video and voice streams of incoming and outgoing calls.

    Frontend part


    A few lines of JavaScript allows you to make just such a page on which anyone can enter the identifier of the Zoom conference and, if for the conference connecting integration via SIP, the video call will be made directly from the web page!



    The separation of the call in the cloud into two parts, “incoming” and “outgoing”, has gone back to the time of Asterisk, which we do not use. It is convenient for the developer to operate with two independent parts (they are called the “legs” of the call, “call legs”). For example, for voice calls, in the event of a loss of connection, you can synthesize something like “wait, reconnecting”, call again from the same JavaScript session, and reconnect calls. Or, at the command of the operator, switch the incoming call somewhere else. In our example, you can “insert” a video record between the incoming and outgoing leg of the call if you replace the easyProcess call with:


    And with the help of the transcribe parameter you can turn your voice into text! If you have a paid Zoom with a SIP connector, then you can use the test page that I did for this article: demos02.voximplant.com/zoom

    Questions in the comments are traditionally welcome. We know a lot about telephony and are ready to talk.

    Also popular now: