Remotely Manage Big Data for Kiosk Video Application
Remotely Manage Big Data for Kiosk Video Application

Remotely Manage Big Data for Kiosk Video Application

There are multiple scenarios where you can use IoT and smart kiosks to schedule a ride through the nearest available kiosk, collect and securely transmit patient’s vitals via app, make a purchase with no human intervention or contact. The main functionality for kiosk used by an on-demand company, retail, restaurant chains or a healthcare user is self-service, digitalization, and easier interaction.

This tutorial shows how to use the kiosk app to establish a seamless remote consultation without any data connectivity interruptions.

Connected kiosk - IoT use case - Infobip

Infobip provides internet access for kiosks which are internal platforms commonly used for signup, support, and video conferencing. The kiosk runs custom-made applications as web page wrappers with backend. The router inside the kiosks holds mini SIMs (2FF). Infobip can provide you with these SIMs.

Kiosk machines run a combination of built-in Windows, Android, and a custom Linux OS to offer a stable long-term solution. The platform allows to quickly spin up a software that can be served via kiosk after a simple registration. However, they are mostly used for 1-on-1 video calls for the time being.

Process Workflow

Connected kiosk - IoT use case - process diagram

This use case showcases multiple Infobip solutions and products: Things (IoT), Voice and Video, and Conversations. To purchase these, contact your dedicated Account Manager or contact us (opens in a new tab).

**Step 1:**Create Infobip account, order and activate SIM cards.

**Step 2:**Insert SIM cards into your device and customize additional settings (SIM card data usage, data limit)

**Step 3:**Implement video calls with Web and In-App Calls (the call is initiated using IoT SIM to InfobipRTC application)

Now let’s see the detailed instructions how to implement such a scenario in your environment.



To use the Infobip platform and our solutions used in this use case, you will need credentials. If you already have an Infobip account, log in (opens in a new tab) to our web interface. Otherwise, create an account.

Steps over Web Interface

  1. Log in (opens in a new tab) to the web interface and navigate to Apps > Wireless IoT. Here you can order SIM cards or you can contact your dedicated Account Manager. To order a SIM card within the web interface, click NEW ORDER.

    Order new SIM card via web interface
  2. Specify the SIM format you need, the country where you'll use the SIMs, wireless technology your device supports, and enter the order delivery address.

    IoT - new order filled
  3. To activate the SIM cards, navigate to the Connections module > IoT SIM Cards. Select the one you would like to activate and click ACTIVATE SIM CARD.

    IoT - active SIM card


    If you have multiple SIM cards for which you would like to change the lifecycle, select them all, and click CHANGE STATUS.

    Change status of multiple SIM cards
  4. Insert the SIM card into the device and start using your device.


Here's how to adjust additional settings on your device.

  1. To check the data usage for all your SIMs or for a specific SIM on hourly, daily or monthly basis, navigate to the Connections module > Overview.

    Wireless IoT - SIM Cards overview
  2. To limit data user per device on the Connectivity platform, set triggers and you’ll be notified if your device has reach the limit. Navigate to App > Wireless IoT > Data Usage.

    Wireless IoT data usage
  3. To receive email notifications for a specific SIM card when a predefined limit has been reached you can use two options:

    • Send alerts via web interface only
    • Send alerts to web interface and email
    Alert management with wireless IoT
  4. Check quality parameters, such as upload, download, and latency.

  5. Navigate to Connections module > Overview. Enter the exact SIM cards ICCID to get location information for a specific kiosk.

Wireless IoT - one country filter selected

Implement Video and Audio Solution to Your Kiosk

Once you’ve set up your wireless IoT and kiosk, to achieve high-quality video calls and improve your customer care, let’s implement web and in-app callswith audio and video options!

User Registration Flow

Wireless IoT use case - control kiosk big data - user registration flow

Call Flow

Wireless IoT use case - control kiosk big data - call flow
  1. Include the Infobip RTC SDK(s) into your kiosk application.

  2. Create a token. Typically, a token is generated after your subscribers are authenticated in your kiosk application. In response, you receive the token and then use it to instantiate the InfobipRTC client on your web application.

    Request example:

        POST /webrtc/1/token
          "identity": "Alice",
          "applicationId": "2277594c-76ea-4b8e-a299-e2b6db41b9dc",
          "displayName": "Alice in Wonderland",
          "capabilities": {
            "recording": "ALWAYS"
          "timeToLive": 43200

    Response example:

        200 OK
        "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZGVudGl0eSI6IkFsaWNlIiwibmFtZSI6IkFsaWNlIGluIFdvbmRlcmxhbmQiLCJleHAiOjE1NzkyOTA2MzgsImNhcHMiOlsyXX0.QyCMqjH8DsftChibW2Rw4EByH-eEviUp3-kHVKuJpKg",
          "expirationTime": "2020-01-17T19:50:38.488589Z"
  3. When the end user initiates a call, we use the call method (audio and video options). You will have the authorization token (which you received in the previous step).

        let token = obtainToken(); 
        let infobipRTC = new InfobipRTC(token, {});
        let outgoingCall = infobipRTC.call('Alice', CallOptions.builder().setVideo(true).build());
        outgoingCall.on('established', function(event) {
          console.log('Alice answered call!');
          document.getElementById('remoteAudio').srcObject = event.remoteStream;
        outgoingCall.on('hangup', function(event) {
          console.log('Call is finished!');
  4. The other device receives the call.

        let token = obtainToken(); 
        let infobipRTC = new InfobipRTC(token, {});
        infobipRTC.on('incoming-call', function(incomingCallEvent) {
          const incomingCall = incomingCallEvent.incomingCall;
          console.log('Received incoming call from: ' + incomingCall.source().identity);
          incomingCall.on('established', function(event) {
            document.getElementById('remoteAudio').srcObject = event.remoteStream;
          incomingCall.on('hangup', function() {
            console.log('Call is finished!');

Need assistance

Explore Infobip tutorials

Encountering issues

Contact our support

What's new? Check out

Release notes

Unsure about a term? See


Research panel

Help shape the future of our products
Service Terms & ConditionsPrivacy policyTerms of use