Как правильно подойти к вопросу: откуда задержка при звонке?

Ссылка скопирована
1 ответ

Доброго времени суток.
Сейчас ситуация такая: столкнулся недавно с проблемой. На Астериске появилась пауза при исходящем звонке.
Сейчас ситуация такая: набираем номер, после того как на принимающей стороне "поднимают трубку" - идёт пауза от 3 до 5 секунд, и только после этого начинается разговор.
По вводным: для исходящих используется сим-шлюз.

Сейчас ситуация такая: в настройках ничего особо не менял, кроме очередей для входящих.
Сейчас ситуация такая: пока даже не понимаю в какую сторону копать.
По вводным: параметров wait или таймеров в диалпланах нет.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Ольга Сеть Ответ

Пауза после того, как абонент на другой стороне поднял трубку, в Asterisk обычно связана не с самим телефоном, а с маршрутом вызова: транк, NAT/RTP, ранние медиа, определение ответа, dialplan, codec negotiation или AGI/скрипты, которые выполняются после Answer.

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

asterisk -rvvv
pjsip set logger on

asterisk -rvvv pjsip set logger on

Для старого chan_sip:

sip set debug on

sip set debug on

Смотрите timestamps: когда ушёл INVITE, когда пришёл 180/183, когда пришёл 200 OK, когда отправился ACK и когда пошёл RTP. Если 200 OK приходит сразу, а звук появляется позже, смотрите RTP/NAT/codecs. Если 200 OK сам приходит с задержкой, проблема может быть у оператора или в маршруте.

Частые причины:

  • Неверный NAT: external_media_address, local_net, rtp_symmetric, rewrite_contact.
  • Проблема с codec negotiation: разные кодеки, транскодинг, отсутствие общего кодека.
  • AGI/Macro/Gosub после ответа выполняется несколько секунд.
  • Оператор шлёт 183 Session Progress, но медиа обрабатывается неправильно.
  • DNS-задержка при обращении к транку или внешнему сервису.

Проверьте dialplan: нет ли после Dial/Answer вызова скрипта, записи, CRM-запроса или проверки, которая тормозит:

same => n,Answer()
same => n,AGI(...)
same => n,Dial(...)

same => n,Answer() same => n,AGI(...) same => n,Dial(...)

Если пауза появилась недавно, сравните изменения: обновление Asterisk, смена оператора, NAT/роутер, firewall, codec list, подключение CRM/записи разговоров. Для точной диагностики нужен один проблемный call-id из SIP-лога. Без него можно только гадать, но первое место для проверки - SIP trace и RTP после 200 OK.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

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

Вам также может быть интересно