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

Elastix, IAX2 настройка звонков.

Обо всем касательно FreePBX, MetPBX, TrixBox, Elastix, AstPBX и всех других дистрибутивов

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

Ответить
slik45
Сообщения: 7
Зарегистрирован: 28 июл 2014, 14:25

Elastix, IAX2 настройка звонков.

Сообщение slik45 »

Добрый день!
Нуждаюсь в помощи/подсказке по настройке данного ПО.
В общем сейчас имею, 2 сервера с еластиксом, 2 сип транка, звонки на вход и исход работают.
2 сервера соединил, звонки на короткие номера между серверами ходят нормально.

Теперь необходимо настроить следующее.
Совершать звонки из города А в город Б через АТС города Б, и наоборот.
В данный момент при совершении звонка, получаю следующее, сервер мне говорил что все исходящие линии заняты.
Подскажите в какую сторону копать.

PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: Вывод с консоли с сервера А
-- Executing [9551323@from-internal:1] Macro("SIP/652-00000041", "user-callerid,SKIPTTL,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/652-00000041", "AMPUSER=652") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("SIP/652-00000041", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("SIP/652-00000041", "1?Set(REALCALLERIDNUM=652)") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/652-00000041", "AMPUSER=652") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/652-00000041", "AMPUSERCIDNAME=Gritsaenko Anton") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/652-00000041", "0?report") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/652-00000041", "AMPUSERCID=652") in new stack
-- Executing [s@macro-user-callerid:8] Set("SIP/652-00000041", "CALLERID(all)="Gritsaenko Anton" <652>") in new stack
-- Executing [s@macro-user-callerid:9] ExecIf("SIP/652-00000041", "1?Set(CHANNEL(language)=ru)") in new stack
-- Executing [s@macro-user-callerid:10] GotoIf("SIP/652-00000041", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] Set("SIP/652-00000041", "CALLERID(number)=652") in new stack
-- Executing [s@macro-user-callerid:20] Set("SIP/652-00000041", "CALLERID(name)=Gritsaenko Anton") in new stack
-- Executing [s@macro-user-callerid:21] NoOp("SIP/652-00000041", "Using CallerID "Gritsaenko Anton" <652>") in new stack
-- Executing [9551323@from-internal:2] NoOp("SIP/652-00000041", "Calling Out Route: Trunk_To_KPS") in new stack
-- Executing [9551323@from-internal:3] Set("SIP/652-00000041", "MOHCLASS=default") in new stack
-- Executing [9551323@from-internal:4] Set("SIP/652-00000041", "_NODEST=") in new stack
-- Executing [9551323@from-internal:5] Macro("SIP/652-00000041", "record-enable,652,OUT,") in new stack
-- Executing [s@macro-record-enable:1] GotoIf("SIP/652-00000041", "1?check") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing [s@macro-record-enable:4] ExecIf("SIP/652-00000041", "0?MacroExit()") in new stack
-- Executing [s@macro-record-enable:5] GotoIf("SIP/652-00000041", "0?Group:OUT") in new stack
-- Goto (macro-record-enable,s,15)
-- Executing [s@macro-record-enable:15] GotoIf("SIP/652-00000041", "0?IN") in new stack
-- Executing [s@macro-record-enable:16] ExecIf("SIP/652-00000041", "0?MacroExit()") in new stack
-- Executing [s@macro-record-enable:17] NoOp("SIP/652-00000041", "Recording enable for 652") in new stack
-- Executing [s@macro-record-enable:18] Set("SIP/652-00000041", "CALLFILENAME=OUT652-20140728-134236-1406544156.107") in new stack
-- Executing [s@macro-record-enable:19] Goto("SIP/652-00000041", "record") in new stack
-- Goto (macro-record-enable,s,23)
-- Executing [s@macro-record-enable:23] MixMonitor("SIP/652-00000041", "OUT652-20140728-134236-1406544156.107.wav,,") in new stack
-- Executing [s@macro-record-enable:24] Set("SIP/652-00000041", "CDR(userfield)=audio:OUT652-20140728-134236-1406544156.107.wav") in new stack
-- Executing [s@macro-record-enable:25] MacroExit("SIP/652-00000041", "") in new stack
-- Executing [9551323@from-internal:6] Macro("SIP/652-00000041", "dialout-trunk,2,0522551323,") in new stack
-- Executing [s@macro-dialout-trunk:1] Set("SIP/652-00000041", "DIAL_TRUNK=2") in new stack
-- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/652-00000041", "0?sub-pincheck,s,1") in new stack
-- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/652-00000041", "0?disabletrunk,1") in new stack
-- Executing [s@macro-dialout-trunk:4] Set("SIP/652-00000041", "DIAL_NUMBER=0522551323") in new stack
-- Executing [s@macro-dialout-trunk:5] Set("SIP/652-00000041", "DIAL_TRUNK_OPTIONS=tr") in new stack
-- Executing [s@macro-dialout-trunk:6] Set("SIP/652-00000041", "OUTBOUND_GROUP=OUT_2") in new stack
-- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/652-00000041", "1?nomax") in new stack
-- Goto (macro-dialout-trunk,s,9)
-- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/652-00000041", "0?skipoutcid") in new stack
-- Executing [s@macro-dialout-trunk:10] Set("SIP/652-00000041", "DIAL_TRUNK_OPTIONS=") in new stack
-- Executing [s@macro-dialout-trunk:11] Macro("SIP/652-00000041", "outbound-callerid,2") in new stack
-- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/652-00000041", "0?Set(CALLERPRES()=)") in new stack
-- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/652-00000041", "0?Set(REALCALLERIDNUM=652)") in new stack
-- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/652-00000041", "1?normcid") in new stack
-- Goto (macro-outbound-callerid,s,6)
-- Executing [s@macro-outbound-callerid:6] Set("SIP/652-00000041", "USEROUTCID=") in new stack
-- Executing [s@macro-outbound-callerid:7] Set("SIP/652-00000041", "EMERGENCYCID=") in new stack
-- Executing [s@macro-outbound-callerid:8] Set("SIP/652-00000041", "TRUNKOUTCID=") in new stack
-- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/652-00000041", "1?trunkcid") in new stack
-- Goto (macro-outbound-callerid,s,12)
-- Executing [s@macro-outbound-callerid:12] ExecIf("SIP/652-00000041", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:13] ExecIf("SIP/652-00000041", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/652-00000041", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:15] ExecIf("SIP/652-00000041", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack
-- Executing [s@macro-dialout-trunk:12] GosubIf("SIP/652-00000041", "0?sub-flp-2,s,1") in new stack
-- Executing [s@macro-dialout-trunk:13] Set("SIP/652-00000041", "OUTNUM=0522551323") in new stack
-- Executing [s@macro-dialout-trunk:14] Set("SIP/652-00000041", "custom=IAX2/TrunkToKPS") in new stack
-- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/652-00000041", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default))") in new stack
-- Executing [s@macro-dialout-trunk:16] Macro("SIP/652-00000041", "dialout-trunk-predial-hook,") in new stack
-- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/652-00000041", "") in new stack
-- Executing [s@macro-dialout-trunk:17] GotoIf("SIP/652-00000041", "0?bypass,1") in new stack
-- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/652-00000041", "0?customtrunk") in new stack
-- Executing [s@macro-dialout-trunk:19] Dial("SIP/652-00000041", "IAX2/TrunkToKPS/0522551323,300,") in new stack
-- Called IAX2/TrunkToKPS/0522551323
== Begin MixMonitor Recording SIP/652-00000041
-- Call accepted by 10.3.1.31 (format gsm)
-- Format for call is gsm
-- IAX2/TrunkToKPS-2302 is making progress passing it to SIP/652-00000041
-- IAX2/TrunkToKPS-2302 is making progress passing it to SIP/652-00000041
-- IAX2/TrunkToKPS-2302 is circuit-busy
-- Hungup 'IAX2/TrunkToKPS-2302'
== Everyone is busy/congested at this time (1:0/1/0)
-- Executing [s@macro-dialout-trunk:20] NoOp("SIP/652-00000041", "Dial failed for some reason with DIALSTATUS = CONGESTION and HANGUPCAUSE = 34") in new stack
-- Executing [s@macro-dialout-trunk:21] Goto("SIP/652-00000041", "s-CONGESTION,1") in new stack
-- Goto (macro-dialout-trunk,s-CONGESTION,1)
-- Executing [s-CONGESTION@macro-dialout-trunk:1] Set("SIP/652-00000041", "RC=34") in new stack
-- Executing [s-CONGESTION@macro-dialout-trunk:2] Goto("SIP/652-00000041", "34,1") in new stack
-- Goto (macro-dialout-trunk,34,1)
-- Executing [34@macro-dialout-trunk:1] Goto("SIP/652-00000041", "continue,1") in new stack
-- Goto (macro-dialout-trunk,continue,1)
-- Executing [continue@macro-dialout-trunk:1] GotoIf("SIP/652-00000041", "1?noreport") in new stack
-- Goto (macro-dialout-trunk,continue,3)
-- Executing [continue@macro-dialout-trunk:3] NoOp("SIP/652-00000041", "TRUNK Dial failed due to CONGESTION HANGUPCAUSE: 34 - failing through to other trunks") in new stack
-- Executing [continue@macro-dialout-trunk:4] Set("SIP/652-00000041", "CALLERID(number)=652") in new stack
-- Executing [9551323@from-internal:7] Macro("SIP/652-00000041", "outisbusy,") in new stack
-- Executing [s@macro-outisbusy:1] Progress("SIP/652-00000041", "") in new stack
-- Executing [s@macro-outisbusy:2] GotoIf("SIP/652-00000041", "0?emergency,1") in new stack
-- Executing [s@macro-outisbusy:3] GotoIf("SIP/652-00000041", "0?intracompany,1") in new stack
-- Executing [s@macro-outisbusy:4] Playback("SIP/652-00000041", "all-circuits-busy-now&pls-try-call-later, noanswer") in new stack
-- <SIP/652-00000041> Playing 'all-circuits-busy-now.slin' (language 'ru')
== Spawn extension (macro-outisbusy, s, 4) exited non-zero on 'SIP/652-00000041' in macro 'outisbusy'
== Spawn extension (from-internal, 9551323, 7) exited non-zero on 'SIP/652-00000041'
-- Executing [h@from-internal:1] Macro("SIP/652-00000041", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/652-00000041", "0?endmixmoncheck") in new stack
-- Executing [s@macro-hangupcall:2] Set("SIP/652-00000041", "MIXMON_CALLFILENAME=/var/spool/asterisk/monitor/OUT652-20140728-134236-1406544156.107.wav") in new stack
-- Executing [s@macro-hangupcall:3] GotoIf("SIP/652-00000041", "1?defaultmixmondir") in new stack
-- Goto (macro-hangupcall,s,5)
-- Executing [s@macro-hangupcall:5] System("SIP/652-00000041", "test -e /var/spool/asterisk/monitor/OUT652-20140728-134236-1406544156.107.wav") in new stack
-- Executing [s@macro-hangupcall:6] NoOp("SIP/652-00000041", "SYSTEMSTATUS = SUCCESS") in new stack
-- Executing [s@macro-hangupcall:7] GotoIf("SIP/652-00000041", "1?endmixmoncheck") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] NoOp("SIP/652-00000041", "End of MIXMON check") in new stack
-- Executing [s@macro-hangupcall:10] GotoIf("SIP/652-00000041", "1?nomeetmemon") in new stack
-- Goto (macro-hangupcall,s,28)
-- Executing [s@macro-hangupcall:28] NoOp("SIP/652-00000041", "End of MEETME check") in new stack
-- Executing [s@macro-hangupcall:29] GotoIf("SIP/652-00000041", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,34)
-- Executing [s@macro-hangupcall:34] NoOp("SIP/652-00000041", "TOUCH_MONITOR_OUTPUT=") in new stack
-- Executing [s@macro-hangupcall:35] GotoIf("SIP/652-00000041", "1?noautomon2") in new stack
-- Goto (macro-hangupcall,s,41)
-- Executing [s@macro-hangupcall:41] NoOp("SIP/652-00000041", "MONITOR_FILENAME=") in new stack
-- Executing [s@macro-hangupcall:42] GotoIf("SIP/652-00000041", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,45)
-- Executing [s@macro-hangupcall:45] GotoIf("SIP/652-00000041", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,48)
-- Executing [s@macro-hangupcall:48] GotoIf("SIP/652-00000041", "1?theend") in new stack
-- Goto (macro-hangupcall,s,50)
-- Executing [s@macro-hangupcall:50] AGI("SIP/652-00000041", "hangup.agi") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/hangup.agi
-- <SIP/652-00000041>AGI Script hangup.agi completed, returning 0
-- Executing [s@macro-hangupcall:51] Hangup("SIP/652-00000041", "") in new stack
== Spawn extension (macro-hangupcall, s, 51) exited non-zero on 'SIP/652-00000041' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/652-00000041'
== MixMonitor close filestream
== End MixMonitor Recording SIP/652-00000041
-- Remote UNIX connection
-- Remote UNIX connection disconnected
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: Вывод с консоли с сервер Б
-- Accepting AUTHENTICATED call from 10.1.5.142:
> requested format = gsm,
> requested prefs = (gsm|g729),
> actual format = gsm,
> host prefs = (ulaw|alaw|gsm),
> priority = mine
-- Executing [0522551323@from-internal:1] ResetCDR("IAX2/user2-4093", "") in new stack
-- Executing [0522551323@from-internal:2] NoCDR("IAX2/user2-4093", "") in new stack
-- Executing [0522551323@from-internal:3] Progress("IAX2/user2-4093", "") in new stack
-- Executing [0522551323@from-internal:4] Wait("IAX2/user2-4093", "1") in new stack
-- Executing [0522551323@from-internal:5] Progress("IAX2/user2-4093", "") in new stack
-- Executing [0522551323@from-internal:6] Playback("IAX2/user2-4093", "silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer") in new stack
-- <IAX2/user2-4093> Playing 'silence/1.gsm' (language 'en')
-- <IAX2/user2-4093> Playing 'cannot-complete-as-dialed.gsm' (language 'en')
-- <IAX2/user2-4093> Playing 'check-number-dial-again.gsm' (language 'en')
-- Executing [0522551323@from-internal:7] Wait("IAX2/user2-4093", "1") in new stack
-- Executing [0522551323@from-internal:8] Congestion("IAX2/user2-4093", "20") in new stack
== Spawn extension (from-internal, 0522551323, 8) exited non-zero on 'IAX2/user2-4093'
-- Executing [h@from-internal:1] Macro("IAX2/user2-4093", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("IAX2/user2-4093", "1?endmixmoncheck") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] NoOp("IAX2/user2-4093", "End of MIXMON check") in new stack
-- Executing [s@macro-hangupcall:10] GotoIf("IAX2/user2-4093", "1?nomeetmemon") in new stack
-- Goto (macro-hangupcall,s,28)
-- Executing [s@macro-hangupcall:28] NoOp("IAX2/user2-4093", "End of MEETME check") in new stack
-- Executing [s@macro-hangupcall:29] GotoIf("IAX2/user2-4093", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,34)
-- Executing [s@macro-hangupcall:34] NoOp("IAX2/user2-4093", "TOUCH_MONITOR_OUTPUT=") in new stack
-- Executing [s@macro-hangupcall:35] GotoIf("IAX2/user2-4093", "1?noautomon2") in new stack
-- Goto (macro-hangupcall,s,41)
-- Executing [s@macro-hangupcall:41] NoOp("IAX2/user2-4093", "MONITOR_FILENAME=") in new stack
-- Executing [s@macro-hangupcall:42] GotoIf("IAX2/user2-4093", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,45)
-- Executing [s@macro-hangupcall:45] GotoIf("IAX2/user2-4093", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,48)
-- Executing [s@macro-hangupcall:48] GotoIf("IAX2/user2-4093", "1?theend") in new stack
-- Goto (macro-hangupcall,s,50)
-- Executing [s@macro-hangupcall:50] AGI("IAX2/user2-4093", "hangup.agi") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/hangup.agi
-- <IAX2/user2-4093>AGI Script hangup.agi completed, returning 0
-- Executing [s@macro-hangupcall:51] Hangup("IAX2/user2-4093", "") in new stack
== Spawn extension (macro-hangupcall, s, 51) exited non-zero on 'IAX2/user2-4093' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'IAX2/user2-4093'
-- Hungup 'IAX2/user2-4093'
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Elastix, IAX2 настройка звонков.

Сообщение awsswa »

Тут у вас 2 варианта
Первый - через префиксы - добавили необходимый символ перед номером - в маршрутизации указали - что всё с этим префиксом через тот транк - на той стороне отрезали префикс и отправили звонок провайдеру.
То есть хотим позвонить на 123 - через тот транк - набираем 0123.

Второй вариант - через коды города (тот же префикс кода города)
Звоним на Пермь - когд города 342 - набираем 342 1231231 - маршрут прописали - все с кодом 342 пускать через тот сервер - там по приходу отрезали 342 - и отправили звонок в город 1231231

С первого позвонили с 0522551323 на втором то что должно произойти ? какой номер должен набраться ?
платный суппорт по мере возможностей
slik45
Сообщения: 7
Зарегистрирован: 28 июл 2014, 14:25

Re: Elastix, IAX2 настройка звонков.

Сообщение slik45 »

Пробовал с префиксами, не получилось, так же пробовал с кодами, не получилось. Может не совсем понял логики.

На первом у меня другой номер, с первого я звоню на номер (0522)551323 - это аналоговый номер нашей организации, находящийся в другом городе вместе с АТС Б, соответственно у меня задача чтобы звонки на номера с кодом города 0522****** выходили через сервер Б
Сервер А расположен в другом городе, другая нумерация и код города.
Ниже скриншоты настройки звонков.

Сервер B IAX
ИзображениеИзображение
Вложения
Сервер B SIP
Сервер B SIP
Сервер А IAX
Сервер А IAX
Сервер А SIP
Сервер А SIP
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Elastix, IAX2 настройка звонков.

Сообщение ded »

Пробовал с префиксами, не получилось, так же пробовал с кодами, не получилось.
Дайте угадаю - не получилось - это когда ту-ту-ту-ту или тётенька по английски что-то бормочет?
На первом у меня другой номер
Шедевральное пояснение. Дальше так: а на другом - первый номер.
slik45
Сообщения: 7
Зарегистрирован: 28 июл 2014, 14:25

Re: Elastix, IAX2 настройка звонков.

Сообщение slik45 »

Сарказм я ценю :D
У меня без ту-ту-ту, только тётенька на инглише что все линии заняты.

По порядку
Сервер А - номер (044) 32331**
Сервер Б - номер (0522) 3051**

Внутренние номера.
Сервер А 6ХХ
Сервер Б 7ХХ

Задача следующая, совершать звонки с номеров 6ХХ на номера с кодом (0522) через сервер Б, и совершать звонки с номеров 7ХХ на номера с кодом (044) через сервер А.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Elastix, IAX2 настройка звонков.

Сообщение ded »

Делай раз: IAX транк должен быть type=friend и иметь контекст from-internal на каждом сервере
Делай два: маршруты на первом сервере
7ХХ
0522 - это где префикс, а не где скобки | ZXXXXX (посчитайте сами)

Trunk - IAX2/serverB

На втором сервере симметрично
6ХХ
044 - это где префикс, а не где скобки | ZXXXXX (посчитайте сами)

Trunk - IAX2/serverA

Если это непонятно - бегом в платный саппорт.
slik45
Сообщения: 7
Зарегистрирован: 28 июл 2014, 14:25

Re: Elastix, IAX2 настройка звонков.

Сообщение slik45 »

DED, при такой схеме все работает.
Самое смешное сам разобрался. В момент звонка увидел что номер передается не так как надо, немного по шаманил и все начало передаваться так как требуется.

IAX транки были настроены так как Вы и сказали, заминка была в правильной передаче номера.

В любом случаи спасибо за подсказку.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH