Достался мне FXO шлюз D-Link DVG-6004S который находится в удаленном офисе. А пользователи просто рыдают от того, что он лагает и голос едва слышно и звонки рвутся.
Полез я в консоль, а там почти при каждом входящем звонке вот такое валится:
WARNING[27281] rtp.c: RTCP Read too short
Вродь все понятно как ясный день – RTP пакет приходит или пустым или слишком маленьким.
Задача – сделать его нормальным 🙂
А фигушки! В гугле дошел до последней страницы, а там только советы такого плана:
– поменяйте железяку (нет возможности)
– пишите письма в суппорт (рано еще)
– обновите прошику (и так последняя)
– врубить tcpdump и высматривать (жаль, что не указано, что высматривать ведь и так все ясно ))) )
– играться с NATом (у меня он отсутствует как класс)
– играться настройками RTP
Последний совет самый подходящий, но что-то кроме как указать порты RTP я ничего дельного в админке не нашел.
Игрался я долго…. но как обычно решение было гениальным и простым.
Каким-то образом в меню Telephony Settings железки DVG-6004S, параметр Trunk Early Media Option стоял в режиме One way Voice ….. или это дэфолтное значение, или кто-то такое установил, но изменение это параметра в режим Two Way Voice моментально решило данную проблему, ошибки read too short исчезли и жизнь наладилась 🙂
Спасибо огромное! Была подобная проблема с отечественным клоном этого d-link долго искал в чем причина правда на работе и качестве связи не сказывалось.