Задать вопрос
Более 20 лет в IT, более 10 лет в психологии и работе с людьми.
Сочетаю их с пользой для того и другого. Работаю с софтом, разработкой, железом - и людьми!

Специализируюсь на VoIP операторского уровня - Kamailio, Asterisk, FreeSwitch и связанной с этим разработкой на разных языках.
Контакты
Местоположение
Россия

Наибольший вклад в теги

Все теги (1)

Лучшие ответы пользователя

Все ответы (2)
  • Retransmission timeout reached on transmission в Asterisk

    kbdfck
    @kbdfck
    Профессионально занимаюсь IT, VoIP и психологией
    Если Asterisk находится за натом, должны быть прописаны параметры localnet и externip. В вашем случае конечная точка за натом получает 200 ОК при ответе, но скорее всего ACK на него телефон пытается отправить на анонсированный Asterisk-ом адрес Contact: sip:1000@192.168.1.3:5060, до которого он дойти из-за NAT, естественно, не может. В итоге срабатывает таймер и Asterisk разрывает вызов, т. к. ACK на 200 ОК обязателен.

    То есть либо включите externip=external router ip, чтобы asterisk указывал этот адрес в запросах и ответах на адреса, отличные от указанных в localnet, либо на клиентах включите использование и отсылку опции rport, которая указывает клиенту при выборе адреса сигнализации ориентироваться на данные параметра rport, а не параметры SIP-сообщения.
    Ответ написан
    1 комментарий