Есть связка Elastix + 2 goip-4 шлюза. Так уж вышло, что в одной сети их разместить нет возможности и шлюзы стоят удаленно (всё за NATами). Настроил шлюзы в режиме trunk gateway mode. Сигнализация от Elastixa на шлюзы приходит. При звонках через шлюзы, в логах по telnet-у видны инвайты и попытки ответить:
Код: Выделить всё
Receive a Message:
INVITE sip:10+1111111@внешний айпи шлюза:5161 SIP/2.0
Via: SIP/2.0/UDP внутренний айпи ластика:5060;branch=z9hG4bK61617774;rport
From: "8000" <sip:8000@внутренний айпи ластика>;tag=as0274c4ce
To: <sip:10+1111111@внешний айпи шлюза:5161>
Call-ID: 59f5ed4e1449e4b90515a692192884d8@192.168.0.133:5060
CSeq: 102 INVITE
Contact: <sip:8000@внутренний айпи ластика:5060>
max-forwards: 70
user-agent: FPBX-2.11.0(11.13.0)
date: Wed, 16 Dec 2015 13:48:21 GMT
supported: replaces
supported: timer
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Content-Type: application/sdp
Content-Length: 285
v=0
o=root 1373057521 1373057521 IN IP4 внутренний айпи ластика
s=Asterisk PBX 11.13.0
c=IN IP4 внутренний айпи ластика
t=0 0
m=audio 16798 RTP/AVP 8 3 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv
../src/transport.c:867:transport_rerecv_filter(): is invite msg!
../src/sipmsg.c:2135:sipmsg_get_destination(): sipmsg get destination...
../src/sipmsg.c:2175:sipmsg_get_destination(): message is response!
../src/callback.c:108:send_msg():
Sending Message to внутренний айпи ластика:5060:
SIP/2.0 503 Service Unavailable
Via: SIP/2.0/UDP внутренний айпи ластика:5060;branch=z9hG4bK61617774;rport
From: "8000" <sip:8000@внутренний айпи ластика>;tag=as0274c4ce
To: <sip:10+1111111@внешний айпи шлюза:5161>;tag=871232896
Call-ID: 59f5ed4e1449e4b90515a692192884d8@192.168.0.133:5060
CSeq: 102 INVITE
User-Agent: dble
Content-Length: 0
Под внутренним айпи ластика подразумевается адрес в локальной подсети за натом вида 192.168.Х.Х
Под внешним айпи шлюза подразумевается БЕЛЫЙ ip-adress роутера, за которым стоит шлюз.
По логам видно, что шлюз шлет ответ на внутренний айпи, что ставит меня в глубокий ступор, так как nat=force_rport установлен и в general прописан externip.
Что я мог упустить?
Шлюз уведен на 5161 сознательно, на самом шлюзе так же настроено слушать этот порт.
Пробросы портов есть на всех роутерах (как уже говорил выше сигнализация доходит).
Пробросы RTP на роутерах так же сделал, увел их на 10000-10100, как в ластике, так и на шлюзах это прописал.
10+номер который набирали потому, что рутинг происходит по префиксам уже на шлюзе, сами префиксы приписывает ластик.
503 Service Unavailable потому, что в шлюзе нет симкарт, сейчас задача стоит получить ответ на сам ивнайт от ластика=)
Был бы очень благодарен, если бы Вы смогли указать на то, что я упустил.
Всем спасибо за ответы.