Минимальный sdp для серверно-клиентской архитектуры

Я работаю над голосовым чатом, где пользователь уже вошел в систему, а сервер используется как mcu.

Я хотел бы знать, каков минимальный sdp от клиента и для сервера, чтобы иметь действительное соединение webrtc?

Будет ли это нормально?

Клиент SDP для создания предложения:

v=0
o=-[nat timespamp] [NUMBER] IN IP4 127.0.0.1
s=[room id]
m=audio 9 UDP
a=sendrecv

Сервер SDP для ответа:

v=0
o=-[nat timespamp] [NUMBER] IN IP4 [SERVER PUBLIC IP]
s=[room id]
m=audio 9 UDP
a=sendrecv

Я знаю, что это намного короче, чем то, что создает предложение создания по умолчанию:

v=0
o=- 3642263768141042597 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0
a=msid-semantic: WMS
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 110 112 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:4Wbh
a=ice-pwd:c7Scj0h00zsv9rokqNlN86Aq
a=ice-options:trickle
a=fingerprint:sha-256 46:19:A7:0F:39:30:B6:D5:1E:DF:8F:32:9B:D0:D2:3A:5D:0F:C4:37:AD:75:7E:1A:12:82:7D:68:7B:0E:C1:B9
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=recvonly
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000

Но обязательны ли все эти параметры для работы?

Если нет, каковы будут минимальные SDP?


person Publi    schedule 31.08.2019    source источник


Ответы (1)


https://webrtchacks.com/update-anatomy-webrtc-sdp-anton-roman/ описывает элементы SDP и https://webrtchacks.com/the-minimum-viable-sdp/ обсуждает, как минимизировать вещи. Возможно, вы захотите прочитать оба.

Ваш SDP имеет неправильный профиль («UDP»), не определен, отсутствует отпечаток пальца dtls, ice-ufrag, ice-pwd, определение кодека (rtp) и, по крайней мере, лед-кандидат.

person Philipp Hancke    schedule 31.08.2019
comment
Как получить ледяные предметы? Обычно я получаю их с оглушающим сервером, но я читал, что для связи клиент-сервер мне не нужен оглушающий сервер. - person Publi; 31.08.2019
comment
Вам нужно будет внедрить ICE на свой сервер. См. tools.ietf.org/html/rfc8445, в частности раздел об облегченных реализациях. - person Philipp Hancke; 01.09.2019