Reference11r1:Concept myPBX Video
From version 10 the myPBX launcher can add a video codec to innovaphone hardware and software phones.
How it works
- myPBX video adds an H.264 video codec to innovaphone hardware and software phones.
- The video codec is part of the myPBX launcher and uses the webcam, windows for H.264 encoding and graphic card of the computer for H.264 decoding. If the graphic does not support H.264, which would be uncommon, windows will be used for the decoding process. Windows is not used by default because its decoder introduces a long delay (1-2 sec.), unacceptable for a video call. This delay is not present in Windows 8.
- Default resolution is 352x288
- myPBX checks the resolution supported by the webcam. If available, 352x288 is used. Otherwise, 320x240
- likewise is done for the frame rate: if available, 30 fps is used, if not 15 fps
- The windows h264 encoder is configured to deliver an average data rate of 250 kbps.
- The video codec communicates with the phone using SOAP over Websocket. Once it is connected the phone negotiates video calls.
- The endpoint for video streams is the video codec on the computer. The endpoint for audio streams is still the audio codec on the phone.
- Recent firmware (v11 or higher)
- myPBX license (enabled at the user object)
- Video license (enabled at the user object)
Note: The video license information must be available in the PBX at the time of the registration of the phone.
- innovaphone hardware phone with recent firmware (v11 or higher) (not for DECT phones like IP61, IP62, IP63)
- innovaphone software phone (v11 or higher)
- myPBX launcher (v11 or higher)
- Windows 7
- .NET 4
- Graphics card with H.264 hardware support (otherwise video will be shown with delay)
The video codec uses UDP ports starting from 50000.
In the following, it is assumed that the user already has a phone configured and myPBX running.
- Enable the video license on the user object.
While there is no need for a specific configuration on the phone to make myPBX Video work, you must make sure that the myPBX launcher (that is, the PC running myPBX) can establish an HTTP(S) connection to the users phone.
This can be a challenge if the site has separated voice (phone) and data (PC) networks. Also, when you set the Allowed stations restriction ion Services/HTTP you must make sure that the PC running the myPBX launcher is still allowed. Failure to do so will result in non-functional video/app-sharing service. Also, it will impose increased CPU load on the PBX cause the launcher will constantly retry the connection attempt and query the PBX for the phone's address for each attempt. Especially when using HTTPS, this can create substantial load on the PBX.
- Enable video telephony
- Configure a default call type (e.g. Audio-video)
- If needed, configure a proxy server (ip-address:port) for connecting to the phone. Otherwise leave the field empty.
If the launcher is connected to the selected phone, a camera button shows up in the web application next to the selected phone.
Clicking the button activates or deactivates video. When the call is terminated, the button is reset to the default setting, given by the default call type configured in the launcher.
From version 11 media escalation and one-way video is supported. That means that the user can add and remove video during a phone call. Adding video only activates sending the own video image. Deactivating video deactivates both directions.
When there is a video call, the launcher activates the webcam of the PC and opens a window showing your own image and the image of the remote party. If you hang up the window is closed and the webcam is deactivated.
Three-party video conference
myPBX supports three-party video conferences without an external MCU. The mixing of video streams is done at the computer starting the conference. Since the video rate is not very high and the maximum resolution used by myPBX is 352x288 any computer should handle this operation properly.
If video doesn't work please check the following for both the caller and the callee.
- The user has an activated video or UC license.
- Only one myPBX instance is running for the user.
- Only one phone is registered to the selected device of the user.
- Video and application sharing is activated in the configuration of the myPBX launcher.
- The right phone is selected in myPBX.
Also check the myPBX trace for error messages.
Error messages in the myPBX trace
Here are some hints what might be the reason for error messages that occur in the myPBX trace.
RemoteMediaConnection(video): Connection failed (websocket error CouldNotDetermineLocalAddress) RemoteVideoCodec: RemoteMediaChannel failed (invalid local address)
Is the websocket connection blocked by an anti-virus software or a personal firewall? Try deactivating it for a test. Configure exceptions/permissions for myPBX, if needed.
RemoteMediaConnection(video): Connection failed (websocket error AuthenticationFailed)
Is another instance of myPBX launcher connected to that phone? Only one instance is allowed at a time.
RemoteMediaConnection(video): ConnectFailed (No registration at device XYZ)
No phone is registered to the selected device. Register a phone or select a different device in myPBX.
RemoteMediaConnection(video): ConnectFailed (Not supported or unlicensed on device XYZ)
The selected phone does not support remote video. Old firmware? Third-party product? No video license? Video license not activated at the user object?
Media relay disables Video
myPBX Video-Calls does not work if at PBX "Media Relay" is set to ON or it is set to AUTO and media-relay is selected.
Some antivirus are blocking websocket connection and therefore it is necessary to add an exception for myPBX application. If you are having this problem myPBX gets the loopback address as local address. You should see local address 127.0.0.1 in myPBX trace log.
- Avast! you should add myPBX under "Web Shield/Expert Settings/Exclusions/Processes to exclude"
- Kapsersky-Antivirus. You should add myPBX under "Einstellungen/Vertrauenswürdige Zone/Vertrauenswürdige Anwendungen/ hinzufügen"
Integrated Webcam in Dell Vostro Laptops
MyPbx/Pc crashes when using the integrated webcam. External ones are ok.
- The problem at our side was caused by the software Dell Webcam Central, apparently installed by default in this laptop model. Please uninstall this software if you encounter any problem with the integrated webcam.
Webcam support under Media Foundation from Microsoft
According to Microsoft ( http://msdn.microsoft.com/en-us/library/windows/desktop/bb970511(v=vs.85).aspx ) only webcams that support UVC1.1 (USB Video Class) will work under Media Foundation.
So far we only found problems with a Wireless Webcam from Logilink/Technaxx.
Third party video phones must be registered using SIP. Video is not supported for non-innovaphone devices that are registered using H.323.
Microsoft Update for the Windows 7 h264 decoder
The video card is used for h264 decoding because the Windows h264 decoder in Windows 7 introduces a delay of about 1 sec.
Microsoft released in February a platform update for Windows 7 which includes a fix for this issue.
In this document it is mentioned that the update "improves the features and performance of the following components" and one of them is the "H.264 Video Decoder".
The only problem is that there maybe some incompatibilities with some systems. So please, read the document carefully before installing it.
This update would only be necessary for those whose video card does not support h264 decoding and therefore experience the delay in the incoming video stream.
CISCO Adaptive Security Appliance
Enabled IP-Compression (ip-comp) can cause problems related to video transmission. If you don't have remote users which connected with modem, this feature can be normaly disabled.