Getting Started Guide

Video and Voice Calls

mesibo allows you to enable peer-to-peer HD video and voice calls between your users in just a few lines of code. As with messaging, mesibo video and voice calls are end-to-end encrypted and hence secure. mesibo does not charge any additional amount for the voice or video call APIs.

Making and receiving voice & video calls with mesibo is simple. You only need to initialize MesiboCall once using just one line of code! Then, mesibo will automatically handle incoming calls. For outgoing calls, you can invoke call API as required.

You can use mesibo voice and video calls as it is. But, if you wish, you can customize it to your needs. For example, you can customize the call screen UI, filter incoming calls, etc. Refer to Call API Reference to learn more.

Refer to the code below:


One time initialization

MesiboCall.init(context);

To make a video call

MesiboCall.getInstance().callUi(this, profile, true);

To make a voice call

MesiboCall.getInstance().callUi(this, profile, false);

One time initialization

MesiboCall.getInstance().init(applicationContext)

To make a video call

MesiboCall.getInstance().callUi(this, profile, true)

To make a voice call

MesiboCall.getInstance().callUi(this, profile, false)

One time initialization

MesiboCall.start(with: nil, name: "mesibo first app", icon: nil, callKit: true)

To make a video call

MesiboCall.getInstance().callUi(self, profile: mProfile, video: true)

To make a voice call

MesiboCall.getInstance().callUi(self, profile: mProfile, video: false)

One time initialization

[MesiboCall startWith:nil name:@"mesibo first App" icon:nil callKit:YES];

To make a video call

 [MesiboCallInstance callUi:self profile:mProfile video:YES];

To make a voice call

 [MesiboCallInstance callUi:self profile:mProfile video:NO];

One time initialization

MesiboUI _mesiboUi = MesiboUI();

To make a video call

_mesiboUi.call(profile, true);

To make a voice call

_mesiboUi.call(profile, false);

IMPORTANT - Secure https website is required

  • You MUST use a secure website (https) to use mesibo javascript. It may NOT work from http:// or file:// sites due to browser security restrictions.
  • You MUST also use a valid certificate with recognized authority, the self-signed certificate will NOT work.

The browser will not grant the camera and microphone permissions unless your app meets the above requirements. If permissions are not granted, calls and conferencing will not work.

These restrictions are by the browsers and NOT by the mesibo. Refer Security section in the Mozilla documentationopen_in_new for more information.

Setup video views

<div class="row" style="background-color: #f1f1f1;">
    <div class="col-6" style="padding: 10px;">
        <video id="localVideo" playsinline autoplay muted></video>
    </div>
    <div class="col-6" style="padding: 10px;">
        <video id="remoteVideo" playsinline autoplay></video>
    </div>
</div>

<audio id="audioPlayer" autoplay="autoplay" controls="controls" style="visibility:hidden;">
</audio>

To make a video call

api.setupVideoCall("localVideo", "remoteVideo", true);
api.call(demo_destination);

To make a voice call

api.setupVoiceCall("audioPlayer");
api.call(demo_destination);

In iOS, ensure that the background modes “Audio, AirPlay and Picture in Picture” and "Voice Over IP" are enabled.