Назад | Перейти на главную страницу

sip успешно зарегистрировал на одном хосте, но не прошел на другом хосте в той же локальной сети

Я приобрел антисиповую учетную запись и установил звездочку (скажем, PBX-A) для регистрации. Работало нормально. Однако я попытался сделать это с другой звездочкой (PBX-B). На этот раз не повезло. PBX-A и PBX-B находятся в одной локальной сети за NAT.

Вот результат нескольких команд на PBX-B

localhost*CLI> sip show registry
Host                  dnsmgr Username       Refresh State         Reg.Time
sip.antisip.com:5060  N      username          120 Request Sent
1 SIP registrations.

localhost*CLI> sip show peers
Name/username      Host          Dyn Forcerport Comedia    ACL Port     Status      Description
username/username  91.121.78.130     Yes        Yes            5060     UNREACHABLE

Я сделал tcpdump, чтобы проверить сигнал регистрации. PBX-B отправляет сигнал на sip-сервер, но без возврата.

[root@localhost sysconfig]# tcpdump  port 5060
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
16:15:00.074161 IP 192.168.1.207.sip > sip.antisip.com.sip: SIP, length: 390
16:15:04.074820 IP 192.168.1.207.sip > sip.antisip.com.sip: SIP, length: 390
16:15:06.438076 IP 192.168.1.207.sip > sip.antisip.com.sip: SIP, length: 549

Я могу пинговать sip-сервер.

[root@localhost sysconfig]# ping sip.antisip.com
PING sip.antisip.com (91.121.78.130) 56(84) bytes of data.
64 bytes from sip.antisip.com (91.121.78.130): icmp_seq=1 ttl=47 time=169 ms
64 bytes from sip.antisip.com (91.121.78.130): icmp_seq=2 ttl=47 time=169 ms

Я проверяю, работает ли он, перенаправляя порты UDP 5060,10000-2000, но все равно не повезло. Кстати, PBX-A нормально работает без переадресации портов. Затем я заметил, что PBX-B включает iptables, поэтому я проверял конфигурацию межсетевого экрана и включил несколько портов, например:

[root@localhost sysconfig]# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpts:10000:20000
2    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:5060

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

Возможно, это не работает, т.к. изначально весь ВХОД был ПРИНЯТ ... И, конечно, это ничего не меняет.

Я использую тот же файл conf в / etc / asterisk для локальных АТС. Они находятся в одной сети. Так что я могу только придумать настройку межсетевого экрана PBX-B. Но все же должна быть другая проблема. Я очень признателен, если вы дадите мне совет по этому поводу.

Вот настройка sip.conf.

[general]
register => username:pass@sip.antisip.com/username

[vivinavi]
nat=yes
insecure=port,invite
canreinvite=no
username=username
host=sip.antisip.com
fromdomain=sip.antisip.com
fromuser=username
type=friend
context=antisip
secret=pass
qualify=yes

Ниже приведены версии программного обеспечения обеих коробок. PBX-A: Asterisk 11.10.2, SHMZ release 6.5 (FreePBX 2.11.0.38) PBX-B: Asterisk 11.7.0, Ubuntu 14.04.1 LTS