Asterisk 11.23.0 On CentOS6 : How To Get ICE Support ?

Home » Asterisk Users » Asterisk 11.23.0 On CentOS6 : How To Get ICE Support ?
Asterisk Users 18 Comments

Hello

I’m trying for several days now to get ICE support for my Asterisk 11.23
on CentOS 6.

My call setup : sipml5_webRTC (nat) –> public Asterisk on 178.18.90.230
–> softphone Zoiper
(problem : no audio)

Reverse does not work either.
(problem : failed get local SDP)

I followed this guide :

https://wiki.asterisk.org/wiki/display/AST/WebRTC+tutorial+using+SIPML5
https://wiki.asterisk.org/wiki/display/AST/Asterisk+WebRTC+Support

I researched on the web and found this useful thread :
http://forums.digium.com/viewtopic.php?f=1&t

18 thoughts on - Asterisk 11.23.0 On CentOS6 : How To Get ICE Support ?

  • Hello

    then why is there an option in sip.conf and rtp.conf ” icesupport=yes” ??

    This is no answer to my question.

    So again : what am I missing to get ICE support on my Asterisk 11.23.0 ??

    Kind regards.

  • I don’t see an ice-ufrag or ice-pwd line in the response from Asterisk, correlating with your suspicion that there is no ICE. Are you sure that the stun server you’re using (the google one) still works? I haven’t tried that server in a while, but I distantly seem to recall that maybe they shut it down.

    Asterisk 13 is a better place to be as well. Asterisk 11 hasn’t been feature updated in a while, and it could be that it could be a number of patches/fixes behind with regards to webrtc support, particularly with regards to interoperating with a modern browser version.

    Hope that helps, Matthew Fredrickson

  • Hello

    thank you for your answer.

    I don’t understand how there are many tutorials and examples on the web where every time the outcome is a working setup. Very strange I feel now after my personal experience with Asterisk 11 and webRTC.

    You also say Asterisk 13. How about Asterisk 12 then ??

    Kind regards.

  • My suggestion is to verify and debug against Asterisk 13 first, and then you can try backing down versions, rather than reverse. WebRTC
    is a rapidly moving target, and has required ongoing changes that may not have made it into older and feature frozen versions of Asterisk.

    Matthew Fredrickson

  • Hello

    Using Asterisk 12.8.2.

    I now have the “via ICE” messages in the RTP debug (see below).

    If you look in the SIP debug (see below), you also now see the
    “ice-ufrag” and “ice-pwd” in the 200 OK SIP-message from Asterisk to the webRTC client.

    But still no audio ! None at all ! In both directions.

    You can see in the SIP debug that the IP-address in de SDP-body is correctly set for sending audio. So I don’t think it is a NAT/ICE problem.

    Can anyone tell me then what is left that could be causing the
    ‘no-audio’ problem ??

    SIP debug :

    [Aug 11 15:53:47] <--- SIP read from WS:178.119.146.190:60191 --->
    [Aug 11 15:53:47] INVITE sip:419@178.18.90.230 SIP/2.0
    [Aug 11 15:53:47] Via: SIP/2.0/WSS
    df7jal23ls0d.invalid;branch=z9hG4bKSqKu6K3uxr3dOFdU5WAtPM5tKKA5yzAq;rport
    [Aug 11 15:53:47] From:
    ;tag=SGUVL1LMdvxQrUfxprZJ
    [Aug 11 15:53:47] To:
    [Aug 11 15:53:47] Contact:
    ;+g.oma.sip-im;language=”en,fr”
    [Aug 11 15:53:47] Call-ID: 47ca4cc9-9dce-4449-d58f-e069a67061ec
    [Aug 11 15:53:47] CSeq: 58874 INVITE
    [Aug 11 15:53:47] Content-Type: application/sdp
    [Aug 11 15:53:47] Content-Length: 2301
    [Aug 11 15:53:47] Max-Forwards: 70
    [Aug 11 15:53:47] Authorization: Digest username=”770000wrtc”,realm=”178.18.90.230″,nonce=”5d5c700b”,uri=”sip:419@178.18.90.230″,response=”ca118222a4674b4c6dcc19dd95e00c15″,algorithm=MD5
    [Aug 11 15:53:47] User-Agent: IM-client/OMA1.0 sipML5-v1.2016.03.04
    [Aug 11 15:53:47] Organization: Doubango Telecom
    [Aug 11 15:53:47]
    [Aug 11 15:53:47] v=0
    [Aug 11 15:53:47] o=- 5876454736929512000 2 IN IP4 127.0.0.1
    [Aug 11 15:53:47] s=Doubango Telecom – chrome
    [Aug 11 15:53:47] t=0 0
    [Aug 11 15:53:47] a=group:BUNDLE audio
    [Aug 11 15:53:47] a=msid-semantic: WMS kBwsfCPizGNiVjZS23dGoTNcUubDMMhxXrka
    [Aug 11 15:53:47] m=audio 63897 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106
    105 13 126
    [Aug 11 15:53:47] c=IN IP4 178.119.146.190
    [Aug 11 15:53:47] a=rtcp:63899 IN IP4 178.119.146.190
    [Aug 11 15:53:47] a

  • I’m genuinely fascinated why you are insisting on using a version of Asterisk almost 3 years old, for which EOL support ended last year.

    Is there any particular reason you cannot or will not use the current version as others have suggested?

    Also, I see you are using Doubango and WebRTC, but in the logs, I see WS
    and WSS.

    You NEED to be using 100% WSS otherwise you’ve not got a hope in hell of anything working with WEBRTC. Check the console of the web browser you are trying to make the call from
    (CTRL-SHIFT-I in Chrome on Windows, for example).

    Also, you’ll need to be using valid certificates – self-signed certificates won’t work for any current implementation of WebRTC that I know of, certainly not if anything involves current versions of Chrome or Firefox. That said, LetsEncrypt certs work fine for this, so no need to spend out on one.

    Switch to Asterisk 13.10 and save yourself a whole lotta headache.

  • My main reason not to upgrade to Ast 13 is because I’m afraid of losing functionality as there are certain functions deprecated/replaced. This can also cause headache 🙂

    I will do so if there is no other option.

    But still, I don’t see why Ast 13 would differ so much in this case ? If ICE and NAT is working (not causing problems) why should Ast 13 bring me audio and Ast 12 don’t ??

    I indeed use SIPML5 demo as quick test-case. So do many tutorials on the web.

    Self-signed certificates should be OK as long as they are imported in the browser. Never knew this could cause audio problems ?

    Kind regards.

  • If you want to minimize grief, start with 13 – WebRTC has been a moving target for the last 5 years, it is not an old, mature standard like ISDN or SIP. If you find interop problems in an older version of Asterisk with WebRTC, it’s likely that it has been fixed in 13, and if it hasn’t the most likely place to obtain the fix will be in 13.

    After you get the WebRTC part working, then you can move back the versions of Asterisk you’re using to see if it still works.

    As far as ICE not working goes, if the browser you’re talking to is not on the same network as the Asterisk server, it’s *possible* you might need a true TURN server as well, instead of just an ICE server.

    Matthew Fredrickson

  • What in particular?

    Any longer, Asterisk is *very* conservative with functionality that is removed. Given that Asterisk 13 is simply the evolution and refinement of the architecture introduced in Asterisk 12, I would not expect there to be any major differences moving from 12 to 13.

    Asterisk 13 has a lot more bug fixes than Asterisk 12. Asterisk 12 is no longer actively supported.

    Supported timelines for versions are available on the wiki:

    https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions

  • Matthew

    when I set the following in rtp.conf :

    turnaddr2.158.29.39:3478?transport=udp turnusername(224511:1379330808
    turnpassword=JZEOEt2V3Qb0y27GRntt2u2PAYA

    then Asterisk 12 gets really slow and sometimes unresponsive. Calls result in 480 request timeout (possibly due to the freeze of Asterisk).

    So this is also no solution.

    Can not even test if it brings me some audio in my webRTC calls.

    (putting the above lines back in comment resolves the issue of Asterisk freeze. This is all EXTREMELY BUGGY !)

    Asterisk 13 here I come (with very high expectations).

    Kind regards.

  • Hello

    setting “nat=no” or omitting “nat=” in peer definition does not help either. Still no audio.

    Why do you think this is a NAT issue ? IP and port information in SDP-body is correct.

    Kind regards.

  • Question : I noticed I received an error when installing pjproject
    –with-external-srtp

    I do not seems to have the srtp capability.
    (However I can easily install with “yum install libsrtp-devel”)

    Can this have anything to do with the no-audio-problems that I’m having ??

    Kind regards.

  • Jonas Kellens wrote:

    WebRTC requires SRTP and Asterisk has to be built with it enabled. It’s okay if pjproject doesn’t as we don’t use their media layer. Do you have the res_srtp module in Asterisk?

  • Hello

    Package libsrtp-devel-1.5.4-3.el6.x86_64 already installed and latest version Package libsrtp-1.5.4-3.el6.x86_64 already installed and latest version

    However, I am not able to select res_srtp module in menuselect. It says XXX res_srtp module

    Kind regards.

  • Hello

    running into several problems when installing asterisk-certified-13.8-cert1 (more then I ever had in Asterisk 11 and 12).

    I compile : ./configure –libdir=/usr/lib64 –with-pjproject-bundled

    First, I do not seem to have res_srtp module available, although all necessary libs are present on the system

    Second, I am not able to start Asterisk with following error :
    “/usr/sbin/asterisk: error while loading shared libraries: libpj.so.2:
    cannot open shared object file: No such file or directory”

    Help appreciated.

    Kind regards.

  • Hello

    I’ve succeeded in installing Asterisk 13 and more important : I can make webRTC call and I have audio !!

    For those on the search like myself, I want to spare some weeks of headache.

    My steps (CentOS 6.8) :

    yum install uuid-devel libuuid-devel autoconf patch automake libcurl-devel libogg-devel libvorbis-devel speex-devel popt-devel libtool-ltdl-devel libresample-devel gsm-devel libedit-devel python-devel jansson-devel binutils-devel

    wget http://www.pjsip.org/release/2.5.5/pjproject-2.5.5.tar.bz2
    tar -xjvf pjproject-2.5.5.tar.bz2
    ./configure CFLAGS=”-DNDEBUG -DPJ_HAS_IPV6=1″ –prefix=/usr
    –libdir=/usr/lib64 –enable-shared –disable-video –disable-sound
    –disable-opencore-amr make dep make make install ldconfig -p | grep pj ldconfig

    wget http://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-13.8-current.tar.gz
    [root@siptest asterisk-certified-13.8-cert1]# ./configure
    –libdir=/usr/lib64
    [root@siptest asterisk-certified-13.8-cert1]# make menuselect
    [root@siptest asterisk-certified-13.8-cert1]# make && make install

    Forget the option “–with-pjproject-bundled” I would say. Did not work for me on : CentOS release 6.8 (Final)

    Kind regards.