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

Kamailio + Asterisk PJSIP без регистрации

Проблемы и их решения Asterisk как такового

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

Kamailio + Asterisk PJSIP без регистрации

Сообщение AndyBack » 15 окт 2022, 22:37

У меня есть Kamailio и Asterisk 16 в локальной изолированной сети. Все абоненты регистрируются на Kamailio и получается регистрация на Asterisk вроде как не нужна. Звонок (легА) приходит на Kamailio, тот передает его в Asterisk. Asterisk по диалплану делает новый звонок (легБ) и отправляет его обратно в Kamailio, Т.к. позвонить могут только на Kamailio а Asterisk им недоступен, то вроде получается у Asterisk нет никаких своих внутренних абонентов и задача сводится к принять с транка и направить в тот же транк...

- Как в PJSIP сделать взаимодействие Kamailio <---> Asterisk без регистраций/паролей итд? Чтобы Asterisk обрабатывал любые номера (неверные отсечет Kamailio)
- Такая схема имеет смысл? Или надо действовать иначе?

Интернет говорит, что надо идентифицировать Kamailio по IP адресу и не указывать блок auth...

pjsip.conf
[global]

;================================ TRANSPORTS ==
[transport-udp]
type = transport
protocol = udp
bind = 0.0.0.0

;================================ ENDPOINT TEMPLATES ==
[kamailio]
type = endpoint
transport = transport-udp
context = kamailio-in
allow = !all,alaw,ulaw
direct_media = no
dtmf_mode = rfc4733
aors = kamailio

[kamailio]
type = identify
endpoint = kamailio
srv_lookups = no
match = 192.168.1.170 ; это адрес Kamailio

[kamailio]
type = aor
contact = sip:192.168.1.170:5060

extensions.conf
[globals]
INTERNAL_DIAL_OPT=30

[kamailio-in]
exten = _X.,1,NoOp("New Call ---- From[${CALLERID(name)}] ---> To[${EXTEN}]")
same = n, Dial(PJSIP/${EXTEN}@kamailio, ${INTERNAL_DIAL_OPT})
same = n. Hangup()

В результате имею:

Connected to Asterisk 16.16.1~dfsg-1+deb11u1 currently running on ast1 (pid = 8260)
Core debug is still 5.
-- Executing [2012@kamailio-in:1] NoOp("PJSIP/kamailio-00000000", ""New Call ---- From[2011] ---> To[2012]"") in new stack
-- Executing [2012@kamailio-in:2] Dial("PJSIP/kamailio-00000000", "PJSIP/2012@kamailio, 30") in new stack
-- Called PJSIP/2012@kamailio
[Oct 15 21:35:02] WARNING[8287]: res_pjsip_outbound_authenticator_digest.c:178 digest_create_request_with_auth: Endpoint: 'kamailio': Unable to create request with auth. No auth credentials for realm(s) '192.168.1.173' in challenge.
== Everyone is busy/congested at this time (1:0/0/1)
-- Auto fallthrough, channel 'PJSIP/kamailio-00000000' status is 'CHANUNAVAIL'
ast1*CLI>

Т.е. Asterisk не может создать исходящий без auth.
AndyBack
 
Сообщений: 36
Зарегистрирован: 31 авг 2018, 23:03

Re: Kamailio + Asterisk PJSIP без регистрации

Сообщение Turbid » 02 ноя 2022, 20:17

Вангую что Kamailio на INVITE тебе отдает 407 с просьбой авторизоваться (как последнего абонента какого-то), а астериск такой - ты чего, мы же друзья.

Надо научить Kamailio принимать входящие от астериска без авторизации.
Turbid
 
Сообщений: 21
Зарегистрирован: 22 окт 2015, 15:59

Re: Kamailio + Asterisk PJSIP без регистрации

Сообщение AndyBack » 05 ноя 2022, 00:04

Надо научить Kamailio принимать входящие от астериска без авторизации.

Я научил. Это не сложно. https://blog.ipcalls24.com/kamailio-dispatcher/

Суть в том, что надо проверять IP-адрес, с которого приходит запрос. И если это адрес одного из астерисков, не делать авторизацию, а сразу идти дальше по конфигу. Гораздо сложнее было научить астериск (pjsip) обрабатывать любые звонки с любыми номерами без какой-либо авторизации. Астериски у меня в локальной сети и никакие посторонние звонки там невозможны (будут отсечены Kamailio). С этим я тоже справился - нужно в настройках не указывать никакие пароли.
AndyBack
 
Сообщений: 36
Зарегистрирован: 31 авг 2018, 23:03

Re: Kamailio + Asterisk PJSIP без регистрации

Сообщение ded » 05 ноя 2022, 10:01

астериск может обрабатывать любые звонки с любыми номерами без какой-либо авторизации через chan_sip.
Это самая простая форма вызова по SIP - SIP URI. Cisco systems, SNOM, много лет используют универсальные унифицированные resource indicators для своих сотрудников. Mail URI = SIP URI (Stuart.Biggs@cisco.com). Можно писать, и можно звонить.

exten => 1234,1,Dial(SIP/Stuart.Biggs@cisco.com)
exten => 5678,1,Dial(Mark.Spenser@digium.com)

А с PJSIP как раз проблемы у такой формы.
ded
 
Сообщений: 15793
Зарегистрирован: 26 авг 2010, 19:00

Re: Kamailio + Asterisk PJSIP без регистрации

Сообщение AndyBack » 05 ноя 2022, 12:59

Да allowguest=yes в sip.conf решает проблемы. Но это работает только для старого chan_sip. Chan_sip в последних астерисках творит какую-то бесовщину в AMI и течет при нагрузках за 80%. Последний вменяемый астериск - Астериск 11. Но астериск 11 не собирается на последних Дебианах/Убунтах, а старые Дебианы/Убунты не ставятся на современные сервера... Я давно сказал бы астериску "давайдосвиданья", если бы не заказчик с кучей стороннего софта, ориентирующегося на астериск.
AndyBack
 
Сообщений: 36
Зарегистрирован: 31 авг 2018, 23:03

Re: Kamailio + Asterisk PJSIP без регистрации

Сообщение ded » 05 ноя 2022, 15:19

1) В последних Дебианах/Убунтах по прежнему есть команда
apt install asterisk

2)
AndyBack писал(а):Chan_sip в последних астерисках творит какую-то бесовщину в AMI и течет при нагрузках за 80%.
Потому что модуль chan_sip не поддерживает мультитреадность.
Но, например, в нашей компании давно сделан форк Asterisk на Debian 10, где код chan_sip радикально переписан для этой поддержки.
Считаю, что усложнение канала (pjsip состоит из 48 файлов!) не оправдано в рамках развития Астериск.
ded
 
Сообщений: 15793
Зарегистрирован: 26 авг 2010, 19:00

Re: Kamailio + Asterisk PJSIP без регистрации

Сообщение Turbid » 06 ноя 2022, 13:36

ded писал(а):А с PJSIP как раз проблемы у такой формы.


Сказки какие-то.

Код: выделить все
PJSIP/<endpoint>/<SIP URI>


ded писал(а):Но, например, в нашей компании давно сделан форк Asterisk на Debian 10, где код chan_sip радикально переписан для этой поддержки.


Принято прикладывать ссылку на сорцы
Turbid
 
Сообщений: 21
Зарегистрирован: 22 окт 2015, 15:59

Re: Kamailio + Asterisk PJSIP без регистрации

Сообщение Wapo » 06 ноя 2022, 15:55

Код: выделить все
Принято прикладывать ссылку на сорцы

Уууу - желание влезть в рай на ЧУЖИХ ПЛЕЧАХ?
При компиляции/сборки все ошибки видны - остается их поменять под а-ля новый стек/адресацию.

И соглашусь - 11 версия астера идеальна - только ее в продакшен и ставлю.
Аватар пользователя
Wapo
 
Сообщений: 795
Зарегистрирован: 02 мар 2011, 18:53

Re: Kamailio + Asterisk PJSIP без регистрации

Сообщение AndyBack » 06 ноя 2022, 16:51

Уууу - желание влезть в рай на ЧУЖИХ ПЛЕЧАХ?

Ну кто-то же влез, взяв астериск, а не написав полностью свое с нуля...
И соглашусь - 11 версия астера идеальна - только ее в продакшен и ставлю.

А как вы его ставите на новые(современные) дистрибутивы? Компилировать некопилящееся с новыми либами = вносить свои баги. Делать свои форки, как тут писали - надо иметь не хилый запас времени и бюджет (помимо мозгов). Поставить на современную машину, к примеру, Дебиан 8 (где астериск 11 собирается на ура) - та еще задача... Докеры, Кубернетисы - фтопку.

У меня, видимо, стандартная проблема. Исходя из требований заказчиков, я не могу пойти на авито. Следовательно, дорога мне только за серверами типа Делл или Супермикро. А там без проблем ставится только Виндовс 11... А то, на что ставились относительно старые дистрибутивы, давно сняты с производства.
Последний раз редактировалось AndyBack 06 ноя 2022, 17:08, всего редактировалось 2 раз(а).
AndyBack
 
Сообщений: 36
Зарегистрирован: 31 авг 2018, 23:03

Re: Kamailio + Asterisk PJSIP без регистрации

Сообщение Turbid » 06 ноя 2022, 16:57

Wapo писал(а):Уууу - желание влезть в рай на ЧУЖИХ ПЛЕЧАХ?

В рай на протухшей версии Asterisk? Увольте.
Надеюсь хоть, в соответствии с GPL, заказчику/пользователю своих инсталляций ded отдает код по первому требованию.

Wapo писал(а):И соглашусь - 11 версия астера идеальна - только ее в продакшен и ставлю.


Со всеми CVS? Как мило.
Turbid
 
Сообщений: 21
Зарегистрирован: 22 окт 2015, 15:59

След.

Вернуться в Конфигурация и настройка Asterisk

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

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

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