Определите предложение SDP для ответа в WebRTC

Учитывая несколько SDP-предложений, созданных локальным устройством, и SDP-ответ, созданный удаленным устройством в ответ на один, можно ли идентифицировать предложение, для которого был создан ответ?

Другими словами, есть ли какая-то информация, уникальная для одного соединения, которое содержится как в ответе, так и в предложении, что позволяет сопоставить их? Например, значение в SDP, указывающее, для какого соединения используется SDP.

Я не уверен, используется ли один и тот же идентификатор сеанса как в предложении, так и в ответе, но если бы это было так, это можно было бы использовать.


person Laef    schedule 05.02.2017    source источник


Ответы (1)


Нет, JSEP SDP, соответствующий стандартам, не будет иметь такого идентификатора.

Один трюк, который вы можете сделать (который я бы не рекомендовал, поскольку он может перестать работать в любой новой версии Chrome/Firefox), — это использовать атрибут «a = mid». Это гарантированно будет одинаковым между предложением и ответом.

Итак, вы можете взять sdp, который выглядит так:

...
a=group:BUNDLE audio video
...
a=mid:audio
...

И замените его на

...
a=group:BUNDLE uniqueidentifier video
...
a=mid:uniqueidentifier
...

Хотя, как уже упоминалось, это не рассчитано на будущее (поскольку в конечном итоге манипулирование SDP будет запрещено). Кроме того, MID должен быть небольшим, поскольку он будет появляться в сети, и он должен быть одинаковым между последовательными предложениями/ответами. Я бы просто рекомендовал сигнализировать уникальный идентификатор за пределами самого SDP.

person Taylor Brandstetter    schedule 06.02.2017