VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Trunk между S4B server и Asterisk

Проблемы Asterisk без вэб-оболочек и их решения

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

leksakov
Сообщения: 11
Зарегистрирован: 19 мар 2019, 17:00

Trunk между S4B server и Asterisk

Сообщение leksakov »

Всем привет!
К сожалению не нашёл решения вопроса, поэтому прошу вашей помощи.
Есть S4B server 2019 и Asterisk + FreePBX, связаны транком. Звонки с Asterisk на S4B проходят без проблем, в обратную сторону не идут.
Ошибка SIP/2.0 401 Unauthorized. Сервера разделены между собой VPN, NAT между ними нет.

[trunk]
type=friend
nat=no
transport=tcp
qualify=yes
port=5060
insecure=invite,port
host=172.30.0.82
disallow=all
canreinvite=yes
allow=alaw&ulaw
context=from-internal
promiscredir=yes


Вот лог астериска при входящем звонке с S4B.

<--- SIP read from TCP:172.30.0.82:60160 --->
INVITE sip:700@asterisk.domain.ru;user=phone SIP/2.0
FROM: "Test"<sip:0700;phone-context=defaultprofile@ekf.su;user=phone>;epid=EB876079FA;tag=7c93485c
TO: <sip:700@asterisk.ekfgroup.ru;user=phone>
CSEQ: 2448 INVITE
CALL-ID: fd3e4cd9-219a-4525-85bd-079a0795385c
MAX-FORWARDS: 70
VIA: SIP/2.0/TCP 172.30.0.82:60160;branch=z9hG4bK1ff22a5f
CONTACT: <sip:sfb-fe.domain.ru:5060;transport=Tcp;maddr=172.30.0.82;ms-opaque=53b0ff566fc81e45>
CONTENT-LENGTH: 338
SUPPORTED: 100rel
USER-AGENT: RTCC/7.0.0.0 MediationServer
CONTENT-TYPE: application/sdp
ALLOW: ACK
Allow: CANCEL,BYE,INVITE,PRACK,UPDATE

v=0
o=- 1255 1 IN IP4 172.30.0.82
s=session
c=IN IP4 172.30.0.82
b=CT:1000
t=0 0
m=audio 56242 RTP/AVP 97 101 13 0 8
c=IN IP4 172.30.0.82
a=rtcp:56243
a=label:Audio
a=sendrecv
a=rtpmap:97 RED/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=rtpmap:13 CN/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=ptime:20
<------------->
--- (14 headers 18 lines) ---
Sending to 172.30.0.82:60160 (no NAT)
Sending to 172.30.0.82:60160 (no NAT)
Using INVITE request as basis request - fd3e4cd9-219a-4525-85bd-079a0795385c
No matching peer for '0700;phone-context=defaultprofile' from '172.30.0.82:60160'

<--- Reliably Transmitting (no NAT) to 172.30.0.82:60160 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/TCP 172.30.0.82:60160;branch=z9hG4bK1ff22a5f;received=172.30.0.82
From: "Test"<sip:0700;phone-context=defaultprofile@domain.su;user=phone>;epid=EB876079FA;tag=7c93485c
To: <sip:700@asterisk.domain.ru;user=phone>;tag=as33ca667a
Call-ID: fd3e4cd9-219a-4525-85bd-079a0795385c
CSeq: 2448 INVITE
Server: FPBX-14.0.5.25(13.22.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="1ff922cf"
Content-Length: 0


Подскажите в какую сторону рыть?
april22
Сообщения: 2187
Зарегистрирован: 09 июл 2012, 09:47

Re: Trunk между S4B server и Asterisk

Сообщение april22 »

SIP/2.0 401 Unauthorized видимо в эту..
Своими вопросами , вы загоняете меня в ГУГЛЬ.
BorisTheBlade
Сообщения: 167
Зарегистрирован: 14 фев 2011, 14:24

Re: Trunk между S4B server и Asterisk

Сообщение BorisTheBlade »

Я полагаю астериск не находит пир trunk, тк в конфиге порт 5060, а по факту 60160, видимо insecure=port,invite не отрабатывает.
leksakov
Сообщения: 11
Зарегистрирован: 19 мар 2019, 17:00

Re: Trunk между S4B server и Asterisk

Сообщение leksakov »

Как я понял проблема в том, что S4B отсылает invite c random порта, а не 5060, с которого ожидает астериск. И астериск отправляет ответ на этот же порт, а Lync на random порте уже ничего не ждёт.
leksakov
Сообщения: 11
Зарегистрирован: 19 мар 2019, 17:00

Re: Trunk между S4B server и Asterisk

Сообщение leksakov »

Как я понял проблема заключается в том, что S4B отправляет invite с random порта, а не с 5060, и asterisk отвечает именно на этот порт, а S4B уже не ждёт ответа на этот порт.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Trunk между S4B server и Asterisk

Сообщение ded »

Именно для этого и устанавливается
insecure=port,invite
на пире.
leksakov
Сообщения: 11
Зарегистрирован: 19 мар 2019, 17:00

Re: Trunk между S4B server и Asterisk

Сообщение leksakov »

Подскажите пожалуйста, а почему этот параметр может не отрабатывать?
leksakov
Сообщения: 11
Зарегистрирован: 19 мар 2019, 17:00

Re: Trunk между S4B server и Asterisk

Сообщение leksakov »

Вообщем не отрабатывают эти параметры потому, что входящее соединение с сервера S4B не идентифируется астериском как friend. Я полностью удалил транк, включил allow sip guests и в логах видно что при звонке соединение идет из SIP/S4B_default_domain. Тоже самое получается и при включенном транке. Астериск ничего не знает о нём. Теперь насколько я понимаю надо заставить S4B не присылать данных о домене, а просто свой ip.
BorisTheBlade
Сообщения: 167
Зарегистрирован: 14 фев 2011, 14:24

Re: Trunk между S4B server и Asterisk

Сообщение BorisTheBlade »

Это было понятно с самого начала, в логе же астериск написал что не смог найти такой user\peer:

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

No matching peer for '0700;phone-context=defaultprofile' from '172.30.0.82:60160'
Если посмотреть сэмпл sip.conf, там прописано как поиск происходит:

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

;	1. Asterisk checks the SIP From: address username and matches against
;	   names of devices with type=user
;	   The name is the text between square brackets [name]
;	2. Asterisk checks the From: addres and matches the list of devices
;	   with a type=peer
;	3. Asterisk checks the IP address (and port number) that the INVITE
; was sent from and matches against any devices with type=peer
Пункты 1 и 2 не работают по очевидным причинам, остается пункт 3, он должен по идее отработать, тк опция insecure отключает фильтрацию по порту, но очевидно не работает.

Какая версия астериска ?
В 16 ветке была проблема с этим, но я сам не проверял.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Trunk между S4B server и Asterisk

Сообщение ded »

tcpdump поможет увидеть.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH