У меня на Asterisk есть несколько интерфейсов:
192.168.0.4
100.64.254.191
Есть Iptables c правилом:
$IPT -A INPUT -p udp --dport 5060 -j ACCEPT
$IPT -A INPUT -p udp --dport 10000:20000 -j ACCEPT
Астериск слушает на порту 5060:
netstat
udp 0 0 0.0.0.0:5060 0.0.0.0:* 1983/asterisk
sip show settings
Global Settings:
0.0.0.0:5060
Tcpdump видит пакет:
15:53:04.608342 IP (tos 0x0, ttl 123, id 5832, offset 0, flags [none], proto UDP (17), length 684)
10.31.18.163.sip > 100.64.254.191.5060: [udp sum ok] SIP, length: 656
REGISTER sip:100.64.254.191 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.101:5060;branch=z9hG4bK809a38200e2ae91188e3cb3608d363e0;rport
From: "1002" <sip:1002@100.64.254.191>;tag=4215704698
To: "1002" <sip:1002@100.64.254.191>
Call-ID: 809A3820-0E2A-E911-88E0-CB3608D363E0@192.168.0.101
CSeq: 147 REGISTER
Contact: <sip:1002@192.168.0.101:5060>;+sip.instance="<urn:uuid:8078C40C-EB23-E911-9A76-103B9C7A50E9>"
Allow: INVITE, ACK, BYE, CANCEL, INFO, MESSAGE, NOTIFY, OPTIONS, REFER, UPDATE, PRACK
Max-Forwards: 70
Allow-Events: org.3gpp.nwinitdereg
User-Agent: SIPPER for PhonerLite
Supported: replaces, from-change, gruu
Expires: 900
Content-Length: 0
А в консоли астериска пусто, sip debug и core verbose включены...
Клиент подключается из дома через VPN, а возможно VPN + GRE (с этим еще предстоит разобраться).
Через интерфейс 192.168.0.4 Астериск работает с Интернетом, через 100.64.254.191 с локальной сетью.
Через оба интерфейса регистрации проходят. Имеется ввиду от клиентов локальной сети 100,64,254,0/24 и от клиентов интернета.
А от этого клиента нет, такое ощущение, что в астериск не проходит его запрос... И я не могу понять почему?
Пробовал в iptables разрешить все:
$IPT -A INPUT -j ACCEPT
$IPT -A OUTPUT -j ACCEPT
$IPT -A FORWARD -j ACCEPT
но безрезультатно...