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

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

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

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

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.

Другие вопросы по тегам