ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

PJSIP: qualify всегда 0 у клиентов за NAT

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

PJSIP: qualify всегда 0 у клиентов за NAT

Сообщение Felt » 02 ноя 2017, 00:00

Решил стать немного образованнее и разобраться с PJSIP.

Завёл несколько внутренних абонентов. Те, которые внутри сети - показывают нормальное значение RTT(ms), например, 1.703 или 21.305.
Номер 97 за NAT, остальные внутри сети. Показывает его Unavail, хотя связь есть, всё нормально, аппарат зарегистрирован.

И еще у абонента 97 показывает IP в другой сети, вместо внешнего почему-то. Т.е. у него реально IP 192.168.0.192, но в отличной от Asterisk'а сети (далеко за интернетом).

Endpoint: <Endpoint/CID.....................................> <State.....> <Channels.>
I/OAuth: <AuthId/UserName...........................................................>
Aor: <Aor............................................> <MaxContact>
Contact: <Aor/ContactUri..........................> <Hash....> <Status> <RTT(ms)..>
Transport: <TransportId........> <Type> <cos> <tos> <BindAddress..................>
Identify: <Identify/Endpoint.........................................................>
Match: <criteria.........................>
Channel: <ChannelId......................................> <State.....> <Time.....>
Exten: <DialedExten...........> CLCID: <ConnectedLineCID.......>
==========================================================================================

Endpoint: 50 Not in use 0 of inf
InAuth: auth50/50
Aor: 50 1
Contact: 50/sip:50@192.168.0.143:5060 3265de1c11 Avail 21.305
Transport: udp-transport udp 0 0 0.0.0.0:5060

Endpoint: 97 Unavailable 0 of inf
InAuth: auth97/97
Aor: 97 10
Contact: 97/sip:97@192.168.0.192:5021 0b91db5abb Unavail 0.000
Transport: udp-transport udp 0 0 0.0.0.0:5060

Endpoint: 98 Not in use 0 of inf
InAuth: auth98/98
Aor: 98 1
Contact: 98/sip:98@192.168.0.8:5060 0891fea9e4 Avail 1.975
Transport: udp-transport udp 0 0 0.0.0.0:5060

Endpoint: 99 Not in use 0 of inf
InAuth: auth99/99
Aor: 99 1
Contact: 99/sip:99@192.168.0.17:5060 06c298aa43 Avail 1.703
Transport: udp-transport udp 0 0 0.0.0.0:5060



ats-asterisk-1017*CLI> pjsip show aors

Aor: <Aor..............................................> <MaxContact>
Contact: <Aor/ContactUri............................> <Hash....> <Status> <RTT(ms)..>
==========================================================================================

Aor: 50 1
Contact: 50/sip:50@192.168.0.143:5060 3265de1c11 Avail 21.501

Aor: 97 10
Contact: 97/sip:97@192.168.0.192:5021 0b91db5abb Unavail 0.000

Aor: 98 1
Contact: 98/sip:98@192.168.0.8:5060 0891fea9e4 Avail 1.408

Aor: 99 1
Contact: 99/sip:99@192.168.0.17:5060 06c298aa43 Avail 1.658


Если аппарат выключить и включить, то появление на связи отображается вроде бы:
-- Added contact 'sip:97@192.168.0.192:5021' to AOR '97' with expiration of 900 seconds
== Contact 97/sip:97@192.168.0.192:5021 has been created
== Endpoint 97 is now Reachable

А по прошествии времени qualify_timeout появляется:
-- Contact 97/sip:97@192.168.0.192:5021 is now Unreachable. RTT: 0.000 msec
== Endpoint 97 is now Unreachable


Подскажите, как побороть, чтобы было реальное время, а не 0.000 msec ?

Настройки pjsip.conf:
[udp-transport]
type = transport
protocol = udp
bind = 0.0.0.0
local_net=192.168.0.0/16
local_net=127.0.0.1/32
external_media_address=171.218.87.116
external_signaling_address=171.218.87.116
external_signaling_port=1123

[97]
type = endpoint
transport = udp-transport
context = office
disallow = all
allow = alaw
aors = 97
auth = auth97

[97]
type = aor
qualify_frequency=60
qualify_timeout=5.0
authenticate_qualify=no
max_contacts = 10

[auth97]
type=auth
auth_type=userpass
password=Pw10_34
username=97
Felt
 
Сообщений: 66
Зарегистрирован: 25 фев 2017, 16:52

Re: PJSIP: qualify всегда 0 у клиентов за NAT

Сообщение awsswa » 02 ноя 2017, 09:18

у SIP показывается в настройках что клиент за NAT = nat=yes в настройках клиента
у pj_sip есть такие настройки для каждого клиента ?
платный суппорт по мере возможностей
awsswa
 
Сообщений: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: PJSIP: qualify всегда 0 у клиентов за NAT

Сообщение Felt » 02 ноя 2017, 12:02

nat=force_rport,comedia - эта настройка по идее только для прохождения rtp в обе стороны нужна, на qualify она же не влияет никак. Просто, чтобы у обе стороны было слышно.
Felt
 
Сообщений: 66
Зарегистрирован: 25 фев 2017, 16:52

Re: PJSIP: qualify всегда 0 у клиентов за NAT

Сообщение awsswa » 02 ноя 2017, 14:26

настройка нат отвечает за поиск клиента.
qualify - это простая пинговал с анализом времени ответа на ping
платный суппорт по мере возможностей
awsswa
 
Сообщений: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: PJSIP: qualify всегда 0 у клиентов за NAT

Сообщение ded » 02 ноя 2017, 14:33

awsswa писал(а):qualify - это простая пинговал с анализом времени ответа на ping
... для поддержки НАТ-трансляций для хостов за НАТ.
К сожалению qualify=yes оставляют автоматом везде бездумно.
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: PJSIP: qualify всегда 0 у клиентов за NAT

Сообщение Felt » 02 ноя 2017, 17:19

С qualify мы анализируем вообще включен ли оператор. На этот же показатель у нас завязаны уведомления на почту, если критически важный оператор отсутствует. Да и для анализа качества телефонной сети у клиентов через Zabbix собираем этот показатель по каждому пиру. Короче мы qualify в хвост и в гриву, мне он нужен.

Смутило, что при том же типе настроек как в старом sip.conf в новом pjsip.conf я получаю нереальное нулевое значение у тех, кто за NAT.
Я так предполагаю, что это как-то связано с тем, что Астериск считает, что у этого аппарата IP внутри локальной сети Астериска. Как я писал у аппарата за NAT в Астериске выводится IP 192.168.0.192 - у него действительно такой IP, но в другом офисе. А для Астериска у него должен же отобразиться глобальный адрес удаленного офиса. Видимо Астериск пингует этот [с виду локальный] IP, а там никто не отвечает.

Не знаете, что нужно прописать в pjsip.conf, чтобы qualify появился для NATовцев?

P.S. Если смотреть на статью разработчиков Астериска, то вроде всё правильно сделал:
https://wiki.asterisk.org/wiki/display/ ... hrough+NAT
Последний раз редактировалось Felt 02 ноя 2017, 17:32, всего редактировалось 1 раз.
Felt
 
Сообщений: 66
Зарегистрирован: 25 фев 2017, 16:52

Re: PJSIP: qualify всегда 0 у клиентов за NAT

Сообщение ded » 02 ноя 2017, 17:27

Не знаю зачем вообще (пока что) заниматься pjsip.
ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: PJSIP: qualify всегда 0 у клиентов за NAT

Сообщение Felt » 02 ноя 2017, 17:50

Согласен отчасти с вами, ded.
Есть у нас один клиент, которому захотелось до невозможности настолько PJSIP, что они сами настроили. Но у них нет никого за NAT, а я решил попробовать подключить для опытов у себя. Чтобы расширить профессиональный кругозор, так сказать.

Перечитал всю доку из интернета по этому PJSIP, в том числе с официального сайта - ничего толкового нет, всё как я и сделал.

Кстати, нашел забавный кусочек из документации :)
Вложения
nat2.png
nat2.png (45.52 KIB) Просмотров: 12167
Felt
 
Сообщений: 66
Зарегистрирован: 25 фев 2017, 16:52

Re: PJSIP: qualify всегда 0 у клиентов за NAT

Сообщение Felt » 02 ноя 2017, 18:04

Тут, кстати, еще немного информации. Вдруг кто-то будет искать - вот ссылка:
https://wiki.asterisk.org/wiki/display/ ... +res_pjsip

Попробую через несколько часов и отпишусь. Информации на самом деле мало.
Вложения
nat3.png
Felt
 
Сообщений: 66
Зарегистрирован: 25 фев 2017, 16:52

Re: PJSIP: qualify всегда 0 у клиентов за NAT

Сообщение Vlad1983 » 02 ноя 2017, 18:08

ЛС: @rostel
Vlad1983
 
Сообщений: 4251
Зарегистрирован: 09 авг 2011, 11:51

След.

Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH