Retransmission timeout reached on transmission в Asterisk

Здравствуйте,

Возникла проблема следующего характера:

При звонке например с экстеншена 100 (подключаюсь к нему из Интернета) на 101 (который внутри сети) разговор идет, а примерно через 6 секунд в логах Asterisk вываливается ошибка:
[Jan 30 08:04:58] WARNING[2119]: chan_sip.c:4259 retrans_pkt: Retransmission timeout reached on transmission 52IXBJSBuDga-b7X7wM2-OHXdPZOnxw1 for seqno 8311 (Critical Response) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 6400ms with no response
[Jan 30 08:04:58] WARNING[2119]: chan_sip.c:4288 retrans_pkt: Hanging up call 52IXBJSBuDga-b7X7wM2-OHXdPZOnxw1 - no reply to our critical packet (see https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions).


В Интернет Asterisk смотрит через роутер. Наружу проброшены порты sip 5060 (tcp/udp) и rtp 10000-20000 (udp).

rtp.conf
[general]
rtpstart = 10000
rtpend = 20000

sip.conf
[general]
tcpenable = yes
disallow = all
allow = alaw,ulaw

[phones](!)
type = friend
context = phones
host = dynamic
nat = no
qualify = yes

[100](phones)
defaultuser = 100
secret = *****

[101](phones)
defaultuser = 101
secret = *****


Подскажите куда копать и как быть, честно читал https://wiki.asterisk.org/wiki/display/AST/SIP+Ret... но ничего внятного не нашел про мой случай.

CentOS 6, Asterisk 12
  • Вопрос задан
  • 32667 просмотров
Пригласить эксперта
Ответы на вопрос 3
@kbdfck
Если 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-сообщения.
Ответ написан
@Chromium58
Попробуйте указать в sip.conf externip и localnet, а также включите nat=yes в настройках пира, который подключается через внешку.
Ответ написан
почему у вас в условии эксты 100 и 101, а в логе вижу 1000@davydenko.no-ip.org ??
Found peer '101' for '101' from 86.102.40.95:62312 -- может ещё раз ошибка в условии?
Via: SIP/2.0/UDP 192.168.9.113:62312;branch=z9h****;received=86.102.40.95;rport=62312 -- откуда этот адрес?
Пир 101 какой IP ??
Рисуйте сеть внимальнее
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы