PJSIP – Video Support For WebRTC

Home » Asterisk Users » PJSIP – Video Support For WebRTC
Asterisk Users 3 Comments

Hey i have an interesting topic to discuss here.

The main goal here is to be able to make a video call between two WebRTC endpoints registered on asterisk 13 it is a feature that definitely asterisk 13 should support .

the problems that i faced with this is the following and i hope i could get an advise here.

asterisk 13 vanilla version has some issues marking the video packets this complain web browser specially VP8 codecs so a friend of mine help me to patch res_rtp_asterisk and now asterisk is marking video streams 🙂 it just mark video packets not touch anything else and web browser show video on web page now I’m using online demo http://tryit.jssip.net/ is stable and get more updates than sipml5. so i try echo() dialplan test and everything work perfect on echo test :).

i have two questions and i hope you could give me some advise.

1) after marking video packet I’m able to make Dial() between two webrtc peers but i get one way audio and video on callee party, “after 3 minutes on call” i get two way audio and video on all parties seems to be not just a problem on a missing keyframe.

1.1) the 3 minutes delay only happen using chrome stable , could be a dtls problem when asterisk make an offer to other endpoint?
1.2) when i use chrome-dev and i disable dlts encryption everything work perfect on video call.

2) after marking video packets i realize that when you make a call with video and you involve on dialplan an application like playback or music on hold any application that played audio files (audio and video never work).

2.1) asterisk is muggling the audio and video streams ?

This is good information for all guys out there that wants to support video on webrtc in asterisk 13

Javier Riveros

3 thoughts on - PJSIP – Video Support For WebRTC

  • Please stop spamming the list with this e-mail. Resending it multiple times is clearly not yielding the results you’d like.


    Matthew Jordan Digium, Inc. | Director of Technology
    445 Jan Davis Drive NW – Huntsville, AL 35806 – USA
    Check us out at: http://digium.com & http://asterisk.org

  • Matthew Jordan digium.com> writes:

    wrote:
    WebRTC endpoints registered on asterisk 13
    could get an advise here. packets this complain web browser res_rtp_asterisk and now asterisk is marking and web browser show video on web page more updates than sipml5. so i try webrtc peers but i get one way audio and and video on all parties seems to be a dtls problem when asterisk make an work perfect on video call. with video and you involve on dialplan an played audio files (audio and video never work). support video on webrtc in asterisk 13

    Hi Matthew, I’m testing WebRTC (JSSIP) with Asterisk 12.8 after following the https://wiki.asterisk.org/wiki/display/AST/Asterisk+WebRTC+Support link. Using Firefox, I can connect both JSSIP Clients to asterisk. When I Call one Client, the Client just Ring One Time and after pick up a receive WebRTC error on the Firefox browser. Here is my asterisk sip debug:

    < --- SIP read from WS:192.168.2.103:49851 ---> INVITE
    sip:6000@192.168.2.106 SIP/2.0
    Via: SIP/2.0/WS 0iemcrsq9tm0.invalid;branch=z9hG4bK8394689
    Max-Forwards: 69
    To:
    From: “6001” ;tag=m6bqn333dr Call-ID: 1ansppdrpdulbtr3j5ub CSeq: 6407 INVITE
    X-Can-Renegotiate: false Contact:
    Content-Type: application/sdp Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO
    Supported: ice,replaces,outbound User-Agent: JsSIP 2.0.2
    Content-Length: 3158

    v=0
    o=mozilla…THIS_IS_SDPARTA-47.0.1 5760840281459352758 0 IN IP4 0.0.0.0
    s=-
    t=0 0
    a=sendrecv a=fingerprint:sha-256
    E8:B7:2A:C2:DF:8B:AA:74:E6:D6:93:1C:68:88:81:39:82:C2:31:45:3D:8C:23:DF:
    C1:23:72:03:F6:61:CC:F6
    a=group:BUNDLE sdparta_0 sdparta_1
    a=ice-options:trickle a=msid-semantic:WMS *
    m=audio 56808 UDP/TLS/RTP/SAVPF 109 9 0 8 c=IN IP4 87.169.189.102
    a=candidate:0 1 UDP 2122187007 2003:88:6908:7659:3dbc:5101:33ff:d07a
    56806 typ host a=candidate:2 1 UDP 2122121471 2003:88:6908:7659:6113:7316:1ebc:43fa
    56807 typ host a=candidate:4 1 UDP 2122055935 192.168.2.103 56808 typ host a=candidate:6 1 UDP 2122252543 192.168.56.1 56809 typ host a=candidate:0
    2 UDP 2122187006 2003:88:6908:7659:3dbc:5101:33ff:d07a
    56810 typ host a=candidate:2 2 UDP 2122121470 2003:88:6908:7659:6113:7316:1ebc:43fa
    56811 typ host a=candidate:4 2 UDP 2122055934 192.168.2.103 56812 typ host a=candidate:6 2 UDP 2122252542 192.168.56.1 56813 typ host a=candidate:5 1 UDP 1685856255 87.169.189.102 56808 typ srflx raddr
    192.168.2.103 rport 56808
    a=candidate:5 2 UDP 1685856254 87.169.189.102 56812 typ srflx raddr
    192.168.2.103 rport 56812
    a=sendrecv a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=fmtp:109 maxplaybackrate=48000;stereo=1 a=ice-
    pwd:138f583004cb3079134e8e8f20dac36f a=ice-ufrag:0941ac54
    a=mid:sdparta_0
    a=msid:{fb724d76-44fe-4e7d-a8d8-e4c00b4b57fe}
    {bba6da45-42c8-4529-8f4b-046cffcdc40d}
    a=rtcp:56812 IN IP4 87.169.189.102
    a=rtcp-mux a=rtpmap:109 opus/48000/2
    a=rtpmap:9 G722/8000/1
    a=rtpmap:0 PCMU/8000
    a=rtpmap:8 PCMA/8000
    a=setup:actpass a=ssrc:540714091 cname:{ecde75c0-993f-44af-b136-8944915fe31c}
    m=video 56816 UDP/TLS/RTP/SAVPF 120 126 97 c=IN IP4 87.169.189.102
    a=candidate:0 1 UDP 2122187007 2003:88:6908:7659:3dbc:5101:33ff:d07a
    56814 typ host a=candidate:2 1 UDP 2122121471 2003:88:6908:7659:6113:7316:1ebc:43fa
    56815 typ host a=candidate:4 1 UDP 2122055935 192.168.2.103 56816 typ host a=candidate:6 1 UDP 2122252543 192.168.56.1 60290 typ host a=candidate:0
    2 UDP 2122187006 2003:88:6908:7659:3dbc:5101:33ff:d07a
    60291 typ host a=candidate:2 2 UDP 2122121470 2003:88:6908:7659:6113:7316:1ebc:43fa
    60292 typ host a=candidate:4 2 UDP 2122055934 192.168.2.103 64504 typ host a=candidate:6 2 UDP 2122252542 192.168.56.1 64505 typ host a=candidate:5 1 UDP 1685856255 87.169.189.102 56816 typ srflx raddr
    192.168.2.103 rport 56816
    a=candidate:5 2 UDP 1685856254 87.169.189.102 64504 typ srflx raddr
    192.168.2.103 rport 64504
    a=recvonly a=fmtp:120 max-fs=12288;max-fr=60
    a=fmtp:126
    profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1
    a=fmtp:97 profile-level-id=42e01f;level-asymmetry-allowed=1
    a=ice-pwd:138f583004cb3079134e8e8f20dac36f a=ice-ufrag:0941ac54
    a=mid:sdparta_1
    a=rtcp:64504 IN IP4 87.169.189.102
    a=rtcp-fb:120 nack a=rtcp-fb:120 nack pli a=rtcp-fb:120 ccm fir a=rtcp-fb:126 nack a=rtcp-fb:126 nack pli a=rtcp-fb:126 ccm fir a=rtcp-fb:97 nack a=rtcp-fb:97 nack pli a=rtcp-fb:97 ccm fir a=rtcp-mux a=rtpmap:120 VP8/90000
    a=rtpmap:126 H264/90000
    a=rtpmap:97 H264/90000
    a=setup:actpass a=ssrc:3124982 cname:{ecde75c0-993f-44af-b136-8944915fe31c}
    < ------------->
    — (14 headers 71 lines) —
    Using INVITE request as basis request – 1ansppdrpdulbtr3j5ub Found peer
    ‘6001’ for ‘6001’ from 192.168.2.103:49851

    < --- Reliably Transmitting (NAT) to 192.168.2.103:49851 ---> SIP/2.0 401
    Unauthorized Via: SIP/2.0/WS
    0iemcrsq9tm0.invalid;branch=z9hG4bK8394689;received=192.168.2.103;rport=
    49851
    From: “6001” ;tag=m6bqn333dr To: ;tag=as28bc71f3
    Call-ID: 1ansppdrpdulbtr3j5ub CSeq: 6407 INVITE
    Server: Asterisk PBX 12.8.2
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
    Supported: replaces, timer WWW-Authenticate: Digest algorithm=MD5, realm=”192.168.2.106″, nonce=”69dcc467″
    Content-Length: 0

    < ------------>
    Scheduling destruction of SIP dialog ‘1ansppdrpdulbtr3j5ub’ in 32000 ms
    (Method: INVITE)

    < --- SIP read from WS:192.168.2.103:49851 ---> ACK
    sip:6000@192.168.2.106 SIP/2.0
    Via: SIP/2.0/WS 0iemcrsq9tm0.invalid;branch=z9hG4bK8394689
    To: ;tag=as28bc71f3
    From: “6001” ;tag=m6bqn333dr Call-ID: 1ansppdrpdulbtr3j5ub CSeq: 6407 ACK
    Content-Length: 0

    < ------------->
    — (7 headers 0 lines) —

    < --- SIP read from WS:192.168.2.103:49851 ---> INVITE
    sip:6000@192.168.2.106 SIP/2.0
    Via: SIP/2.0/WS 0iemcrsq9tm0.invalid;branch=z9hG4bK7826783
    Max-Forwards: 69
    To:
    From: “6001” ;tag=m6bqn333dr Call-ID: 1ansppdrpdulbtr3j5ub CSeq: 6408 INVITE
    Authorization: Digest algorithm=MD5, username=”6001″, realm=”192.168.2.106″, nonce=”69dcc467″, uri=”sip:6000@192.168.2.106″, response=”845417814e71ce56e93d846538ea31ae”
    X-Can-Renegotiate: false Contact:
    Content-Type: application/sdp Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO
    Supported: ice,replaces,outbound User-Agent: JsSIP 2.0.2
    Content-Length: 3158

    v=0
    o=mozilla…THIS_IS_SDPARTA-47.0.1 5760840281459352758 0 IN IP4 0.0.0.0
    s=-
    t=0 0
    a=sendrecv a=fingerprint:sha-256
    E8:B7:2A:C2:DF:8B:AA:74:E6:D6:93:1C:68:88:81:39:82:C2:31:45:3D:8C:23:DF:
    C1:23:72:03:F6:61:CC:F6
    a=group:BUNDLE sdparta_0 sdparta_1
    a=ice-options:trickle a=msid-semantic:WMS *
    m=audio 56808 UDP/TLS/RTP/SAVPF 109 9 0 8 c=IN IP4 87.169.189.102
    a=candidate:0 1 UDP 2122187007 2003:88:6908:7659:3dbc:5101:33ff:d07a
    56806 typ host a=candidate:2 1 UDP 2122121471 2003:88:6908:7659:6113:7316:1ebc:43fa
    56807 typ host a=candidate:4 1 UDP 2122055935 192.168.2.103 56808 typ host a=candidate:6 1 UDP 2122252543 192.168.56.1 56809 typ host a=candidate:0
    2 UDP 2122187006 2003:88:6908:7659:3dbc:5101:33ff:d07a
    56810 typ host a=candidate:2 2 UDP 2122121470 2003:88:6908:7659:6113:7316:1ebc:43fa
    56811 typ host a=candidate:4 2 UDP 2122055934 192.168.2.103 56812 typ host a=candidate:6 2 UDP 2122252542 192.168.56.1 56813 typ host a=candidate:5 1 UDP 1685856255 87.169.189.102 56808 typ srflx raddr
    192.168.2.103 rport 56808
    a=candidate:5 2 UDP 1685856254 87.169.189.102 56812 typ srflx raddr
    192.168.2.103 rport 56812
    a=sendrecv a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=fmtp:109 maxplaybackrate=48000;stereo=1 a=ice-
    pwd:138f583004cb3079134e8e8f20dac36f a=ice-ufrag:0941ac54
    a=mid:sdparta_0
    a=msid:{fb724d76-44fe-4e7d-a8d8-e4c00b4b57fe}
    {bba6da45-42c8-4529-8f4b-046cffcdc40d}
    a=rtcp:56812 IN IP4 87.169.189.102
    a=rtcp-mux a=rtpmap:109 opus/48000/2
    a=rtpmap:9 G722/8000/1
    a=rtpmap:0 PCMU/8000
    a=rtpmap:8 PCMA/8000
    a=setup:actpass a=ssrc:540714091 cname:{ecde75c0-993f-44af-b136-8944915fe31c}
    m=video 56816 UDP/TLS/RTP/SAVPF 120 126 97 c=IN IP4 87.169.189.102
    a=candidate:0 1 UDP 2122187007 2003:88:6908:7659:3dbc:5101:33ff:d07a
    56814 typ host a=candidate:2 1 UDP 2122121471 2003:88:6908:7659:6113:7316:1ebc:43fa
    56815 typ host a=candidate:4 1 UDP 2122055935 192.168.2.103 56816 typ host a=candidate:6 1 UDP 2122252543 192.168.56.1 60290 typ host a=candidate:0
    2 UDP 2122187006 2003:88:6908:7659:3dbc:5101:33ff:d07a
    60291 typ host a=candidate:2 2 UDP 2122121470 2003:88:6908:7659:6113:7316:1ebc:43fa
    60292 typ host a=candidate:4 2 UDP 2122055934 192.168.2.103 64504 typ host a=candidate:6 2 UDP 2122252542 192.168.56.1 64505 typ host a=candidate:5 1 UDP 1685856255 87.169.189.102 56816 typ srflx raddr
    192.168.2.103 rport 56816
    a=candidate:5 2 UDP 1685856254 87.169.189.102 64504 typ srflx raddr
    192.168.2.103 rport 64504
    a=recvonly a=fmtp:120 max-fs=12288;max-fr=60
    a=fmtp:126
    profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1
    a=fmtp:97 profile-level-id=42e01f;level-asymmetry-allowed=1
    a=ice-pwd:138f583004cb3079134e8e8f20dac36f a=ice-ufrag:0941ac54
    a=mid:sdparta_1
    a=rtcp:64504 IN IP4 87.169.189.102
    a=rtcp-fb:120 nack a=rtcp-fb:120 nack pli a=rtcp-fb:120 ccm fir a=rtcp-fb:126 nack a=rtcp-fb:126 nack pli a=rtcp-fb:126 ccm fir a=rtcp-fb:97 nack a=rtcp-fb:97 nack pli a=rtcp-fb:97 ccm fir a=rtcp-mux a=rtpmap:120 VP8/90000
    a=rtpmap:126 H264/90000
    a=rtpmap:97 H264/90000
    a=setup:actpass a=ssrc:3124982 cname:{ecde75c0-993f-44af-b136-8944915fe31c}
    < ------------->
    — (15 headers 71 lines) —
    Using INVITE request as basis request – 1ansppdrpdulbtr3j5ub Found peer
    ‘6001’ for ‘6001’ from 192.168.2.103:49851
    == TLS/SSL ECDH initialized (secp256r1), faster PFS cipher-suites enabled
    == TLS/SSL ECDH initialized (secp256r1), faster PFS cipher-suites enabled
    == Using SIP RTP CoS mark 5
    Found RTP audio format 109
    Found RTP audio format 9
    Found RTP audio format 0
    Found RTP audio format 8
    Found audio description format opus for ID 109 Found audio description format G722 for ID 9 Found audio description format PCMU for ID 0 Found audio description format PCMA for ID 8 Found RTP video format 120 Found RTP video format 126 Found RTP video format 97 Found video description format VP8 for ID 120 Found video description format H264 for ID 126
    Found video description format H264 for ID 97
    Capabilities: us –
    (g723|gsm|ulaw|alaw|g726|adpcm|slin|lpc10|g729|speex|speex16|ilbc|g726aa l2|g722|slin16|jpeg|png|h261|h263|h263p|h264|mpeg4|red|t140|siren7|siren
    14|testlaw|g719|speex32|slin12|slin24|slin32|slin44|slin48|slin96|slin19
    2|opus|vp8|silk8|silk12|silk16|silk24), peer – audio=(ulaw|alaw|g722|opus)/video=(h264|vp8)/text=(nothing), combined – (ulaw|alaw|g722|h264|opus|vp8) Non-codec capabilities (dtmf):
    us – 0x1 (telephone-event|), peer – 0x0 (nothing), combined – 0x0
    (nothing) Peer audio RTP is at port 87.169.189.102:56808 Peer doesn’t provide T.140 Looking for 6000 in outgoing (domain 192.168.2.106)
    list_route: route/path hop:

    < --- Transmitting (NAT) to 192.168.2.103:49851 ---> SIP/2.0 100 Trying Via: SIP/2.0/WS
    0iemcrsq9tm0.invalid;branch=z9hG4bK7826783;received=192.168.2.103;rport=
    49851
    From: “6001” ;tag=m6bqn333dr To:
    Call-ID: 1ansppdrpdulbtr3j5ub CSeq: 6408 INVITE
    Server: Asterisk PBX 12.8.2
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
    Supported: replaces, timer Contact:

    Content-Length: 0

    < ------------>
    — Executing [6000@outgoing:1] Dial(“SIP/6001-00000000”,
    “SIP/6000”) in new stack
    == TLS/SSL ECDH initialized (secp256r1), faster PFS cipher-suites enabled
    == TLS/SSL ECDH initialized (secp256r1), faster PFS cipher-suites enabled
    == Using SIP RTP CoS mark 5
    We think we can do text And we have a text rtp object Audio is at 17504
    Lets set up the text sdp Text is at 0.0.0.0:12836
    Adding codec 100003 (ulaw) to SDP
    Adding codec 100001 (g723) to SDP
    Adding codec 100002 (gsm) to SDP
    Adding codec 100004 (alaw) to SDP
    Adding codec 100011 (g726) to SDP
    Adding codec 100006 (adpcm) to SDP
    Adding codec 100007 (lpc10) to SDP
    Adding codec 100008 (g729) to SDP
    Adding codec 100009 (speex) to SDP
    Adding codec 100016 (speex16) to SDP
    Adding codec 100010 (ilbc) to SDP
    Adding codec 100005 (g726aal2) to SDP
    Adding codec 100012 (g722) to SDP
    Adding codec 100021 (slin16) to SDP
    Adding text codec 400001 (red) to SDP
    Adding text codec 400002 (t140) to SDP
    Adding codec 100013 (siren7) to SDP
    Adding codec 100014 (siren14) to SDP
    Adding codec 100017 (testlaw) to SDP
    Adding codec 100015 (g719) to SDP
    Adding codec 100028 (speex32) to SDP
    Adding codec 100020 (slin12) to SDP
    Adding codec 100022 (slin24) to SDP
    Adding codec 100023 (slin32) to SDP
    Adding codec 100024 (slin44) to SDP
    Adding codec 100025 (slin48) to SDP
    Adding codec 100026 (slin96) to SDP
    Adding codec 100027 (slin192) to SDP
    Adding codec 100030 (opus) to SDP
    Adding codec 100018 (silk8) to SDP
    Adding codec 100018 (silk12) to SDP
    Adding codec 100018 (silk16) to SDP
    Adding codec 100018 (silk24) to SDP
    Adding non-codec 0x1 (telephone-event) to SDP Reliably Transmitting
    (NAT) to 192.168.2.103:49848:
    INVITE sip:bbglnljp@72rvpk435t95.invalid;transport=ws SIP/2.0
    Via: SIP/2.0/WS 192.168.2.106:5060;branch=z9hG4bK53a0c8e1;rport Max-Forwards: 70
    From: “6001” ;tag=as0ba3cd59
    To:
    Contact:
    Call-ID: 5681400a771147ed0c16fff2363c7e55@192.168.2.106:5060
    CSeq: 102 INVITE
    User-Agent: Asterisk PBX 12.8.2
    Date: Sun, 24 Jul 2016 22:21:12 GMT
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
    Supported: replaces, timer Content-Type: application/sdp Content-Length: 2778

    v=0
    o=root 1723742189 1723742189 IN IP4 192.168.2.106 s=Asterisk PBX 12.8.2
    c=IN IP4 192.168.2.106 t=0 0 m=audio 17504 RTP/SAVPF 0 4 3 8 111 5 7 18
    110 117 97 112 9 118 102 115
    116 119 107 96 108 109 113 101
    a=rtpmap:0 PCMU/8000
    a=rtpmap:4 G723/8000
    a=fmtp:4 annexa=no a=rtpmap:3 GSM/8000
    a=rtpmap:8 PCMA/8000
    a=rtpmap:111 G726-32/8000
    a=rtpmap:5 DVI4/8000
    a=rtpmap:7 LPC/8000
    a=rtpmap:18 G729/8000
    a=fmtp:18 annexb=no a=rtpmap:110 speex/8000
    a=rtpmap:117 speex/16000
    a=rtpmap:97 iLBC/8000
    a=fmtp:97 mode=30
    a=rtpmap:112 AAL2-G726-32/8000
    a=rtpmap:9 G722/8000
    a=rtpmap:118 L16/16000
    a=rtpmap:102 G7221/16000
    a=fmtp:102 bitrate=32000
    a=rtpmap:115 G7221/32000
    a=fmtp:115 bitrate=48000
    a=rtpmap:116 G719/48000
    a=fmtp:116 bitrate=64000
    a=rtpmap:119 speex/32000
    a=rtpmap:107 opus/48000/2
    a=fmtp:107
    maxplaybackrate=48000;sprop-
    maxcapturerate=48000;minptime=10;maxaveragebitrate=20000;stereo=0;sprop-
    stereo=0;cbr=0;useinbandfec=0;usedtx=0
    a=rtpmap:96 SILK/8000
    a=fmtp:96 maxaveragebitrate=10000
    a=fmtp:96 usedtx=0
    a=fmtp:96 useinbandfec=1
    a=rtpmap:108 SILK/12000
    a=fmtp:108 maxaveragebitrate=12000
    a=fmtp:108 usedtx=0
    a=fmtp:108 useinbandfec=1
    a=rtpmap:109 SILK/16000
    a=fmtp:109 maxaveragebitrate=20000
    a=fmtp:109 usedtx=0
    a=fmtp:109 useinbandfec=1
    a=rtpmap:113 SILK/24000
    a=fmtp:113 maxaveragebitrate=30000
    a=fmtp:113 usedtx=0
    a=fmtp:113 useinbandfec=1
    a=rtpmap:101 telephone-event/8000
    a=fmtp:101 0-16
    a=ptime:20
    a=maxptime:20
    a=ice-ufrag:29c82286064fb054206fb5686f954dde a=ice-pwd:668a84152d94daf26a719ce95a2174fe a=candidate:Hc0a8026a 1 UDP 2130706431 192.168.2.106 17504 typ host a=candidate:S57a9bd66 1 UDP 1694498815 87.169.189.102 17504 typ srflx raddr 192.168.2.106 rport 17504 a=candidate:Hc0a8026a 2 UDP 2130706430
    192.168.2.106 17505 typ host a=candidate:S57a9bd66 2 UDP 1694498814 87.169.189.102 17505 typ srflx raddr 192.168.2.106 rport 17505 a=connection:new a=setup:actpass a=fingerprint:SHA-256
    C1:E5:39:6E:FB:7A:97:5D:70:CF:65:EF:E7:5C:4D:37:1E:AE:9B:72:70:E4:C1:F4:
    86:F8:7B:1A:8D:DE:B3:47
    a=sendrecv m=text 12836 RTP/SAVPF 105 106
    a=ice-ufrag:1d890d34098281a73af392833cdf7626
    a=ice-pwd:06e51e922264e51c5cc0209e3a1ec6a7
    a=candidate:Hc0a8026a 1 UDP 2130706431 192.168.2.106 12836 typ host a=candidate:S57a9bd66 1 UDP 1694498815 87.169.189.102 12836 typ srflx raddr 192.168.2.106 rport 12836 a=candidate:Hc0a8026a 2 UDP 2130706430
    192.168.2.106 12837 typ host a=candidate:S57a9bd66 2 UDP 1694498814 87.169.189.102 12837 typ srflx raddr 192.168.2.106 rport 12837 a=connection:new a=setup:actpass a=fingerprint:SHA-256
    C1:E5:39:6E:FB:7A:97:5D:70:CF:65:EF:E7:5C:4D:37:1E:AE:9B:72:70:E4:C1:F4:
    86:F8:7B:1A:8D:DE:B3:47
    a=rtpmap:105 RED/1000
    a=fmtp:105 106/106/106
    a=rtpmap:106 T140/1000
    a=sendrecv


    — Called SIP/6000

    < --- SIP read from WS:192.168.2.103:49848 ---> SIP/2.0 100 Trying Via: SIP/2.0/WS 192.168.2.106:5060;branch=z9hG4bK53a0c8e1;rport To:
    From: “6001” ;tag=as0ba3cd59
    Call-ID: 5681400a771147ed0c16fff2363c7e55@192.168.2.106:5060
    CSeq: 102 INVITE
    Supported: ice,replaces,outbound Content-Length: 0

    < ------------->
    — (8 headers 0 lines) —

    < --- SIP read from WS:192.168.2.103:49848 ---> SIP/2.0 180 Ringing Via: SIP/2.0/WS 192.168.2.106:5060;branch=z9hG4bK53a0c8e1;rport To: ;tag=tlkjkk4vl8
    From: “6001” ;tag=as0ba3cd59
    Call-ID: 5681400a771147ed0c16fff2363c7e55@192.168.2.106:5060
    CSeq: 102 INVITE
    Contact:
    Supported: ice,replaces,outbound Content-Length: 0

    < ------------->
    — (9 headers 0 lines) —
    list_route: route/path hop:

    — SIP/6000-00000001 is ringing

    < --- Transmitting (NAT) to 192.168.2.103:49851 ---> SIP/2.0 180 Ringing Via: SIP/2.0/WS
    0iemcrsq9tm0.invalid;branch=z9hG4bK7826783;received=192.168.2.103;rport=
    49851
    From: “6001” ;tag=m6bqn333dr To: ;tag=as1792125e Call-ID: 1ansppdrpdulbtr3j5ub CSeq: 6408 INVITE
    Server: Asterisk PBX 12.8.2
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
    Supported: replaces, timer Contact:

    Content-Length: 0

    < ------------>

    < --- SIP read from WS:192.168.2.103:49848 ---> SIP/2.0 488 Not Acceptable Here Via: SIP/2.0/WS 192.168.2.106:5060;branch=z9hG4bK53a0c8e1;rport To: ;tag=tlkjkk4vl8
    From: “6001” ;tag=as0ba3cd59
    Call-ID: 5681400a771147ed0c16fff2363c7e55@192.168.2.106:5060
    CSeq: 102 INVITE
    Supported: ice,replaces,outbound Content-Length: 0

    < ------------->
    — (8 headers 0 lines) —
    Transmitting (NAT) to 192.168.2.103:49848:
    ACK sip:bbglnljp@72rvpk435t95.invalid;transport=ws SIP/2.0
    Via: SIP/2.0/WS 192.168.2.106:5060;branch=z9hG4bK53a0c8e1;rport Max-Forwards: 70
    From: “6001” ;tag=as0ba3cd59
    To: ;tag=tlkjkk4vl8
    Contact:
    Call-ID: 5681400a771147ed0c16fff2363c7e55@192.168.2.106:5060
    CSeq: 102 ACK
    User-Agent: Asterisk PBX 12.8.2
    Content-Length: 0


    Scheduling destruction of SIP dialog
    ‘5681400a771147ed0c16fff2363c7e55@192.168.2.106:5060’ in 32000 ms
    (Method: INVITE)
    == Everyone is busy/congested at this time (1:0/0/1)
    — Executing [6000@outgoing:2] Answer(“SIP/6001-00000000”, “”) in new stack Audio is at 19538 Adding codec 100003 (ulaw) to SDP Adding codec 100004 (alaw) to SDP Adding codec 100012 (g722) to SDP Adding codec 100030 (opus) to SDP

    < --- Reliably Transmitting (NAT) to 192.168.2.103:49851 ---> SIP/2.0 200
    OK
    Via: SIP/2.0/WS
    0iemcrsq9tm0.invalid;branch=z9hG4bK7826783;received=192.168.2.103;rport=
    49851
    From: “6001” ;tag=m6bqn333dr To: ;tag=as1792125e Call-ID: 1ansppdrpdulbtr3j5ub CSeq: 6408 INVITE
    Server: Asterisk PBX 12.8.2
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
    Supported: replaces, timer Contact:

    Content-Type: application/sdp Content-Length: 1055

    v=0
    o=root 1700582523 1700582523 IN IP4 192.168.2.106 s=Asterisk PBX 12.8.2
    c=IN IP4 192.168.2.106 t=0 0 m=audio 19538 RTP/SAVPF 0 8 9 109
    a=rtpmap:0 PCMU/8000
    a=rtpmap:8 PCMA/8000
    a=rtpmap:9 G722/8000
    a=rtpmap:109 opus/48000/2
    a=fmtp:109
    maxplaybackrate=48000;sprop-
    maxcapturerate=48000;minptime=10;maxaveragebitrate=20000;stereo=0;sprop-
    stereo=0;cbr=0;useinbandfec=0;usedtx=0
    a=ptime:20
    a=maxptime:60
    a=ice-ufrag:7fbfa28012692271620bb8c22da32ff3
    a=ice-pwd:30067a57115528082e8744df31454da4
    a=candidate:Hc0a8026a 1 UDP 2130706431 192.168.2.106 19538 typ host a=candidate:S57a9bd66 1 UDP 1694498815 87.169.189.102 19538 typ srflx raddr 192.168.2.106 rport 19538 a=candidate:Hc0a8026a 2 UDP 2130706430
    192.168.2.106 19539 typ host a=candidate:S57a9bd66 2 UDP 1694498814 87.169.189.102 19539 typ srflx raddr 192.168.2.106 rport 19539 a=connection:new a=setup:active a=fingerprint:SHA-256
    C1:E5:39:6E:FB:7A:97:5D:70:CF:65:EF:E7:5C:4D:37:1E:AE:9B:72:70:E4:C1:F4:
    86:F8:7B:1A:8D:DE:B3:47
    a=sendrecv m=video 0 UDP/TLS/RTP/SAVPF 120 126 97

    < ------------>

    < --- SIP read from WS:192.168.2.103:49851 ---> ACK
    sip:6000@192.168.2.106:5060;transport=ws SIP/2.0
    Via: SIP/2.0/WS 0iemcrsq9tm0.invalid;branch=z9hG4bK690056
    Max-Forwards: 69
    To: ;tag=as1792125e From: “6001” ;tag=m6bqn333dr Call-ID: 1ansppdrpdulbtr3j5ub CSeq: 6408 ACK
    Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO
    Supported: outbound User-Agent: JsSIP 2.0.2
    Content-Length: 0

    < ------------->
    — (11 headers 0 lines) —

    < --- SIP read from WS:192.168.2.103:49851 ---> BYE
    sip:6000@192.168.2.106:5060;transport=ws SIP/2.0
    Via: SIP/2.0/WS 0iemcrsq9tm0.invalid;branch=z9hG4bK1426296
    Max-Forwards: 69
    To: ;tag=as1792125e From: “6001” ;tag=m6bqn333dr Call-ID: 1ansppdrpdulbtr3j5ub CSeq: 6409 BYE
    Reason: SIP ;cause=488; text=”Not Acceptable Here”
    Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO
    Supported: outbound User-Agent: JsSIP 2.0.2
    Content-Length: 0

    < ------------->
    — (12 headers 0 lines) —
    Scheduling destruction of SIP dialog ‘1ansppdrpdulbtr3j5ub’ in 32000 ms
    (Method: BYE)

    < --- Transmitting (NAT) to 192.168.2.103:49851 ---> SIP/2.0 200 OK
    Via: SIP/2.0/WS
    0iemcrsq9tm0.invalid;branch=z9hG4bK1426296;received=192.168.2.103;rport=
    49851
    From: “6001” ;tag=m6bqn333dr To: ;tag=as1792125e Call-ID: 1ansppdrpdulbtr3j5ub CSeq: 6409 BYE
    Server: Asterisk PBX 12.8.2
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
    Supported: replaces, timer Content-Length: 0

    May you please help me to make it word? i’m just interessting for the audio. Thank you in advance

  • Hi Olivier,

    I am not sure what is the issue with your current setup, however I would like to point you to the latest Asterisk releases, i.e. >13.9.1. I think those releases include some fixes for issues related to WebRTC. For me theses releases work very well with WebRTC (audio & video).

    There is only one remark I have to make: When using PJSIP I experienced an issue with the maximum size for SIP messages. I therefore had to manually increase it to be able to get it working.

    Hope it helps,

    Simon