question

Patrick McDonagh avatar image
Patrick McDonagh asked

Is Alexa sending the correct SDP offer format?

For a smart home skill with the `Alexa.RTCSessionController` directive, when requesting to stream a camera, Alexa sends the following SDP request:

v=0
o=- 3869048974 3869048974 IN IP4 0.0.0.0
s=a 2 z
c=IN IP4 0.0.0.0
t=0 0
a=group:BUNDLE audio0 video0
m=audio 1 UDP/TLS/RTP/SAVPF 96 0 8
a=candidate:2 1 TCP 1015021823 44.204.0.234 9 typ host tcptype active
a=candidate:1 2 UDP 2013266430 44.204.0.234 46862 typ host
a=candidate:3 1 TCP 1010827519 44.204.0.234 60842 typ host tcptype passive
a=candidate:2 2 TCP 1015021822 44.204.0.234 9 typ host tcptype active
a=candidate:3 2 TCP 1010827518 44.204.0.234 48560 typ host tcptype passive
a=candidate:1 1 UDP 2013266431 44.204.0.234 52290 typ host
a=setup:actpass
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=rtpmap:96 opus/48000/2
a=rtcp:9 IN IP4 0.0.0.0
a=rtcp-mux
a=sendrecv
a=mid:audio0
a=ssrc:1958630372 cname:user3901232495@host-c30e8e8a
a=ice-ufrag: GdQ
a=ice-pwd:QNz5NzWYCJwywzfJ /Y9hS
a=fingerprint:sha-256 35:75:5F:6E:23:6C:B8:7C:B7:15:75:47:91:3E:37:21:BE:41:B2:16:71:6F:61:88:72:57:7B:DE:F5:3C:63:08
m=video 1 UDP/TLS/RTP/SAVPF 99
a=candidate:1 1 UDP 2013266431 44.204.0.234 52290 typ host
a=candidate:2 1 TCP 1015021823 44.204.0.234 9 typ host tcptype active
a=candidate:3 1 TCP 1010827519 44.204.0.234 60842 typ host tcptype passive
a=candidate:2 2 TCP 1015021822 44.204.0.234 9 typ host tcptype active
a=candidate:1 2 UDP 2013266430 44.204.0.234 46862 typ host
a=candidate:3 2 TCP 1010827518 44.204.0.234 48560 typ host tcptype passive
b=AS:2500
a=setup:actpass
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=rtpmap:99 H264/90000
a=rtcp:9 IN IP4 0.0.0.0
a=rtcp-mux
a=sendrecv
a=mid:video0
a=rtcp-fb:99 nack
a=rtcp-fb:99 nack pli
a=rtcp-fb:99 ccm fir
a=ssrc:4011988618 cname:user3901232495@host-c30e8e8a
a=ice-ufrag: GdQ
a=ice-pwd:QNz5NzWYCJwywzfJ /Y9hS
a=fingerprint:sha-256 35:75:5F:6E:23:6C:B8:7C:B7:15:75:47:91:3E:37:21:BE:41:B2:16:71:6F:61:88:72:57:7B:DE:F5:3C:63:08


The line

m=audio 1 UDP/TLS/RTP/SAVPF 96 0 8

leads me to believe that there will be included the lines

a=rtpmap:96 opus/48000/2
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000

but only the first (opus) line is included. For cameras that don't support opus, the other lines are needed to negotiate the connection. If the SDP is manually modified to add these lines, the request succeeds. Is this an omission/error or is this intended?

alexa smart home
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

0 Answers