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.
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
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.
IMPLEMENTATION STEPS
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
-
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.
-
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.
-
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.
PRO TIP
If you have multiple SIM cards for which you would like to change the lifecycle, select them all, and click CHANGE STATUS.
-
Insert the SIM card into the device and start using your device.
BEST PRACTICES
Here's how to adjust additional settings on your device.
-
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.
-
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.
-
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
-
Check quality parameters, such as upload, download, and latency.
-
Navigate to Connections module > Overview. Enter the exact SIM cards ICCID to get location information for a specific kiosk.
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
Call Flow
-
Include the Infobip RTC SDK(s) into your kiosk application.
-
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:
jsonPOST /webrtc/1/token { "identity": "Alice", "applicationId": "2277594c-76ea-4b8e-a299-e2b6db41b9dc", "displayName": "Alice in Wonderland", "capabilities": { "recording": "ALWAYS" }, "timeToLive": 43200 }
Response example:
json200 OK { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZGVudGl0eSI6IkFsaWNlIiwibmFtZSI6IkFsaWNlIGluIFdvbmRlcmxhbmQiLCJleHAiOjE1NzkyOTA2MzgsImNhcHMiOlsyXX0.QyCMqjH8DsftChibW2Rw4EByH-eEviUp3-kHVKuJpKg", "expirationTime": "2020-01-17T19:50:38.488589Z" }
-
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).
javascriptlet token = obtainToken(); let infobipRTC = new InfobipRTC(token, {}); infobipRTC.connect(); 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!'); });
-
The other device receives the call.
javascriptlet token = obtainToken(); let infobipRTC = new InfobipRTC(token, {}); infobipRTC.connect(); 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!'); }); incomingCall.accept(); });