Как стать автором
Обновить

Комментарии 10

Как видим, CNAME не указан - нет текста с ним, а длина элемента 0 бит.

Строго говоря, CNAME указан -- пустая строка. Так как в звонке два абонента, у второго непустая строка, то все требования соблюдены -- у каждого есть CNAME и они уникальны для каждого абонента.

Не согласен с вами, если есть поле а значения нет то не указан, с такой логикой можно сказать что поле Connexion information IP4 "Пусто" должно работать.

Должно работать в каком смысле?

"RTCP carries a persistent transport-level identifier for an RTP
source called the canonical name or CNAME, Section 6.5.1. Since
the SSRC identifier may change if a conflict is discovered or a
program is restarted, receivers require the CNAME to keep track of
each participant. Receivers may also require the CNAME to
associate multiple data streams from a given participant in a set
of related RTP sessions....

То есть CNAME необходим для уникального идентифицирования абонента в случае смены SSRC или наличия множества стримов.

Да, CNAME обязан быть передан -- и он передан, в пункте 6.5.1 я не вижу ничего, что делало бы пустую строку невалидной.

Вы же сами написали про уникальный идентификатор, или для вас пустое поле это уникально ?

Если пустое поле только у одного абонента в разговоре -- да, "" -- уникально. Так же как уникально "вася" или "пыопрырц8процр".

Конечно "Если" А Если нет ? Или мы будем спорить что уникальнее пустое поле или рандом ай ди ?

Интересное замечание - не думал в таком ключе! К сожалению, информации о поведении АТС на стороне того абонента нет. Можно предполагать, что сам сервер по внутренней логике всё же ожидал получить текст CNAME, раз быстро вышло исправление его версии.

Я уверен, что это был баг на той стороне.

Однако это не отменяет того факта, что поведение вашей стороны тоже не совсем корректно: тут либо реакция должна быть такой же как на отсутствие тега CNAME вообще, скорее всего -- отказ в установлении соединения -- либо принять, и использовать его как есть -- то есть пустое значение это всё же значение.

Вы провели отличное глубокое расследование и нашли очень редкий случай, который обычно поймать можно только с помощью удачи (и/или фаззинга), теперь стоит сделать вывод и принять решение как реагировать на него с вашей стороны. :)

Чего точно не стоит делать -- так это хоронить проблему и забить.

Ну и зачем, я читал этот RFC ? Я ведь не связан с RTP протоколами.

Но даже беглого просмотра хватило, чтобы понять UUID в качестве CNAME тоже не айс.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории