Configuring Video for use on the KAZOO Platform
- A user wants to enable a device so it supports video calling between two office desk phones
- A user wants to call into a KAZOO video conference using a video-enabled desk phone instead of a laptop.
- A user wants to allow video replay and/or online streaming on an office phone (to replay a saved video call for example) using the KAZOO platform.
Video is an image capture process that takes a rapid amount of still pictures at a source, compresses the data, and transmits the packet across phone lines. The recipient unpacks them and replays the sequence to show movement, or “video.”
Some notes about the transmission:
- “Frames” are single images, transmission is described in “frames per second”, or FPS.
- Typical compression is 20-30 frames per second. Lower rates and lower resolution means you will see a stuttered, jagged result.
- The resulting “video” is a stream of these captures.
As with any images, video takes up significant data bandwidth to transmit. To help mitigate this video uses one of several compression algorithms which collectively are referred to as “CODECS” (short for “COder-DECoder”).
CODECS refers to the format for compressed data transmitted across devices (including WebRTC, Softphones, mobile devices, comm.io). Some formats compress audio only, others compress audio and video.
There are several different compression types available today. To successfully transmit these files, both the originating device and the receiving device must be equipped with the same codec compression interpreter. If a device transmits H264 video, then the receiver must be able to “read” that. Your office desk phone and your laptop application for example, must be able to talk in the same language. Common audio formats used by telco devices include .mp3 and Opus. Popular compression formats for video are H263, H264, and the newer Google-developed VP8.
Audio and the KAZOO Platform
All KAZOO Platform calls assume (and require) audio CODECS. Audio is typically set by default, and users can fine tune those settings in either our Provisioner setup or the SmartPBX app. KAZOO includes support for the most common audio formats. This audio information will be sent to the corresponding phone hardware so the two are synchronized.
Video and the KAZOO Platform
Video is optional as its transmission takes considerably more bandwidth and can lead to an additional charge to your account. To support independent control over video, the KAZOO platform transmits audio and video on separate ports for each call. In order for the sending and receiving devices to share video, they must both recognize the same CODECS data. This requires an intentional setup in both SmartPBX and the Provisioner app.
Enabling Video Calls
To use video, you will need to enable it for your devices in your user account. This is a two step process. Since the call origination device (whoever starts the call) is what picks the algorithm, or the “rules.” As your system will do both, you will need to provide available compression settings for both sending and receiving instances:
- Server to Phone (using SmartPBX) and
- Phone to Server (using Provisioner)
Below is an illustration summarizing the process.
Before you start
Confirm the video format(s) that are supported by your devices. The most common include H261, H263, H264 and VP8.
CONFIGURE VIDEO SETTINGS FOR SERVER → PHONE TRANSMISSION
This setting is defined in SmartPBX. Here you will define Server to Phone connections.
NOTE: If the two settings do not match you will get “incompatible destination” errors.
To set these preferences, go into SmartPBX
- Select the Device tab to the left.
Search for your device, and select the Edit icon to its right
From that dialog, select the Advanced Tab, and then Video from the drop-down menu.
You will see a screen that shows a list of video compression options. Drag the compression types you want to recognize to the Selected column.
By default, there will be no options in the Selected column. This effectively means video is not enabled.
To enable a video type, drag the compression style your devices support to the Selected column.
VP8 is currently the most popular, as its compression has the best results and there is no license fee related to it. Most newer devices prefer it for these reasons, so if your devices support it, it’s recommended you use it as your primary selection.
- You can move more than one codec to the Selected column, and drag them into a preferred priority.
You are now ready to move to the Provisioner app and configure the settings there.
CONFIGURE VIDEO SETTINGS FOR PHONE → SERVER TRANSMISSION
Define the settings for a Phone to Server video transmission in the Provisioner app.
This setting defines the transmission codec from the phone to the server.
Under the Devices tab, find your phone and select the Settings gear; Choose Configure.
Select the Codecs tab from the Blue Menu and review the video preferences.
- If Video selection isn’t visible, you’ll need to go back to SmartPBX and verify you saved your settings to turn it on.
- Even if the video is turned on, by default the selection here will be None.
- If you see a value for “Inherits”, this means the setting will carry down from your parent account.
- Your selection here MUST MATCH your selection in SmartPBX as you configured above.
- You can only select Primary, Secondary, and Tertiary types if you have moved each into the Selected column in SmartPBX.
- SAVE your settings!
SELECTING A TYPE OF CALL WHEN YOU DIAL
Some phones and web phones allow you to choose whether to make your call an audio-only or a video call. If you do not intend to share video this is a great way to save bandwidth and unnecessary usage fees.
On the Bria softphone
To the right of the phone # field, you will see a drop-down menu arrow. Select that to choose your phone call mode. If you choose video, a video “screen” will appear.
Yealink will ask for audio/video on your screen once you dial the number.
- It’s best to define your type of call at the beginning of your call. While some phones may provide a way to switch mid-call, this may interrupt the call integrity and cause reduced quality and/or a disconnect.
HOW KAZOO MANAGES VIDEO CALLS
Because video takes significant bandwidth and processing power to compress and decompress, KAZOO has set up dedicated servers to process video calls.
Once video is enabled, it typically is used as the default for every call.
- Newer devices may give you the option as the call is made (see above), so you can choose audio if you do not want to incur extra costs.
Older models have a configuration setting that can be set to “optional.” You will need to make sure this is set correctly in the back end configuration. Usually this can be found in the Provisioner app.
- If you turn on video on as a default in your device, all calls will include the video codec even if the receiver has no video capabilities. This is clearly a waste of bandwidth so it is recommended you find and enable an “optional” setting to trigger the setting for each call.
FREQUENTLY ASKED QUESTIONS : VIDEO SETUP
What devices does KAZOO support for video?
KAZOO supports any device that supports the CODEC options listed in the SmartPBX and Provisioner settings. Currently this includes H261, H263, H264, and VP8. This is typically provided as part of the device specifications.
Do I have to configure my comm.io video to use the conferencing there?
No. comm.io has automatically configured the video codec in its software. It should work without any added configuration.
When I try to use my video I get an error message that says “incompatible destination”.
This error is indicating that the CODEC algorithms on the sending and receiving devices do not match. You will need to review the settings for each device and add a matching CODEC in the configuration.
If I have vp8 set as primary and H263 set as tertiary on my sending device, and my receiving device only has H263 set, will the call connect?
Yes. As long as the codec has been moved to Selected in SmartPBX under your device, it won’t matter which is primary, secondary or tertiary. Those priorities will kick in only if multiple options exist. Typically it makes sense to select VP8 as the primary as it has the most efficient compression and therefore will likely incur less charges.
My device settings in Provisioner say “inherited”. Where from?
This references a parent account setting. If you have a hierarchy of accounts, it comes from the account, or reseller, or system defaults – whichever one is found first (in that order).
Does the order (primary, secondary, etc) of the video selection(s) I add in Smart PBX have to match the order I enter in Provisioner or do they just need to be enabled in both places?
As long as the codec has been moved to Selected in SmartPBX under your device, it won’t matter which is primary, secondary or tertiary. Those priorities will kick in only if multiple options exist.
Do I need to configure these settings for mobile phones?
Mobile phones are pre-configured for both audio and video. Phone browsers often choose a codec and then optimize it for best use of battery life and resolution for their device.
If you cannot see a video transmitted from a mobile phone on your desktop phone (or vice-versa, and you get a “Can’t play video - video codec not supported) it may be you need to configure the desktop so it supports the mobile phone video codec.
Below is what is currently supported:
Apple iPhones: H. 264 and their new format for Apple only, HEVC
Apple Safari: H. 264 and now also vp8 starting with Safari 12.1
Android Phones: H. 263 / H.264
There are apps available for each operating system that will convert and/or display files using other formats such as VLC Media Player; you can search for these in their app stores.
Why do some of my calls cause video errors and others don’t?
There are several reasons this could happen. Consider the following as a way to troubleshoot this:
Are the calls that are working internal calls within your office?
This may be related to your carrier configuration if you have a BYOC account. Refer to the Carrier section above.
Is the difference related to incoming v. outgoing calls?
Check your configuration and codec assignments in SmartPBX (server to device or incoming) and in Provisioner (device to server, or outgoing).
Is it specific to a device type?
In some cases a device does not support the video codecs you have configured and/or it may not support video at all, and your calls are sending video requests. Often these issues will provide an error saying “video not supported” or “incompatible destination.”
Does the KAZOO CallThru.us mobile app support this video process?
Not at this time.
Configuring Video for use on the KAZOO Platform
Billing Structure for Video Calls
Currently video is currently enabled for all accounts at no additional charge for our introductory beta rollout; once the product is officially released you will be charged $20/video channel. Once we have video call features (such as inviting external participants to video conferences) that significantly increase the video load we will add a setting to the Control Center to manage maximum channels -- similar to the trunking setting. This will mean account managers will be able to distribute charges in a similar manner.
How KAZOO detects video calls (back end SIP code)
Audio call request is shown in the gray section
Additional Video call request is shown below the added gray line
BYOC Carrier Configuration
If you are using your own carrier it is critical you also assign audio settings. If you do not, the system will assume your devices support both audio and video and will by default try to make video calls. As no 3rd party carriers are supporting video at this time this will cause
- Outbound calls made from a video phone to a carrier to fail.
- Calls within an office will work correctly.
To configure the carrier settings, go to the Carrier app. And select an account you have created or create a new account.
Then select Audio and add specific codecs. Continue with video, even though they are likely not supported.
Edited by Emily R (show revisions)