[asterisk-users] Asterisk 13.26.0 webRTC: Asterisk not passing along video

Jonas Kellens jonas.kellens at telenet.be
Fri May 10 07:10:54 CDT 2019


Hello

I am trying to set up webRTC video calls from my Chrome webbrowser 
(Fedora) to my Chrome webbrowser (Windows 10).

There is local video input (I can see myself), but never video on the 
receiving side.

This is the case in both directions (so it makes no difference which 
peer is calling which peer).


Both webRTC SIP peers have opus and H264 codec in their peer definition :

   Video Support: Yes
   Prim.Transp. : WS
   Allowed.Trsp : WSS
   SIP Options  : (none)
   Codecs       : (opus|h264)
   Status       : OK (75 ms)
   Useragent    : SIP.js/0.12.0
   Reg. Contact : sip:llghjqha at 192.0.2.239;transport=wss
   RTP Engine   : asterisk
   Encryption   : Yes
   RTCP Mux     : Yes


   Video Support: Yes
   Prim.Transp. : WS
   Allowed.Trsp : WSS
   SIP Options  : (none)
   Codecs       : (opus|h264)
   Status       : OK (47 ms)
   Useragent    : SIP.js/0.12.0
   Reg. Contact : sip:6ltm4mqe at 192.0.2.7;transport=wss
   RTP Engine   : asterisk
   Encryption   : Yes
   RTCP Mux     : Yes


In general sip.conf I have :

videosupport=yes
disallow=all
allow=alaw
allow=opus
allow=h264


When one peer makes a SIP INVITE for a video call, it is clear to me 
that the necessary codec information is present (this all looks fine to 
me) :

(calling webRTC client)

SIP Debugging Enabled for IP: 99.99.255.55
[May 10 10:45:24]
[May 10 10:45:24] <--- SIP read from WS:99.99.255.55:47732 --->
[May 10 10:45:24] INVITE sip:17 at wss.mydomain.tld SIP/2.0
[May 10 10:45:24] Via: SIP/2.0/WSS 192.0.2.7;branch=z9hG4bK9220692
[May 10 10:45:24] Max-Forwards: 70
[May 10 10:45:24] To: <sip:17 at wss.mydomain.tld>
[May 10 10:45:24] From: "WC User Chrome" 
<sip:testacc7700476 at wss.mydomain.tld>;tag=sdmbqkquhe
[May 10 10:45:24] Call-ID: 3g51uvbnnioje6riokqu
[May 10 10:45:24] CSeq: 4132 INVITE
[May 10 10:45:24] Contact: <sip:6ltm4mqe at 192.0.2.7;transport=wss;ob>
[May 10 10:45:24] Allow: 
ACK,CANCEL,INVITE,MESSAGE,BYE,OPTIONS,INFO,NOTIFY,REFER
[May 10 10:45:24] Supported: outbound
[May 10 10:45:24] User-Agent: SIP.js/0.12.0
[May 10 10:45:24] Content-Type: application/sdp
[May 10 10:45:24] Content-Length: 5098
[May 10 10:45:24]
[May 10 10:45:24] v=0
[May 10 10:45:24] o=- 6075323372920596423 2 IN IP4 127.0.0.1
[May 10 10:45:24] s=-
[May 10 10:45:24] t=0 0
[May 10 10:45:24] a=group:BUNDLE audio video
[May 10 10:45:24] a=msid-semantic: WMS I46iog3EpKvlzvX9g0MMsh3ON7hT9qtZwZ4E
[May 10 10:45:24] m=audio 34197 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 
105 13 110 112 113 126
[May 10 10:45:24] c=IN IP4 99.99.255.55
[May 10 10:45:24] a=rtcp:9 IN IP4 0.0.0.0
[May 10 10:45:24] a=candidate:2395300328 1 udp 2122260223 192.168.1.110 
34197 typ host generation 0 network-id 1 network-cost 10
[May 10 10:45:24] a=candidate:260925276 1 udp 1686052607 99.99.255.55 
34197 typ srflx raddr 192.168.1.110 rport 34197 generation 0 network-id 
1 network-cost 10
[May 10 10:45:24] a=candidate:3225853208 1 tcp 1518280447 192.168.1.110 
9 typ host tcptype active generation 0 network-id 1 network-cost 10
[May 10 10:45:24] a=ice-ufrag:y8md
[May 10 10:45:24] a=ice-pwd:nyjEuDKhDVeu8B+OyvuEp6le
[May 10 10:45:24] a=ice-options:trickle
[May 10 10:45:24] a=fingerprint:sha-256 
C9:33:B0:E9:7C:F4:F2:39:98:A6:5C:AE:16:7F:5E:18:99:8F:9F:EB:DC:C6:E3:D5:EA:5B:AE:CD:DE:75:79:0B
[May 10 10:45:24] a=setup:actpass
[May 10 10:45:24] a=mid:audio
[May 10 10:45:24] a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
[May 10 10:45:24] a=sendrecv
[May 10 10:45:24] a=rtcp-mux
[May 10 10:45:24] a=rtpmap:111 opus/48000/2
[May 10 10:45:24] a=rtcp-fb:111 transport-cc
[May 10 10:45:24] a=fmtp:111 minptime=10;useinbandfec=1
[May 10 10:45:24] a=rtpmap:103 ISAC/16000
[May 10 10:45:24] a=rtpmap:104 ISAC/32000
[May 10 10:45:24] a=rtpmap:9 G722/8000
[May 10 10:45:24] a=rtpmap:0 PCMU/8000
[May 10 10:45:24] a=rtpmap:8 PCMA/8000
[May 10 10:45:24] a=rtpmap:106 CN/32000
[May 10 10:45:24] a=rtpmap:105 CN/16000
[May 10 10:45:24] a=rtpmap:13 CN/8000
[May 10 10:45:24] a=rtpmap:110 telephone-event/48000
[May 10 10:45:24] a=rtpmap:112 telephone-event/32000
[May 10 10:45:24] a=rtpmap:113 telephone-event/16000
[May 10 10:45:24] a=rtpmap:126 telephone-event/8000
[May 10 10:45:24] a=ssrc:401971016 cname:cd1IocMPYzY4lNYJ
[May 10 10:45:24] a=ssrc:401971016 
msid:I46iog3EpKvlzvX9g0MMsh3ON7hT9qtZwZ4E 
f8eee8bd-dd47-4c14-866d-07069cab255f
[May 10 10:45:24] a=ssrc:401971016 
mslabel:I46iog3EpKvlzvX9g0MMsh3ON7hT9qtZwZ4E
[May 10 10:45:24] a=ssrc:401971016 
label:f8eee8bd-dd47-4c14-866d-07069cab255f
[May 10 10:45:24] m=video 48086 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 
102 123 127 122 125 107 108 109 124
[May 10 10:45:24] c=IN IP4 99.99.255.55
[May 10 10:45:24] a=rtcp:9 IN IP4 0.0.0.0
[May 10 10:45:24] a=candidate:2395300328 1 udp 2122260223 192.168.1.110 
48086 typ host generation 0 network-id 1 network-cost 10
[May 10 10:45:24] a=candidate:260925276 1 udp 1686052607 99.99.255.55 
48086 typ srflx raddr 192.168.1.110 rport 48086 generation 0 network-id 
1 network-cost 10
[May 10 10:45:24] a=candidate:3225853208 1 tcp 1518280447 192.168.1.110 
9 typ host tcptype active generation 0 network-id 1 network-cost 10
[May 10 10:45:24] a=ice-ufrag:y8md
[May 10 10:45:24] a=ice-pwd:nyjEuDKhDVeu8B+OyvuEp6le
[May 10 10:45:24] a=ice-options:trickle
[May 10 10:45:24] a=fingerprint:sha-256 
C9:33:B0:E9:7C:F4:F2:39:98:A6:5C:AE:16:7F:5E:18:99:8F:9F:EB:DC:C6:E3:D5:EA:5B:AE:CD:DE:75:79:0B
[May 10 10:45:24] a=setup:actpass
[May 10 10:45:24] a=mid:video
[May 10 10:45:24] a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
[May 10 10:45:24] a=extmap:3 
http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
[May 10 10:45:24] a=extmap:4 urn:3gpp:video-orientation
[May 10 10:45:24] a=extmap:5 
http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
[May 10 10:45:24] a=extmap:6 
http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
[May 10 10:45:24] a=extmap:7 
http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
[May 10 10:45:24] a=extmap:8 
http://www.webrtc.org/experiments/rtp-hdrext/video-timing
[May 10 10:45:24] a=extmap:10 
http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
[May 10 10:45:24] a=sendrecv
[May 10 10:45:24] a=rtcp-mux
[May 10 10:45:24] a=rtcp-rsize
[May 10 10:45:24] a=rtpmap:96 VP8/90000
[May 10 10:45:24] a=rtcp-fb:96 goog-remb
[May 10 10:45:24] a=rtcp-fb:96 transport-cc
[May 10 10:45:24] a=rtcp-fb:96 ccm fir
[May 10 10:45:24] a=rtcp-fb:96 nack
[May 10 10:45:24] a=rtcp-fb:96 nack pli
[May 10 10:45:24] a=rtpmap:97 rtx/90000
[May 10 10:45:24] a=fmtp:97 apt=96
[May 10 10:45:24] a=rtpmap:98 VP9/90000
[May 10 10:45:24] a=rtcp-fb:98 goog-remb
[May 10 10:45:24] a=rtcp-fb:98 transport-cc
[May 10 10:45:24] a=rtcp-fb:98 ccm fir
[May 10 10:45:24] a=rtcp-fb:98 nack
[May 10 10:45:24] a=rtcp-fb:98 nack pli
[May 10 10:45:24] a=fmtp:98 profile-id=0
[May 10 10:45:24] a=rtpmap:99 rtx/90000
[May 10 10:45:24] a=fmtp:99 apt=98
[May 10 10:45:24] a=rtpmap:100 H264/90000
[May 10 10:45:24] a=rtcp-fb:100 goog-remb
[May 10 10:45:24] a=rtcp-fb:100 transport-cc
[May 10 10:45:24] a=rtcp-fb:100 ccm fir
[May 10 10:45:24] a=rtcp-fb:100 nack
[May 10 10:45:24] a=rtcp-fb:100 nack pli
[May 10 10:45:24] a=fmtp:100 
level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
[May 10 10:45:24] a=rtpmap:101 rtx/90000
[May 10 10:45:24] a=fmtp:101 apt=100
[May 10 10:45:24] a=rtpmap:102 H264/90000
[May 10 10:45:24] a=rtcp-fb:102 goog-remb
[May 10 10:45:24] a=rtcp-fb:102 transport-cc
[May 10 10:45:24] a=rtcp-fb:102 ccm fir
[May 10 10:45:24] a=rtcp-fb:102 nack
[May 10 10:45:24] a=rtcp-fb:102 nack pli
[May 10 10:45:24] a=fmtp:102 
level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
[May 10 10:45:24] a=rtpmap:123 rtx/90000
[May 10 10:45:24] a=fmtp:123 apt=102
[May 10 10:45:24] a=rtpmap:127 H264/90000
[May 10 10:45:24] a=rtcp-fb:127 goog-remb
[May 10 10:45:24] a=rtcp-fb:127 transport-cc
[May 10 10:45:24] a=rtcp-fb:127 ccm fir
[May 10 10:45:24] a=rtcp-fb:127 nack
[May 10 10:45:24] a=rtcp-fb:127 nack pli
[May 10 10:45:24] a=fmtp:127 
level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
[May 10 10:45:24] a=rtpmap:122 rtx/90000
[May 10 10:45:24] a=fmtp:122 apt=127
[May 10 10:45:24] a=rtpmap:125 H264/90000
[May 10 10:45:24] a=rtcp-fb:125 goog-remb
[May 10 10:45:24] a=rtcp-fb:125 transport-cc
[May 10 10:45:24] a=rtcp-fb:125 ccm fir
[May 10 10:45:24] a=rtcp-fb:125 nack
[May 10 10:45:24] a=rtcp-fb:125 nack pli
[May 10 10:45:24] a=fmtp:125 
level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
[May 10 10:45:24] a=rtpmap:107 rtx/90000
[May 10 10:45:24] a=fmtp:107 apt=125
[May 10 10:45:24] a=rtpmap:108 red/90000
[May 10 10:45:24] a=rtpmap:109 rtx/90000
[May 10 10:45:24] a=fmtp:109 apt=108
[May 10 10:45:24] a=rtpmap:124 ulpfec/90000
[May 10 10:45:24] a=ssrc-group:FID 4021924746 3758316558
[May 10 10:45:24] a=ssrc:4021924746 cname:cd1IocMPYzY4lNYJ
[May 10 10:45:24] a=ssrc:4021924746 
msid:I46iog3EpKvlzvX9g0MMsh3ON7hT9qtZwZ4E 
bafc4cd4-2961-48b7-8444-b0b0afcd547a
[May 10 10:45:24] a=ssrc:4021924746 
mslabel:I46iog3EpKvlzvX9g0MMsh3ON7hT9qtZwZ4E
[May 10 10:45:24] a=ssrc:4021924746 
label:bafc4cd4-2961-48b7-8444-b0b0afcd547a
[May 10 10:45:24] a=ssrc:3758316558 cname:cd1IocMPYzY4lNYJ
[May 10 10:45:24] a=ssrc:3758316558 
msid:I46iog3EpKvlzvX9g0MMsh3ON7hT9qtZwZ4E 
bafc4cd4-2961-48b7-8444-b0b0afcd547a
[May 10 10:45:24] a=ssrc:3758316558 
mslabel:I46iog3EpKvlzvX9g0MMsh3ON7hT9qtZwZ4E
[May 10 10:45:24] a=ssrc:3758316558 
label:bafc4cd4-2961-48b7-8444-b0b0afcd547a
[May 10 10:45:24] <------------->
[May 10 10:45:24] --- (13 headers 129 lines) ---
[May 10 10:45:24] Using INVITE request as basis request - 
3g51uvbnnioje6riokqu
[May 10 10:45:24] Found peer 'testacc7700476' for 'testacc7700476' from 
99.99.255.55:47732
[May 10 10:45:24]   == DTLS ECDH initialized (secp256r1), faster PFS enabled
[May 10 10:45:24]   == DTLS ECDH initialized (secp256r1), faster PFS enabled
[May 10 10:45:24]   == Using SIP VIDEO TOS bits 136
[May 10 10:45:24]   == Using SIP VIDEO CoS mark 4
[May 10 10:45:24]   == Using SIP RTP TOS bits 184
[May 10 10:45:24]   == Using SIP RTP CoS mark 5
[May 10 10:45:24] Found RTP audio format 111
[May 10 10:45:24] Found RTP audio format 103
[May 10 10:45:24] Found RTP audio format 104
[May 10 10:45:24] Found RTP audio format 9
[May 10 10:45:24] Found RTP audio format 0
[May 10 10:45:24] Found RTP audio format 8
[May 10 10:45:24] Found RTP audio format 106
[May 10 10:45:24] Found RTP audio format 105
[May 10 10:45:24] Found RTP audio format 13
[May 10 10:45:24] Found RTP audio format 110
[May 10 10:45:24] Found RTP audio format 112
[May 10 10:45:24] Found RTP audio format 113
[May 10 10:45:24] Found RTP audio format 126
[May 10 10:45:24] Found audio description format opus for ID 111
[May 10 10:45:24] Found unknown media description format ISAC for ID 103
[May 10 10:45:24] Found unknown media description format ISAC for ID 104
[May 10 10:45:24] Found audio description format G722 for ID 9
[May 10 10:45:24] Found audio description format PCMU for ID 0
[May 10 10:45:24] Found audio description format PCMA for ID 8
[May 10 10:45:24] Found unknown media description format CN for ID 106
[May 10 10:45:24] Found unknown media description format CN for ID 105
[May 10 10:45:24] Found audio description format CN for ID 13
[May 10 10:45:24] Found unknown media description format telephone-event 
for ID 110
[May 10 10:45:24] Found unknown media description format telephone-event 
for ID 112
[May 10 10:45:24] Found unknown media description format telephone-event 
for ID 113
[May 10 10:45:24] Found audio description format telephone-event for ID 126
[May 10 10:45:24] Found RTP video format 96
[May 10 10:45:24] Found RTP video format 97
[May 10 10:45:24] Found RTP video format 98
[May 10 10:45:24] Found RTP video format 99
[May 10 10:45:24] Found RTP video format 100
[May 10 10:45:24] Found RTP video format 101
[May 10 10:45:24] Found RTP video format 102
[May 10 10:45:24] Found RTP video format 123
[May 10 10:45:24] Found RTP video format 127
[May 10 10:45:24] Found RTP video format 122
[May 10 10:45:24] Found RTP video format 125
[May 10 10:45:24] Found RTP video format 107
[May 10 10:45:24] Found RTP video format 108
[May 10 10:45:24] Found RTP video format 109
[May 10 10:45:24] Found RTP video format 124
[May 10 10:45:24] Found video description format VP8 for ID 96
[May 10 10:45:24] Found video description format H264 for ID 100
[May 10 10:45:24] Found video description format H264 for ID 102
[May 10 10:45:24] Found video description format H264 for ID 127
[May 10 10:45:24] Found video description format H264 for ID 125
[May 10 10:45:24] Capabilities: us - (opus|h264), peer - 
audio=(ulaw|alaw|g722|opus)/video=(vp8|ilbc|h264|opus|vp9)/text=(nothing), 
combined - (opus|h264)
[May 10 10:45:24] Non-codec capabilities (dtmf): us - 0x1 
(telephone-event|), peer - 0x3 (telephone-event|CN|), combined - 0x1 
(telephone-event|)
[May 10 10:45:24]        > 0x7faefc025200 -- Strict RTP learning after 
remote address set to: 99.99.255.55:34197
[May 10 10:45:24] Peer audio RTP is at port 99.99.255.55:34197
[May 10 10:45:24] Peer video RTP is at port 99.99.255.55:48086
[May 10 10:45:24] Looking for 17 in from-webrtc (domain wss.mydomain.tld)
[May 10 10:45:24] sip_route_dump: route/path hop: 
<sip:6ltm4mqe at 192.0.2.7;transport=wss;ob>



These 2 lines make me think everything is OK so far :

[May 10 10:45:24] Capabilities: us - (opus|h264), peer - 
audio=(ulaw|alaw|g722|opus)/video=(vp8|ilbc|h264|opus|vp9)/text=(nothing), 
combined - (opus|h264)
[May 10 10:45:24] m=video 48086 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 
102 123 127 122 125 107 108 109 124



But then this what Asterisk sends to the webRTC client that is being 
called (clearly omitting the video part) :


[May 10 10:46:21]   == DTLS ECDH initialized (secp256r1), faster PFS enabled
[May 10 10:46:21]   == DTLS ECDH initialized (secp256r1), faster PFS enabled
[May 10 10:46:21]   == Using SIP VIDEO TOS bits 136
[May 10 10:46:21]   == Using SIP VIDEO CoS mark 4
[May 10 10:46:21]   == Using SIP RTP TOS bits 184
[May 10 10:46:21]   == Using SIP RTP CoS mark 5
[May 10 10:46:21] Audio is at 11958
[May 10 10:46:21] Adding codec opus to SDP
[May 10 10:46:21] Adding non-codec 0x1 (telephone-event) to SDP
[May 10 10:46:21] Reliably Transmitting (NAT) to 62.62.9.74:13966:
[May 10 10:46:21] INVITE sip:llghjqha at 192.0.2.239;transport=wss SIP/2.0
[May 10 10:46:21] Via: SIP/2.0/WS 10.20.30.40:0;branch=z9hG4bK1a709ad5;rport
[May 10 10:46:21] Max-Forwards: 70
[May 10 10:46:21] From: "testacc7700476" 
<sip:asterisk at 10.20.30.40:0>;tag=as41d92e45
[May 10 10:46:21] To: <sip:llghjqha at 192.0.2.239;transport=wss>
[May 10 10:46:21] Contact: <sip:asterisk at 10.20.30.40:0;transport=ws>
[May 10 10:46:21] Call-ID: 1d2c41aa735940ec56cf850e73c63758 at 10.20.30.40:0
[May 10 10:46:21] CSeq: 102 INVITE
[May 10 10:46:21] User-Agent: MyAsteriskWSS
[May 10 10:46:21] Date: Fri, 10 May 2019 08:46:21 GMT
[May 10 10:46:21] Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 
SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
[May 10 10:46:21] Supported: replaces
[May 10 10:46:21] X-MyAsteriskWSS-id: 655
[May 10 10:46:21] Content-Type: application/sdp
[May 10 10:46:21] Content-Length: 981
[May 10 10:46:21]
[May 10 10:46:21] v=0
[May 10 10:46:21] o=MyAsteriskWSS 813449923 813449923 IN IP4 10.20.30.40
[May 10 10:46:21] s=MyAsteriskWSS
[May 10 10:46:21] c=IN IP4 10.20.30.40
[May 10 10:46:21] t=0 0
[May 10 10:46:21] m=audio 11958 UDP/TLS/RTP/SAVPF 107 101
[May 10 10:46:21] a=rtpmap:107 opus/48000/2
[May 10 10:46:21] a=fmtp:107 useinbandfec=1
[May 10 10:46:21] a=rtpmap:101 telephone-event/8000
[May 10 10:46:21] a=fmtp:101 0-16
[May 10 10:46:21] a=maxptime:20
[May 10 10:46:21] a=ice-ufrag:6a27ef5f7bc02f45745cc597290cad7a
[May 10 10:46:21] a=ice-pwd:7bdf727b57c9771c77723c006f0eca78
[May 10 10:46:21] a=candidate:Ha840007 1 UDP 2130706431 10.132.0.7 11958 
typ host
[May 10 10:46:21] a=candidate:Ha0f0001 1 UDP 2130706431 10.15.0.1 11958 
typ host
[May 10 10:46:21] a=candidate:S224c5f2e 1 UDP 1694498815 10.20.30.40 
11958 typ srflx raddr 10.132.0.7 rport 11958
[May 10 10:46:21] a=candidate:Ha840007 2 UDP 2130706430 10.132.0.7 11959 
typ host
[May 10 10:46:21] a=candidate:Ha0f0001 2 UDP 2130706430 10.15.0.1 11959 
typ host
[May 10 10:46:21] a=candidate:S224c5f2e 2 UDP 1694498814 10.20.30.40 
11959 typ srflx raddr 10.132.0.7 rport 11959
[May 10 10:46:21] a=connection:new
[May 10 10:46:21] a=setup:actpass
[May 10 10:46:21] a=fingerprint:SHA-256 
22:25:5D:CF:AC:25:B8:D9:31:24:C8:0B:D8:DD:B9:B5:16:BC:2C:65:59:D2:77:02:3E:2A:6B:1D:DA:00:54:29
[May 10 10:46:21] a=rtcp-mux
[May 10 10:46:21] a=sendrecv


Only audio codec Opus is left...


So my question : where did the video codec H264 (m=video... ...) go ? 
Why has is disappeared ?


Can someone point me in the right direction ?!


Kind regards.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20190510/74af9b44/attachment.html>


More information about the asterisk-users mailing list