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

Re: Входящие форбидн (одинаковая внутренняя нумерация)

СообщениеДобавлено: 20 фев 2019, 17:41
Vlad1983
я так понял что одна из сторон ТС не подвластна

Re: Входящие форбидн (одинаковая внутренняя нумерация)

СообщениеДобавлено: 20 фев 2019, 17:59
ded
если звонят на астериск с внутреннего (100) на номер (7777) то получаем:
check_auth: username mismatch, have <100>, digest has <7777>
handle_request_invite: Failed to authenticate device <sip:100@ipвходящего>;tag=as7f3fd346

потому как в астере тоже есть внутренний номер 100

Проблема yапоминает соединение site-to-site VPN, при котором обе стороны имеют одинаковую адресацию 192.168.1.0/24
И как быть? Выход такой: трансляция адресов.
Для сетей - NAT. Для телефонии - преобразования Set(CALLERID(num)=2${CALLERID(num)})

Re: Входящие форбидн (одинаковая внутренняя нумерация)

СообщениеДобавлено: 20 фев 2019, 18:45
vdimon
Да, все верно, но добавлять префикс к исходящему номеру который идёт до меня не хотят, говорят решайте проблему на своей стороне. Вот я и думаю, то ли я дурак, чего то не понимаю, и действительно можно разрулить входящий то ли .....

Re: Входящие форбидн (одинаковая внутренняя нумерация)

СообщениеДобавлено: 20 фев 2019, 20:38
ded
1) А не надо добавлять префикс к исходящему номеру который идёт до вас. Чего-то недопонимаете.
CALLERID(num) ==> EXTEN
ANI ==> DNID
YATE(100) ===> Asterisk(100)

Разрулить входящий можно. На стороне Астериска добавлять префикс:
Код: выделить все
[from-yate]

exten => _XXX,1,Set(CALLERID(num)=1${CALLERID(num)})
exten => _XXX,n,Dial(SIP/${EXTEN},,t)
При звонке YATE(100) ===> Asterisk(100) у абонента Астериска будет отображаться 1100

2) Связывайте по IAX2
https://forum.asterisk.ru/viewtopic.php?p=55656

Re: Входящие форбидн (одинаковая внутренняя нумерация)

СообщениеДобавлено: 20 фев 2019, 20:57
Vlad1983
если вариантов вообще нет на той стороне что-то сделать, то можно:
  1. попробовать попробовать перейти на chan_pjsip (не уверен что у него с этим проблем нет, даже если получится не факт что не вылезут проблемы похуже)
  2. повесить asterisk/kamailio/opensips/freeswitch рядом на свободный порт и использовать как транзитный софтсвитч
    и на нем уже любые преобразования творить
  3. можно вообще заменить asterisk на freeswitch
    это как крайний вариант

Re: Входящие форбидн (одинаковая внутренняя нумерация)

СообщениеДобавлено: 20 фев 2019, 21:29
ded
4.
Изображение

Re: Входящие форбидн (одинаковая внутренняя нумерация)

СообщениеДобавлено: 20 фев 2019, 21:30
Zavr2008
Тразитный астер решит проблемы ТС.

Re: Входящие форбидн (одинаковая внутренняя нумерация)

СообщениеДобавлено: 21 фев 2019, 05:33
vdimon
ded писал(а):1)
Разрулить входящий можно. На стороне Астериска добавлять префикс:


1 я выше писал, что добавлять в контекст на входяшку префикс не получается, звонок отбивается раньше...
пробовал так:

--sip.conf--
register=>7777:ddd444ddd@192.168.10.70/7777
[yate]
type=peer
host=192.168.10.70
context=call-in
insecure=port,invite

--extensions.conf--
[call-in]
exten => 7777,1,Set(CALLERID(num)=1${CALLERID(num)})
exten => 7777,n,Dial(SIP/105,10,tT)
exten => 7777,n,Hangup()

в итоге при звонке с yate с внутр 135 на 7777 ловим:
[Feb 21 09:29:37] WARNING[30681][C-00000012]: chan_sip.c:17235 check_auth: username mismatch, have <135>, digest has <7777>
[Feb 21 09:29:37] NOTICE[30681][C-00000012]: chan_sip.c:26307 handle_request_invite: Failed to authenticate device <sip:135@192.168.10.68>;tag=as58bbad89

ps ipyate=192.168.10.70, ip_aster=192.168.10.68

2 перевести на iax тоже не получится - тут крутить нужно обе атс, а возможность есть тока одну)

Re: Входящие форбидн (одинаковая внутренняя нумерация)

СообщениеДобавлено: 21 фев 2019, 05:35
vdimon
Zavr2008 писал(а):Тразитный астер решит проблемы ТС.

тоже была такая мысль - но только если 100 проц нет др способов)

Re: Входящие форбидн (одинаковая внутренняя нумерация)

СообщениеДобавлено: 21 фев 2019, 08:18
virus_net
https://forum.asterisk.ru/viewtopic.php ... 244#p37149
Vlad1983 писал(а):нет, сначала asterisk ищет все пиры с type=user и friend
если user заголовка from в INVITE совпадает хотя бы с одним таким пиром, будет сделан запрос авторизации.

Incoming SIP Connections
When Asterisk receives an incoming SIP call, the SIP Channel Module

first tries to find a [user] section matching the caller name (From: username),
then tries to find a [peer] section matching the caller’s IP address.
If no matching user or peer is found, the call is sent to the context defined in the [general] section of sip.conf.


Потому до контекста оно не дойдёт.
Подмену нужно делать на отправляющей стороне.
Поиск пира хорошо виден при core set debug 10