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

Panasonic TDA 200+PRI30+Asterisk настройка ARS на 2 SIP транка

СообщениеДобавлено: 26 июл 2021, 21:06
RusBee
Всех приветствую, прошу помощи. Ситуация следующая:
Есть Panasonic TDA200 (QSIG-Master) в связке с Asterisk (Slave) (Elastix) соединение E1/PRI. Городские линии подключены к АТС. 2 SIP транка подключены к Asterisk.
Внутренние номера АТС 1XX, 2XX, 3XX звонят на Asterisk 4XX и обратно, с этим все хорошо. Внутренние номера c Asteriska могут совершать звонки в город через АТС.
Есть два SIP транка на Asteriske - сипнет и местного провайдера. Междугородние и международные звонки с внутренних номеров Asteriska по шаблонам уходят на эти транки. С этим тоже проблем нет.
Проблема такая, абоненты АТС должны совершать звонки в зависимости от направления также на эти два транка. На АТС настроил ARS, по маске номера 8495XXXXXXX уходит на группу СО допустим 3 (все 30 линий PRI30 в группе 3)
далее в Asteriske входящая маршрутизация - любой СID/DID направление транк - Сипнет, то звонок с АТС уходит на транк.
Если набран другой номер по маске 7707XXXXXXX, а в Asteriske выбран в направлениях транк Сипнет, то звонок не проходит. Выбираю второй транк - звонок проходит, но не проходит теперь звонок по маске 8495XXXXXXX на транк Сипнет.

Как сделать маршрутизацию набраных номеров по шаблону на нужные транки, чтобы Asterisk полученные номера с АТС 8495XXXXXXX отправлял на транк сипнет, а номера 7707XXXXXXX шли в другой транк ?
Прошу помочь советом.

Re: Panasonic TDA 200+PRI30+Asterisk настройка ARS на 2 SIP транка

СообщениеДобавлено: 26 июл 2021, 21:43
Wi$e
Сделать два Outbound Routes, в одном prefix 8495, в другом 7707. Соответственно что бы астер исходя из префикса отправлял на нужный роут.
ps если я правильно понял вопрос

Re: Panasonic TDA 200+PRI30+Asterisk настройка ARS на 2 SIP транка

СообщениеДобавлено: 27 июл 2021, 08:13
RusBee
Wi$e писал(а):Сделать два Outbound Routes, в одном prefix 8495, в другом 7707. Соответственно что бы астер исходя из префикса отправлял на нужный роут.
ps если я правильно понял вопрос


Да поняли правильно. Маршруты есть и их несколько. С Asteriska звонки уходят правильно по маршрутам. Проблема при звонках с АТС. Панасоник все отправляет в один транк, а их два.

Re: Panasonic TDA 200+PRI30+Asterisk настройка ARS на 2 SIP транка

СообщениеДобавлено: 27 июл 2021, 08:22
SergA
RusBee писал(а):Проблема при звонках с АТС. Панасоник все отправляет в один транк, а их два.

Конфиг настроек АТС покажите.

Re: Panasonic TDA 200+PRI30+Asterisk настройка ARS на 2 SIP транка

СообщениеДобавлено: 27 июл 2021, 08:29
HAG
RusBee писал(а):
Wi$e писал(а):Сделать два Outbound Routes, в одном prefix 8495, в другом 7707. Соответственно что бы астер исходя из префикса отправлял на нужный роут.
ps если я правильно понял вопрос


Да поняли правильно. Маршруты есть и их несколько. С Asteriska звонки уходят правильно по маршрутам. Проблема при звонках с АТС. Панасоник все отправляет в один транк, а их два.

Так и должно быть. Разруливать должен Астер.

Re: Panasonic TDA 200+PRI30+Asterisk настройка ARS на 2 SIP транка

СообщениеДобавлено: 27 июл 2021, 08:44
RusBee
Попробую объяснить с картинками, так понятнее возможно я не совсем понятно изложил суть проблемы.
Настройки ARS на АТС
#122
Исходящий маршрут на Asteriske
#122
При звонке с АТС номер передается на Asterisk корректно
PBX->QSIG line No.342 Port:1 (elapsed time from LPR reset) 01/01/01 01:44:10
L2: I SAPI:0 TEI:0
L3:
SETUP crn:002F (O)
Bearer Capability: 90 90 A3 (3.1kHz Audio A-Law)
Channel Identity: A1 83 9F (channel=B31 pref.)
Called Party Number: 89 38 34 39 35 39 31 36 37 31 37 31
Type of Number= Unknown, Numbering Plan= Private
Number= 84959167171
02 01 D0 FA 08 02 00 2F 05 04 03 90 90 A3 18 03
A1 83 9F 70 0C 89 38 34 39 35 39 31 36 37 31 37
31

Asterisk принимает номер тоже без ошибок
-- Accepting call from '' to '84959167171' on channel 0/31, span 1
-- Executing [84959167171@from-pstn:1] NoOp("DAHDI/i1/-2c", "Catch-All DID M atch - Found 84959167171 - You probably want a DID for this.") in new stack
-- Executing [84959167171@from-pstn:2] Set("DAHDI/i1/-2c", "__FROM_DID=84959 167171") in new stack
-- Executing [84959167171@from-pstn:3] Goto("DAHDI/i1/-2c", "ext-did,s,1") i n new stack
-- Goto (ext-did,s,1)
-- Executing [s@ext-did:1] ExecIf("DAHDI/i1/-2c", "0?Set(__FROM_DID=s)") in new stack
-- Executing [s@ext-did:2] Set("DAHDI/i1/-2c", "CHANNEL(language)=ru") in ne w stack
-- Executing [s@ext-did:3] Gosub("DAHDI/i1/-2c", "app-blacklist-check,s,1()" ) in new stack
-- Executing [s@app-blacklist-check:1] GotoIf("DAHDI/i1/-2c", "0?blacklisted ") in new stack
-- Executing [s@app-blacklist-check:2] Set("DAHDI/i1/-2c", "CALLED_BLACKLIST =1") in new stack
-- Executing [s@app-blacklist-check:3] Return("DAHDI/i1/-2c", "") in new sta ck
-- Executing [s@ext-did:4] Set("DAHDI/i1/-2c", "CDR(did)=84959167171") in ne w stack
-- Executing [s@ext-did:5] ExecIf("DAHDI/i1/-2c", "1 ?Set(CALLERID(name)=)") in new stack
-- Executing [s@ext-did:6] Set("DAHDI/i1/-2c", "CHANNEL(musicclass)=default" ) in new stack
-- Executing [s@ext-did:7] Set("DAHDI/i1/-2c", "__MOHCLASS=default") in new stack
-- Executing [s@ext-did:8] Set("DAHDI/i1/-2c", "__CALLINGPRES_SV=unavailable ") in new stack
-- Executing [s@ext-did:9] Set("DAHDI/i1/-2c", "CALLERPRES()=allowed_not_scr eened") in new stack
-- Executing [s@ext-did:10] Goto("DAHDI/i1/-2c", "ext-trunk,2,1") in new sta ck
-- Goto (ext-trunk,2,1)
-- Executing [2@ext-trunk:1] Set("DAHDI/i1/-2c", "TDIAL_STRING=SIP/Sipnet") in new stack
-- Executing [2@ext-trunk:2] Set("DAHDI/i1/-2c", "DIAL_TRUNK=2") in new stac k
-- Executing [2@ext-trunk:3] Goto("DAHDI/i1/-2c", "ext-trunk,tdial,1") in ne w stack
-- Goto (ext-trunk,tdial,1)
-- Executing [tdial@ext-trunk:1] Set("DAHDI/i1/-2c", "OUTBOUND_GROUP=OUT_2") in new stack
-- Executing [tdial@ext-trunk:2] GotoIf("DAHDI/i1/-2c", "1?nomax") in new st ack
-- Goto (ext-trunk,tdial,4)
-- Executing [tdial@ext-trunk:4] ExecIf("DAHDI/i1/-2c", "1?Set(CALLERPRES()= unavailable)") in new stack
-- Executing [tdial@ext-trunk:5] Set("DAHDI/i1/-2c", "DIAL_NUMBER=8495916717 1") in new stack
-- Executing [tdial@ext-trunk:6] GosubIf("DAHDI/i1/-2c", "0?sub-flp-2,s,1()" ) in new stack
-- Executing [tdial@ext-trunk:7] Set("DAHDI/i1/-2c", "OUTNUM=84959167171") i n new stack
-- Executing [tdial@ext-trunk:8] Set("DAHDI/i1/-2c", "DIAL_TRUNK_OPTIONS=") in new stack
-- Executing [tdial@ext-trunk:9] Dial("DAHDI/i1/-2c", "SIP/Sipnet/8495916717 1,300,") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called SIP/Sipnet/84959167171
-- SIP/Sipnet-0000002b is ringing
-- SIP/Sipnet-0000002b answered DAHDI/i1/-2c
> 0x7fe86800f6c0 -- Probation passed - setting RTP source address to 212. 53.40.77:30528
-- Span 1: Channel 0/31 got hangup request, cause 16
== Spawn extension (ext-trunk, tdial, 9) exited non-zero on 'DAHDI/i1/-2c'
-- Hungup 'DAHDI/i1/-2c'

На Asteriske во входящей маршрутизации следующее
#122
#122
При таких настройках все звонки уходят на один транк сипнет.

Если я пишу в поле DID шаблон 8495XXXXXXX.- то звонок не проходит
#122
на Asteriske следующее
-- Accepting call from '' to '84959167171' on channel 0/31, span 1
-- Executing [84959167171@from-pstn:1] Set("DAHDI/i1/-2e", "__FROM_DID=84959167171") in new stack
-- Executing [84959167171@from-pstn:2] NoOp("DAHDI/i1/-2e", "Received an unknown call with DID set to 84959167171") in new stack
-- Executing [84959167171@from-pstn:3] Goto("DAHDI/i1/-2e", "s,a2") in new stack
-- Goto (from-pstn,s,2)
-- Executing [s@from-pstn:2] Answer("DAHDI/i1/-2e", "") in new stack
-- Executing [s@from-pstn:3] Wait("DAHDI/i1/-2e", "2") in new stack
-- Executing [s@from-pstn:4] Playback("DAHDI/i1/-2e", "ss-noservice") in new stack
-- <DAHDI/i1/-2e> Playing 'ss-noservice.gsm' (language 'en')
-- Executing [s@from-pstn:5] SayAlpha("DAHDI/i1/-2e", "84959167171") in new stack
-- <DAHDI/i1/-2e> Playing 'digits/8.gsm' (language 'en')
-- <DAHDI/i1/-2e> Playing 'digits/4.gsm' (language 'en')
-- <DAHDI/i1/-2e> Playing 'digits/9.gsm' (language 'en')
-- <DAHDI/i1/-2e> Playing 'digits/5.gsm' (language 'en')
-- <DAHDI/i1/-2e> Playing 'digits/9.gsm' (language 'en')
-- <DAHDI/i1/-2e> Playing 'digits/1.gsm' (language 'en')
-- <DAHDI/i1/-2e> Playing 'digits/6.gsm' (language 'en')
-- <DAHDI/i1/-2e> Playing 'digits/7.gsm' (language 'en')
-- <DAHDI/i1/-2e> Playing 'digits/1.gsm' (language 'en')
-- <DAHDI/i1/-2e> Playing 'digits/7.gsm' (language 'en')
-- <DAHDI/i1/-2e> Playing 'digits/1.gsm' (language 'en')
-- Executing [s@from-pstn:6] Hangup("DAHDI/i1/-2e", "") in new stack
== Spawn extension (from-pstn, s, 6) exited non-zero on 'DAHDI/i1/-2e'
-- Executing [h@from-pstn:1] Macro("DAHDI/i1/-2e", "hangupcall,") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("DAHDI/i1/-2e", "1?endmixmoncheck") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] NoOp("DAHDI/i1/-2e", "End of MIXMON check") in new stack
-- Executing [s@macro-hangupcall:10] GotoIf("DAHDI/i1/-2e", "1?nomeetmemon") in new stack
-- Goto (macro-hangupcall,s,28)
-- Executing [s@macro-hangupcall:28] NoOp("DAHDI/i1/-2e", "End of MEETME check") in new stack
-- Executing [s@macro-hangupcall:29] GotoIf("DAHDI/i1/-2e", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,34)
-- Executing [s@macro-hangupcall:34] NoOp("DAHDI/i1/-2e", "TOUCH_MONITOR_OUTPUT=") in new stack
-- Executing [s@macro-hangupcall:35] GotoIf("DAHDI/i1/-2e", "1?noautomon2") in new stack
-- Goto (macro-hangupcall,s,41)
-- Executing [s@macro-hangupcall:41] NoOp("DAHDI/i1/-2e", "MONITOR_FILENAME=") in new stack
-- Executing [s@macro-hangupcall:42] GotoIf("DAHDI/i1/-2e", "1?noautomon3") in new stack
-- Goto (macro-hangupcall,s,48)
-- Executing [s@macro-hangupcall:48] NoOp("DAHDI/i1/-2e", "MIXMONITOR_FILENAME=") in new stack
-- Executing [s@macro-hangupcall:49] GotoIf("DAHDI/i1/-2e", "1?noautomon4") in new stack
-- Goto (macro-hangupcall,s,51)
-- Executing [s@macro-hangupcall:51] NoOp("DAHDI/i1/-2e", "ONETOUCH_RECFILE=") in new stack
-- Executing [s@macro-hangupcall:52] GotoIf("DAHDI/i1/-2e", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,55)
-- Executing [s@macro-hangupcall:55] GotoIf("DAHDI/i1/-2e", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,58)
-- Executing [s@macro-hangupcall:58] GotoIf("DAHDI/i1/-2e", "1?theend") in new stack
-- Goto (macro-hangupcall,s,60)
-- Executing [s@macro-hangupcall:60] AGI("DAHDI/i1/-2e", "hangup.agi") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/hangup.agi
-- <DAHDI/i1/-2e>AGI Script hangup.agi completed, returning 0
-- Executing [s@macro-hangupcall:61] Hangup("DAHDI/i1/-2e", "") in new stack
== Spawn extension (macro-hangupcall, s, 61) exited non-zero on 'DAHDI/i1/-2e' in macro 'hangupcall'
== Spawn extension (from-pstn, h, 1) exited non-zero on 'DAHDI/i1/-2e'
-- Hungup 'DAHDI/i1/-2e'


Можно как то идентифицировать звонки и правильно их разнести по двум транкам?

Re: Panasonic TDA 200+PRI30+Asterisk настройка ARS на 2 SIP транка

СообщениеДобавлено: 27 июл 2021, 08:52
HAG
Можно, нужен спец по Астериску.

Re: Panasonic TDA 200+PRI30+Asterisk настройка ARS на 2 SIP транка

СообщениеДобавлено: 27 июл 2021, 08:53
RusBee
Настройки на АТС
#122
#122
#122
#122
#122
#122
#122

Re: Panasonic TDA 200+PRI30+Asterisk настройка ARS на 2 SIP транка

СообщениеДобавлено: 27 июл 2021, 08:55
RusBee
HAG писал(а):Можно, нужен спец по Астериску.

Можете подсказать хоть в каком направлении искать решение?

Re: Panasonic TDA 200+PRI30+Asterisk настройка ARS на 2 SIP транка

СообщениеДобавлено: 27 июл 2021, 09:09
HAG
RusBee писал(а):
HAG писал(а):Можно, нужен спец по Астериску.

Можете подсказать хоть в каком направлении искать решение?

https://forum.asterisk.ru/