Video API FAQs
Getting Started with Video
1. What is WebRTC?
WebRTC is a Web Real-Time Communication technology that allows users to establish a secure audio and video channel automatically from any browser or device, without installing any third-party applications.
2. Do you provide audio calls as well?
Yes, you can run both audio and video calls.
3. What customizations are available on the interface?
Brand name, logo, colors, and language.
4. Can I choose which features to enable?
Yes, you can decide autonomously, the features that you would like to have within the video call.
5. What are the differences between Rest API, Widget, and mobile SDK solutions?
REST API integration is the easiest way to join a video call. In this case, video calls take place in a customizable web interface that is accessible to users through personal links, automatically generated when virtual rooms are created.
Widget integration is the preferred way to add chat and audio/video capabilities to a corporate website or CRM, to engage customers directly from existing digital touchpoints. The widget can be customized with your company name and logo to fully align the video experience with your brand identity.
The mobile SDK allows the integration of Kaleyra Video in iOS and Android applications. These SDKs are intended for use cases where your mobile application needs to be enabled with video/audio calling capabilities. With in-app calls, you can communicate with your customers easily within your existing application, smoothing the call experience.
6. Which integration methods support the digital signature?
The digital signature is available for the Rest API integration (Link) only.
Video Use Cases and Industries
1. Is Kaleyra Video able to support fraud prevention?
Yes, customer data always stays protected since the video call technology is embedded within your existing touchpoints, eliminating the need to download any external software. Every video call can be branded with the name, logo, and colors of your company, enhancing brand identity, recognition and recall, thus avoiding any phishing issues.
2. What are the advantages of in-app calling over traditional phone calls?
By integrating Kaleyra Video, in-app calls can be run directly through the company’s application without using any third-party software. Using in-app calls allows a smooth and unified user experience. Moreover, the called person can view the caller's name and brand instead of an unknown phone number, allowing secure identification.
3. Can we integrate Kaleyra Video into third parties software or into CRM providers, like Salesforce?
We have connectors and plugins to connect our video call to third-parties software. Actually, we support the integration with the most popular CRMs like Salesforce, Genesys and Dynamics, and the list is constantly expanding.
4. What are the verticals that you address?
Following is a list of verticals that are supported on Kaleyra Video:
- Banking and Finance
- Insurance
- Healthcare
- Luxury Retail
- Utilities and Industrial Enterprises
- Transportations
- Mobility-as-a-Service
- Media and Telecommunications
Technical Requirements
For more information about Technical Requirements, see Technical Requirements
1. How much space does the mobile SDK require on the device?
Android SDK: ~12 MB
iOS SDK: ~50 MB
Privacy and Data Protection
1. Is Kaleyra Video GDPR compliant?
Yes, Kaleyra Video is GDPR compliant.
2. Is it possible to have it on-premises?
No, Kaleyra Video is a fully cloud-based solution.
3. How and where do you store data?
Kaleyra Video can be used anonymously, leaving no trace of any user information.
It’s up to the system integrator or client to decide what data to keep.
All data is stored in an AWS infrastructure, within the perimeter of the reference region (Europe and India). For example, if you decide to record a call in Europe, each recording is saved specifically in the EU region. If desired, symmetrical encryption can be used to further protect access to recordings.
4. Is it possible to leverage my own data storage?
Kaleyra Video acts as a pass-through for data. You can always export files and erase them from Kaleyra systems.
5. Can I set specific retention for recordings?
Yes, you can define a retention period by leveraging the Update Recording Configuration API.
6. How can I delete recordings and/or other data?
Recordings are automatically deleted after the retention period if it’s been specified with the Update Recording Configuration API. File uploads can be deleted with the Delete Upload API.
7. Is data shared between sandbox and production environment?
No, sandbox and production data are never shared.
8. Regional availability specifies Infrastructure location and segregation?
Kaleyra Video is available in Europe (EU and UK), India, and soon will be available in the US.
Having geo-located infrastructures allows having an account in a specific region, making it possible to be compliant with local regulations.
9. Are calls encrypted?
Yes. WebRTC protocol is encrypted by design, which means that an unencrypted WebRTC connection cannot exist. The signaling part of the protocol, which deals with the exchange of encryption keys, is managed through the WSS (WebSocket Secure) protocol. The connection through which audio/video data is delivered is encrypted by using SRTP (Secure Real Time Protocol) whose keys are exchanged by means of the DTLS-SRTP protocol. This ensures protection against man-in-the-middle attacks.
Call recordings are stored using the following two different types of encryption, based on the implementer’s choice:
- Symmetric encryption: Kaleyra holds and maintains an encryption key that is used both for encryption and decryption of files.
- Asymmetric encryption (advised solution): You provide Kaleyra with a public key that is only used to encrypt files, while you store on your side the private key used to decrypt them.
10. Do I need to provide you with the personal information of my users?
We gather this information automatically as we integrate it with your existing digital touchpoints (that is website, application, and many more) and CRM/CTI.
11. How can I prevent users from taking screenshots of the call?
During room creation through the Create Room API, you can set the screenshot tool to false to disable the screenshot feature for specific participants. Please note that Kaleyra Video cannot prevent participants from using external methods to capture the screen in any other way, like operating system tools or third-party applications.
Features
1. How can I disable my camera?
During a call, to disable the video you can just click on the icon of the camera at the bottom of the screen.
To reactivate the video click on the icon again.
It’s also possible to disable the video from the start by adding video_disabled=true
to the room link. See Query Strings Documentation for a comprehensive list of available query parameters.
2. Is it possible to share the screen without the SDK (mobile)?
No, the screen sharing feature is not available on mobile phone browsers. The SDK integration is required to enable the feature.
3. What is the maximum duration of a call?
By default, there are no limitations on the duration of a call. However, it’s possible to set a maximum duration in seconds while creating a room (duration
field in Create Room API).
4. Is there any limit on handling simultaneous calls?
There is no hard limit on simultaneous calls. The number of coexistent sessions for each company is virtually infinite because the infrastructure is able to scale dynamically.
In practice, since rooms need at least one participant with role plus, the actual number of concurrent calls is limited to the number of purchased licenses.
5. Are there routing functionalities similar to that of a CTI like Genesys?
Kaleyra Video does not provide out-of-the-box routing functionalities. However, its features can be integrated with CTIs like Genesys.
6. What are the differences between basic and plus user roles?
A user with a basic role can only join rooms, without the chance to create rooms.
On the contrary, users having a plus role can both join and create rooms.
The usage of these roles depends on the use case. For example, customer service agents are assigned the role plus, while customers have the role basic.
7. Do you support recording and how?
Yes, there are 2 types of recording:
- Automatic: The entire call is recorded from start to finish.
- Manual: The recording can only be started and stopped manually by participants having administrative rights (
is_admin
field evaluated totrue
in Create Room API).
8. How many participants can join a room?
Rooms can be one-to-one (for two participants) or many-to-many (up to 25 participants).
REST API integration (a.k.a. "link" integration) allows both modes, while other integration methods (widget, SDK) currently support one-to-one calls only.
Integration
1. How do I integrate Kaleyra Video?
Kaleyra Video technology can be integrated into any website, intranet, CRM, mobile application, or smart-glass using REST API, Web, and mobile SDK.
2. How can I connect to your environment and try your REST API and SDKs?
Two environments are available in Kaleyra Video they are sandbox and production.
The sandbox environment is used to develop and test the integration. You need to submit a request through our contact form. Our team will reach you and provide you with an API key that is valid for accessing the sandbox environment.
When the integration is complete and you are ready to go live you can request access to the production environment.
3. Can I use a hybrid application framework on mobile?
We advise you to build native applications using our SDK when possible, but we also support some of the most popular hybrid frameworks like Cordova and Xamarin. Our list of supported frameworks is still growing based on requirements.
4. What is the average time effort of integration?
For REST API and Widget integrations: The overall time-to-production ranges from 2 weeks to 1 month.
For Mobile SDK: From 1 month to 3 months depending on the complexity of the specific use cases.
5. What is a webhook? How is it different from a REST API?
A REST API is an integration method that typically follows the request-response paradigm.
A webhook enables third-party services to send real-time updates to your application. Updates are triggered by events or actions by the webhook provider and pushed to your application using HTTP requests. When you receive the request, you can handle it with custom logic, like sending an email or storing the data in a database.
6. How can I listen to events through webhooks in real-time?
In order to be contacted on specific events, webhooks need to be registered. You can configure your webhook by means of the Configure Webhook.
7. Where can I find the rating and feedback message of a room?
For ratings, you can subscribe to webhook on_room_new_feedback
(Webhook Configuration). Every time feedback is provided you get notified.
8. Where can I find the total duration of a room?
You can obtain it by calculating the difference between session_end
and session_start
webhooks, or you can retrieve it by calling Get Room Information API at the end of the call. Information is contained within the dialInfo block.
Customization
1. How can I map my users?
User mapping needs to be done in an external system, as Kaleyra Video cannot store any user information. In any case, when you create users on Kaleyra Video, user ids can be chosen based on your current IDs. Another way is storing the created user ids in a lookup table on an external Database.
2. How can I display a custom name for a user (for example, first name and last name) during a call?
In the Update Company API, you can specify a custom URL for the field user_details_provider_url
. If you do so, a POST request to that URL will be made to retrieve user details (display name and user avatar). See Server Side User Details Provider for the related documentation.
Troubleshooting
1. What can I do if I read the message "camera or microphone busy"?
The device may already be used by another application/website.
Try to close all applications that use this device, or select a different one.
If the problem persists, close and reopen the browser.
2. What can I do if I read the message "hardware error"?
If you get this message, check the connected external devices, such as webcam, microphone and/or Bluetooth headphones, if necessary, disconnect and reconnect. If the problem persists, open the settings and manually select another device.
If you do not have externally connected devices available, open the settings and manually select the source for the webcam and microphone.
Please remember, that in case of hardware malfunction it is possible to continue the call with a single device, selecting no webcam/no microphone from the settings menu.
3. What can I do if I read the message: you are already calling from another device?
If you get this message, simply join the call from the device you previously logged in through and close the call by clicking on the red button. After that, you can join the call again with the device you intend to use.
4. What can I do if, I read the message "the link has expired"?
If you get this message, we recommend you reload the web page and check and verify your network and internet connection settings as they may not work properly. If the problem persists, please contact the person who sent you the link and ask them to send you the link again or alternatively, to generate a new one.
5. What can I do, if I read the message "link not correct"?
If you get this message, we recommend you check that the link copied to join the call on the browser page is correct. Otherwise, please contact the person who sent you the link and ask them to send you the link again or alternatively, to generate a new one.
6. What can I do if the call is interrupted?
If suddenly the call stops, we recommend you close your browser and click on the link again. If the problem persists, please check and verify your network and internet connection settings as they may not work properly.
7. What can I do if I read the message "connection problems"?
If you get this message, we recommend you check and verify your network and internet connection settings as they may not work properly.
8. What can I do if I do not see or hear properly?
If you do not see or hear well, we recommend you close your browser and click on the link again. If the problem persists, please check and verify your network and internet connection settings as they may have issues.
9. What are potential troubleshooting measures related to Kaleyra Video and networks?
If your call fails due to network, perform the following:
- If you are behind a proxy, try using the Google Chrome browser.
Mozilla Firefox supports proxies only from the latest versions and the implementation is not yet as mature as that of Chrome. - If you still have problems, it is very likely that an intrusion prevention system or IPS is recognizing the numerous video packets as "bad" and rejecting them. This problem can be easily recognized by looking at the firewall and/or IPS logs and can be solved by adding to the whitelist the IPs specified in the table above. We recommend adding them all since the server is selected based on the geolocation of both parties.
For information related to network requirements, see Network Requirements.
Updated 12 months ago