Страница 2 из 6

Re: 401 на INVITE с использованием nat

Добавлено: 17 сен 2013, 21:04
Glukinho
Рабочий эртелекомовский конфиг:

Код: Выделить всё

[general]
bindaddr = 0.0.0.0:5060
qualify = yes
disallow = all
allow = alaw
dtmfmode = auto
allowguest = no
canreinvite = no
directmedia = no
directrtpsetup = no
srvlookup = no

register => 73512202225:***:73512202225@188.187.243.6/73512202225

[ert](!)
type = friend
disallow = all
allow = alaw
context = from-ert
nat = yes
qualify = yes
insecure = port,invite
fromuser = 73512202225

[ert-1](ert)
host = 188.187.243.6
port = 5060
auth = 73512202225
secret = ***

[ert-2](ert)
host = 188.187.243.5
port = 5060

[ert-3](ert)
host = 188.187.243.4
port = 5060

Re: 401 на INVITE с использованием nat

Добавлено: 17 сен 2013, 21:08
mapt
Vlad1983 писал(а):про NAT дельное замечание нужно в пирах
т.е. у вас в шаблоне [ertelecom-in](!) вместо nat=force_rport,comedia выставить nat=no

чтоб видеть дебаг в /etc/asterisk/logger.conf в строку console => добавить уровень debug
спасибо. попробовал: убрал нат, добавил дебаг, сделал рестарт, перешел в деблевел 10, ничего не поменялось.
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: собственно лог
[Sep 17 21:02:20] DEBUG[17276]: chan_sip.c:9161 find_call: = Looking for Call ID: db110e0a1fba11e3a46e5cf3fc1c586c@188.187.253.2 (Checking From) --From tag 3960279515-3809589791-4082921124-1817713916 --To-tag
[Sep 17 21:02:20] DEBUG[17276]: acl.c:979 ast_ouraddrfor: For destination '192.168.0.51', our source address is '192.168.0.65'.
[Sep 17 21:02:20] DEBUG[17276]: chan_sip.c:4031 ast_sip_ouraddrfor: Setting SIP_TRANSPORT_UDP with address 192.168.0.65:5060
[Sep 17 21:02:20] DEBUG[17276]: netsock2.c:138 ast_sockaddr_split_hostport: Splitting '188.187.253.2:5161' into...
[Sep 17 21:02:20] DEBUG[17276]: netsock2.c:192 ast_sockaddr_split_hostport: ...host '188.187.253.2' and port '5161'.
[Sep 17 21:02:20] DEBUG[17276]: chan_sip.c:17941 check_for_nat: NAT detected for 188.187.253.2:5161 / 192.168.0.51:1029
[Sep 17 21:02:20] DEBUG[17276]: chan_sip.c:8764 sip_alloc: Allocating new SIP dialog for db110e0a1fba11e3a46e5cf3fc1c586c@188.187.253.2 - INVITE (No RTP)
[Sep 17 21:02:20] DEBUG[17276][C-0000003c]: chan_sip.c:28063 handle_incoming: **** Received INVITE (5) - Command in SIP INVITE
[Sep 17 21:02:20] DEBUG[17276][C-0000003c]: netsock2.c:138 ast_sockaddr_split_hostport: Splitting '188.187.253.2:5161' into...
[Sep 17 21:02:20] DEBUG[17276][C-0000003c]: netsock2.c:192 ast_sockaddr_split_hostport: ...host '188.187.253.2' and port '5161'.
[Sep 17 21:02:20] DEBUG[17276][C-0000003c]: chan_sip.c:17941 check_for_nat: NAT detected for 188.187.253.2:5161 / 192.168.0.51:1029
[Sep 17 21:02:20] DEBUG[17276][C-0000003c]: netsock2.c:138 ast_sockaddr_split_hostport: Splitting '188.187.253.2:5161' into...
[Sep 17 21:02:20] DEBUG[17276][C-0000003c]: netsock2.c:192 ast_sockaddr_split_hostport: ...host '188.187.253.2' and port ''.
[Sep 17 21:02:20] DEBUG[17276][C-0000003c]: chan_sip.c:3874 __sip_xmit: Trying to put 'SIP/2.0 401' onto UDP socket destined for 192.168.0.51:1029
[Sep 17 21:02:20] DEBUG[17276]: chan_sip.c:9161 find_call: = Looking for Call ID: db110e0a1fba11e3a46e5cf3fc1c586c@188.187.253.2 (Checking From) --From tag 3960279515-3809589791-4082921124-1817713916 --To-tag as390455c1
[Sep 17 21:02:20] DEBUG[17276][C-0000003c]: chan_sip.c:28063 handle_incoming: **** Received ACK (6) - Command in SIP ACK
[Sep 17 21:02:20] DEBUG[17276][C-0000003c]: chan_sip.c:4566 __sip_ack: Stopping retransmission on 'db110e0a1fba11e3a46e5cf3fc1c586c@188.187.253.2' of Response 1: Match Found
далее повторения тогоже (эртелеком пытается несколько раз пропихнуть инвайт)...
192.168.0.51 - внутренний ip шлюза

Re: 401 на INVITE с использованием nat

Добавлено: 17 сен 2013, 21:09
mapt
Glukinho писал(а):Рабочий эртелекомовский конфиг:

Код: Выделить всё

[general]
bindaddr = 0.0.0.0:5060
qualify = yes
disallow = all
allow = alaw
dtmfmode = auto
allowguest = no
canreinvite = no
directmedia = no
directrtpsetup = no
srvlookup = no

register => 73512202225:***:73512202225@188.187.243.6/73512202225

[ert](!)
type = friend
disallow = all
allow = alaw
context = from-ert
nat = yes
qualify = yes
insecure = port,invite
fromuser = 73512202225

[ert-1](ert)
host = 188.187.243.6
port = 5060
auth = 73512202225
secret = ***

[ert-2](ert)
host = 188.187.243.5
port = 5060

[ert-3](ert)
host = 188.187.243.4
port = 5060

он у вас видимо с белым айпи, а не внутри локалки. ну или тогда вопрос: где externalip ?

Re: 401 на INVITE с использованием nat

Добавлено: 17 сен 2013, 21:16
awsswa
192.168.0.51:1029
188.187.253.2:5161 / 192.168.0.51:1029
опанки, это что за порты ?

Re: 401 на INVITE с использованием nat

Добавлено: 17 сен 2013, 21:20
mapt
awsswa писал(а):192.168.0.51:1029
188.187.253.2:5161 / 192.168.0.51:1029
опанки, это что за порты ?
разве это имеет значение при insecure=port,invite ?

Re: 401 на INVITE с использованием nat

Добавлено: 17 сен 2013, 21:24
awsswa
я не знаю что у вас там с маршрутизацией, но порт от провайдера по прилёту на сервер телефонии должен быть 5060

tcpdump -i any port 5060 -v

Re: 401 на INVITE с использованием nat

Добавлено: 17 сен 2013, 21:28
mapt
awsswa писал(а):я не знаю что у вас там с маршрутизацией, но порт от провайдера по прилёту на сервер телефонии должен быть 5060

tcpdump -i any port 5060 -v
ну так они и приходят на 5060. порт источник в udp пакете 5161 у эретелекома, 1029, после того как прошел наш шлюз. но приходит то пакет все равно к нам на 5060.

Re: 401 на INVITE с использованием nat

Добавлено: 17 сен 2013, 21:29
mapt
awsswa писал(а):я не знаю что у вас там с маршрутизацией, но порт от провайдера по прилёту на сервер телефонии должен быть 5060

tcpdump -i any port 5060 -v
tcpdump чтобы фильтровать все лишнее запускается несколько иначе:

Код: Выделить всё

tcpdump -nn -v -s0 port 5060 and \(src 188.187.253.3 or dst 188.187.253.3 or src 188.187.253.1 or dst 188.187.253.1 or src 188.187.253.2 or dst 188.187.253.2 or src 192.168.0.65 or dst 192.168.0.65\)
но суть таже

Re: 401 на INVITE с использованием nat

Добавлено: 17 сен 2013, 21:52
mapt
буржуи рекомендуют решать проблему через allowguest yes, но это имхо не выход.

http://forums.asterisk.org/viewtopic.php?f=1&t=80949

Re: 401 на INVITE с использованием nat

Добавлено: 17 сен 2013, 22:45
Glukinho
mapt писал(а):он у вас видимо с белым айпи, а не внутри локалки
С серым айпи, внутри локалки.
mapt писал(а):ну или тогда вопрос: где externalip ?
Изображение


С externalip/localnet Эртелеком ругался на мои пакеты REGISTER. Уж хрен их знает, почему.