Webrtc not working on new install

Hi,

Webrtc extention 32 is showing in the user portal. When connecting i see

== WebSocket connection from ‘192.168.2.27:55222’ for protocol ‘sip’ accepted using version ‘13’
– Registered SIP ‘9932’ at 192.168.2.27:55222

when i try to make a call from the webrtc nothing happens, no messages in the log (asterisk -vvvvvvvvvr)

When i try to call from sip phone 31 to the the webrtc extension 32 i get
[2014-07-03 17:48:31] WARNING[5570][C-00000003]: app_dial.c:2437 dial_exec_full: Unable to create channel of type ‘SIP’ (cause 20 - Subscriber absent)

This is a fresh install (Stable-5.211.65-14, Release Date-06-13-14, FreePBX 2.11, Linux 6.5, Asterisk 1.8 or 11)
i created 2 extentions, 31 and 32
both have a voicemail password (the passwords are 31 and 32)
both have webrtc enabled

Any idea?
tnx in advance!
jst.

WebRTC does not work currently. There are no workarounds.

Tnx for the answer, tm1000

What page should i follow to know when it is working?

tnx!
jst.

I will announce it on the forums when it’s working again, also follow this ticket:

http://issues.freepbx.org/browse/FREEPBX-7539

Furthermore it will never work in Asterisk 1.8, it must be Asterisk 11 or higher. Those are the rules.

@tm1000
Hi Andrew,
Others on the net claim that webRTC is working with Asterisk 11.11. Since the FreePBX 5.211.65-15 has this version of Asterisk, it should be working now. Or is it not? Is this not working state due to FreePBX related issues or due to something else?
Kbeq.

Yes it works in those versions which is why I said I would “announce” it when it’s ready. Asterisk 11.11 and 12.4.0 support it but only with DTLS enabled on said extensions and the right settings for either chan_sip or pjsip. I have completed the work on WebRTC for FreePBX for both chan_sip and pjsip but it is not officially released few reasons:

First being that the work I’ve done for WebRTC will only be available for FreePBX 12, I will not be downgrading it. That’s because I had to write a certificate manager for FreePBX because WebRTC now requires encrypted calls to be placed with certificates in place, which is great if you are using Firefox because now both firefox and chrome work (with stipulations), but again I only wrote that for FreePBX 12.

Secondly I wrote a whole new WebRTC interface for UCP which is only in 12, I am no longer working on the ARI counterpart.

Thirdly, what users (like yourself) don’t seem to understand is how bug laden WebRTC really is. People think it will just magically work, but I’m here to tell you that isn’t true.

First off, if you are using Chrome you won’t be able to make outbound calls outside of your pbx if you also want the ability to place calls on hold (see: 3530 - webrtc - Web-based real-time communication - Monorail)

If you decide to use FireFox instead then you won’t be able to place calls on hold at all (see: Add SIP hold / retrieve mechanics to the Session · Issue #46 · versatica/JsSIP · GitHub and 840728 - Implement advanced RTCPeerConnection session handling)

I am up in the air about what to do. If I release WebRTC to the general public I will be faced with these questions daily whereas people won’t understand how to use it. Otherwise I just remove the hold functionality until it works correctly in both browsers but that means you can’t place a call on hold, transfer or do anything cool. Perhaps I will release both but I am not sure. For certain I will remove the hold functionality from Firefox, if I remove the hold functionality from Chrome as well then the bug (mentioned above) won’t be a problem.

I honestly believe that the people who use or talk about WebRTC (the SIP spec) online right now aren’t trying to do fancy things like place calls on hold (yes that is a “fancy” thing in WebRTC world) or call waiting/swapping, they are just making a simple interface ring and saying “oh look it works, cool” or providing an interface for two people to talk to each other over a webpage without a pbx in the middle, not the things you’d expect in an enterprise phone system, but these are just my opinions.

Work on the FreePBX version of webrtc is ongoing, you can see the progress here: GitHub - FreePBX/webrtc: Module of FreePBX (WebRTC Phone) :: The WebRTC Module allows an Administrator to enable a "WebRTC phone" that can be attached to a user's extension which they can connect to through FreePBX User Control Panel, this WebRTC phone will then receive phone calls at the same time as the users extension using user and device mode behind the scenes. If you have User and Device Mode enabled any extension you enable the WebRTC Phone a duplicate extension of 99XXXX will be created (where XXXX is the original extension number), when the user then views the web interface of the WebRTC phone they will be connected to device 99XXXX which will receive calls from the original extension

My question to you is thus: What do you expect from FreePBX in terms of WebRTC? Are you building your own interface or using ours?

Here’s what it looks like in UCP right now (and yes it works, these are not mockups)

1 Like

@tm1000,

First and really first of all, I appreciate and say thanks for giving this detailed info on research and effort that are currently going on.

I am aware of the current bugs and limitation of WebRTC in overmentioned browsers. But here it is, my use case (at least for now) do not cover those scenarios, like fancy stuff as holding the call etc., and I am interested only in inbound calls.

I have my own interface / web client and I manage dtls settings for extensions in custom sip configuration. I just misunderstood the OP’s question; while reading it I missed the “Webrtc extention 32 is showing in the user portal” part. So while it was about FreePBX webRTC module, I thought it was webRTC integration of FreePBX.

I support the idea of disabling “hold” button with the reasoning info message.
Now, I will look into WebRTC-UCP module. Thanks!

WEBRTC was working fine on UBUNTU 14.04 LTS (kernel 3.10.0 #41 running on armv71), asterisk 12.8.0-rc2 and freepbx 12.0.26.
The moment I issued “apt-get upgrade” the webrtc is not passing voice anymore. No error messages .
Login to the ucp works well, calling in/out works but no voice.
My phone is showing that no codec negotiation was performed. It cannot be a nat problem as the configuration are still the same before the upgrade.
I do not know what dependencies were upgraded , I need the list so that I can downgrade them so I get my system back in action.

For those trying to build asterisk 12 and 13 after Jan 8/2015 the webrtc will not pass voice as the command “./contrib/scripts/install_prereq install” is installing the new version of those and therefore the webrtc cannot work with them.

Thank you for sharing some info on how to fix this issue.

Follow up on my previous post, the following are the packages that were upgraded , which after the Webrtc stopped passing voice.
I hope someone can point to the package that caused the problem and how can we revert back ?

Inst coreutils [8.21-1ubuntu5] (8.21-1ubuntu5.1 Ubuntu:14.04/trusty-updates [armhf])
Inst libc6-dev [2.19-0ubuntu6.4] (2.19-0ubuntu6.5 Ubuntu:14.04/trusty-updates [armhf]) []
Inst libc-dev-bin [2.19-0ubuntu6.4] (2.19-0ubuntu6.5 Ubuntu:14.04/trusty-updates [armhf]) []
Inst linux-libc-dev [3.13.0-43.72] (3.13.0-44.73 Ubuntu:14.04/trusty-updates [armhf]) []
Inst libc-bin [2.19-0ubuntu6.4] (2.19-0ubuntu6.5 Ubuntu:14.04/trusty-updates [armhf]) []
Inst libc6 [2.19-0ubuntu6.4] (2.19-0ubuntu6.5 Ubuntu:14.04/trusty-updates [armhf])
Inst libssl-doc [1.0.1f-1ubuntu2.7] (1.0.1f-1ubuntu2.8 Ubuntu:14.04/trusty-updates [all])
Inst libssl-dev [1.0.1f-1ubuntu2.7] (1.0.1f-1ubuntu2.8 Ubuntu:14.04/trusty-updates [armhf]) []
Inst libssl1.0.0 [1.0.1f-1ubuntu2.7] (1.0.1f-1ubuntu2.8 Ubuntu:14.04/trusty-updates [armhf])
Inst libcurl3-gnutls [7.35.0-1ubuntu2.2] (7.35.0-1ubuntu2.3 Ubuntu:14.04/trusty-updates [armhf])
Inst libcairo2-dev [1.13.0~20140204-0ubuntu1] (1.13.0~20140204-0ubuntu1.1 Ubuntu:14.04/trusty-updates [armhf]) []
Inst libcairo2 [1.13.0~20140204-0ubuntu1] (1.13.0~20140204-0ubuntu1.1 Ubuntu:14.04/trusty-updates [armhf]) []
Inst libcairo-script-interpreter2 [1.13.0~20140204-0ubuntu1] (1.13.0~20140204-0ubuntu1.1 Ubuntu:14.04/trusty-updates [armhf]) []
Inst libcairo-gobject2 [1.13.0~20140204-0ubuntu1] (1.13.0~20140204-0ubuntu1.1 Ubuntu:14.04/trusty-updates [armhf])
Inst curl [7.35.0-1ubuntu2.2] (7.35.0-1ubuntu2.3 Ubuntu:14.04/trusty-updates [armhf]) []
Inst libcurl4-openssl-dev [7.35.0-1ubuntu2.2] (7.35.0-1ubuntu2.3 Ubuntu:14.04/trusty-updates [armhf]) []
Inst libcurl3 [7.35.0-1ubuntu2.2] (7.35.0-1ubuntu2.3 Ubuntu:14.04/trusty-updates [armhf])
Inst libgl1-mesa-glx [10.1.3-0ubuntu0.2] (10.1.3-0ubuntu0.3 Ubuntu:14.04/trusty-updates [armhf]) []
Inst libglapi-mesa [10.1.3-0ubuntu0.2] (10.1.3-0ubuntu0.3 Ubuntu:14.04/trusty-updates [armhf])
Inst libgtk-3-common [3.10.8-0ubuntu1.3] (3.10.8-0ubuntu1.4 Ubuntu:14.04/trusty-updates [all])
Inst libgtk-3-0 [3.10.8-0ubuntu1.3] (3.10.8-0ubuntu1.4 Ubuntu:14.04/trusty-updates [armhf])
Inst mysql-common [5.5.40-0ubuntu0.14.04.1] (5.5.41-0ubuntu0.14.04.1 Ubuntu:14.04/trusty-updates [all])
Inst mysql-server [5.5.40-0ubuntu0.14.04.1] (5.5.41-0ubuntu0.14.04.1 Ubuntu:14.04/trusty-updates [all])
Inst mysql-server-5.5 [5.5.40-0ubuntu0.14.04.1] (5.5.41-0ubuntu0.14.04.1 Ubuntu:14.04/trusty-updates [armhf]) []
Inst mysql-client [5.5.40-0ubuntu0.14.04.1] (5.5.41-0ubuntu0.14.04.1 Ubuntu:14.04/trusty-updates [all]) []
Inst mysql-client-5.5 [5.5.40-0ubuntu0.14.04.1] (5.5.41-0ubuntu0.14.04.1 Ubuntu:14.04/trusty-updates [armhf]) []
Inst mysql-client-core-5.5 [5.5.40-0ubuntu0.14.04.1] (5.5.41-0ubuntu0.14.04.1 Ubuntu:14.04/trusty-updates [armhf]) []
Inst mysql-server-core-5.5 [5.5.40-0ubuntu0.14.04.1] (5.5.41-0ubuntu0.14.04.1 Ubuntu:14.04/trusty-updates [armhf])
Inst libmysqlclient-dev [5.5.40-0ubuntu0.14.04.1] (5.5.41-0ubuntu0.14.04.1 Ubuntu:14.04/trusty-updates [armhf]) []
Inst libmysqlclient18 [5.5.40-0ubuntu0.14.04.1] (5.5.41-0ubuntu0.14.04.1 Ubuntu:14.04/trusty-updates [armhf])
Inst multiarch-support [2.19-0ubuntu6.4] (2.19-0ubuntu6.5 Ubuntu:14.04/trusty-updates [armhf])
Inst cpio [2.11+dfsg-1ubuntu1] (2.11+dfsg-1ubuntu1.1 Ubuntu:14.04/trusty-updates [armhf])
Inst libcgmanager0 [0.24-0ubuntu7.1] (0.24-0ubuntu7.2 Ubuntu:14.04/trusty-updates [armhf])
Inst openssl [1.0.1f-1ubuntu2.7] (1.0.1f-1ubuntu2.8 Ubuntu:14.04/trusty-updates [armhf])
Inst python-apt-common [0.9.3.5] (0.9.3.5ubuntu1 Ubuntu:14.04/trusty-updates [all])
Inst python3-apt [0.9.3.5] (0.9.3.5ubuntu1 Ubuntu:14.04/trusty-updates [armhf])
Inst git-man [1:1.9.1-1] (1:1.9.1-1ubuntu0.1 Ubuntu:14.04/trusty-updates [all])
Inst git [1:1.9.1-1] (1:1.9.1-1ubuntu0.1 Ubuntu:14.04/trusty-updates [armhf])
Inst git-core [1:1.9.1-1] (1:1.9.1-1ubuntu0.1 Ubuntu:14.04/trusty-updates [all])
Inst libgtk-3-bin [3.10.8-0ubuntu1.3] (3.10.8-0ubuntu1.4 Ubuntu:14.04/trusty-updates [armhf])
Inst python-apt [0.9.3.5] (0.9.3.5ubuntu1 Ubuntu:14.04/trusty-updates [armhf])
Inst unzip [6.0-9ubuntu1] (6.0-9ubuntu1.1 Ubuntu:14.04/trusty-updates [armhf])