VoIP: изменение метки времени в заголовке RTP

В соответствии с RTP RFC (3550) временная метка должна увеличиваться в каждом пакете RTP: «Временная метка отражает момент выборки первого октета в пакете данных RTP. Момент выборки ДОЛЖЕН быть получен из часов, которые монотонно и линейно увеличиваются во времени до разрешить синхронизацию и вычисления джиттера».

Мы сталкиваемся с проблемами, когда временная метка внезапно уменьшается (возвращается к нулю) в середине звонка без каких-либо событий телефонии (таких как удержание/перевод). SSRC остается прежним, а порядковый номер увеличивается, как и ожидалось. Только Timestamp барахлит без внятного объяснения.

Такое поведение вызывает потерю записи (эти пакеты RTP отбрасываются устройством записи, которое захватывает поток RTP).

Я хотел бы узнать, означает ли уменьшение метки времени несоблюдение RTP RFC, а также что может быть возможной причиной такого поведения?

Эта проблема возникает на телефонах Cisco 7942 с версией микропрограммы: SCCP42.9-4-2SR3-1S.

На телефонах Cisco 8841 (и в точно такой же среде) проблема немного другая: когда сбрасывается метка времени, порядковый номер также сбрасывается в то же время (пакет), что не приводит к потере записи.

Спасибо

Кобстер


person Kobster    schedule 01.11.2018    source источник
comment
Кажется очень странным, что порядковый номер сбрасывается на телефонах Cisco 8841. Предполагается, что порядковый номер обнуляется только при переносе в течение того же сеанса.   -  person Gary G.    schedule 03.11.2018


Ответы (3)


Временная метка, используемая в RTP для определения порядка получения пакетов.

В некоторых условиях сети пакет 3 может быть доставлен раньше пакетов 1, 2 и т. д.

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

Если временная метка выходит за пределы длины буфера джиттера - просто пропускайте неправильные пакеты.

Таким образом, постоянное уменьшение метки времени означает некоторые ошибки. Вам следует изменить прошивку или связаться с cisco.

person arheops    schedule 01.11.2018
comment
Порядковый номер увеличивается, как и ожидалось - person Kozyr; 02.11.2018

Согласно RFC-3550, раздел № 5.1, метки времени должны увеличиваться:

Отметка времени отражает момент выборки первого октета в пакете данных RTP. Момент выборки ДОЛЖЕН быть получен из часов, которые монотонно и линейно увеличиваются во времени, чтобы обеспечить синхронизацию и расчеты джиттера.

Также вы можете проверить информацию о синхронизации из пакета RTCP отчета отправителя: время NTP и соответствующую метку времени, возможно, телефоны Cisco уведомляют о таком поведении

person Kozyr    schedule 02.11.2018

Спасибо ! Я думаю, что это явление происходит из-за «переброса» вызова между разными медиа-серверами в реальном времени (аналогично возможности адаптации S4B), из-за проблем с задержкой/BW (или перегрузки ЦП/ОЗУ на медиа-сервере), и это происходит независимо от телефонных событий, таких как как удержание, передача или конференция. Эта проблема возникает только на стороне клиента, поэтому, возможно, эта сторона перенесена в режиме реального времени на более соседний медиасервер. Еще раз спасибо за вашу поддержку и подтверждение того, что это действительно не соответствует RTP RFC.

person Kobster    schedule 05.11.2018