AlKov Posted January 18, 2013 Posted January 18, 2013 Elastix 2.3.0-16 - не получается разрулить внутренние и внешние исходящие вызовы с внутренних номеров.. "Внутренние" - это звонки внутри АТС (между 32ХХ), "внешние" - это вызов с "внутренних" номеров (32ХХ) на 89ХХХХХХХХХ (шлюз на huawei 1550). Работает что-то одно - либо исходящие только на "внешку" (from-gsm), либо исходящие только "внутрь" (from-internal). Как разрулить исходящие так, чтобы вызов на 32ХХ шёл "внутрь", а вызов 89ХХХХХХХХ - "наружу" (в транк)? Если назначаю внутреннему номеру context "from-gsm", исходящие вызовы идут только на 89ХХХХХХХХХ, если "from-internal" - только на "32ХХ".. Вставить ник Quote
mistake Posted January 18, 2013 Posted January 18, 2013 А покажи-ка скрин настроек исходящих маршрутов. Вставить ник Quote
AlKov Posted January 19, 2013 Author Posted January 19, 2013 А покажи-ка скрин настроек исходящих маршрутов. Вставить ник Quote
VasiliyP Posted January 19, 2013 Posted January 19, 2013 нужен контекст объединяющий эти два контекста, либо описать все в одном, ну в астериске так делается)) Вставить ник Quote
mistake Posted January 19, 2013 Posted January 19, 2013 (edited) А каким образом внутренние номера подключены к астериску? SIP? FXO? Вообще у меня по умолчанию у всех агентов настроен контекст from-internal. Отдельно создано 2 исходящих маршрута (один на мобильные номера, другой на стационарные). Единственное отличие - у тебя есть временные рамки по которым разрешается звонить через этот транк. Может быть в нем проблема? Попробуй его отключить. Edited January 19, 2013 by strobil Вставить ник Quote
AlKov Posted January 19, 2013 Author Posted January 19, 2013 нужен контекст объединяющий эти два контекста, либо описать все в одном, ну в астериске так делается)) Ну я тоже так подумал. А вот как сиё на Elastix осуществить? Чтобы этот контекст еще и не перезаписывался. А каким образом внутренние номера подключены к астериску? SIP? FXO? SIP. Вообще у меня по умолчанию у всех агентов настроен контекст from-internal. Отдельно создано 2 исходящих маршрута (один на мобильные номера, другой на стационарные). Вот именно такой вариант я и хочу реализовать (см.рис.) Телефон 3203 должен принимать входящие с ТФОП и плюс к этому переадресовывать входящие на любой из внутренних номеров. Все "внутренние" телефоны (3201-3203) должны уметь звонить друг-другу. Софт. телефон (3201) должен принимать звонки только с GSM и от "внутренних" (3202, 3203) и звонить на внутренние и GSM номера (вот это как раз и не получается). Исходящие от телефонов 3202 и 3203 должны идти только в ТФОП. Единственное отличие - у тебя есть временные рамки по которым разрешается звонить через этот транк. Может быть в нем проблема? Попробуй его отключить. А причем тут временные рамки? На исходящие они отрабатывают без проблем. Проблема в том, что если я назначу тлф. 3201 контекст from-internal, всё работает, как надо, за исключением исходящих на GSM, если назначить контекст from-gsm, то соотв. наоборот - исходящие только на GSM. Вставить ник Quote
mistake Posted January 19, 2013 Posted January 19, 2013 (edited) Дак это делается не путем изменения контекста у экстеншена, а указывается в маршрутах. Кидаешь 3201 в отдельную очередь, рулишь с GSM-транка все звонки на него. Далее в роуте на стационарные пишешь что-то типа (паттерн) /320[2-3], тем самым исключаешь 3201. Edited January 19, 2013 by strobil Вставить ник Quote
AlKov Posted January 19, 2013 Author Posted January 19, 2013 Дак это делается не путем изменения контекста у экстеншена, а указывается в маршрутах. Кидаешь 3201 в отдельную очередь, рулишь с GSM-транка все звонки на него. Далее в роуте на стационарные пишешь что-то типа (паттерн) /320[2-3], тем самым исключаешь 3201. Бесполезно.. Если 3201 назначен контекст from-internal, в GSM роут звонок не попадает и наоборот - если у 3201 контекст from-gsm, не идёт на внутренние номера. Звонок уходит в bad-number (сообщение - "Неправильно набран номер..."). Вот что в логе [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [89xxxxxxxxx@from-internal:1] Macro("SIP/3201-0000008d", "user-callerid") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-user-callerid:1] Set("SIP/3201-0000008d", "AMPUSER=3201") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-user-callerid:2] GotoIf("SIP/3201-0000008d", "0?report") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-user-callerid:3] ExecIf("SIP/3201-0000008d", "1?Set(REALCALLERIDNUM=3201)") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-user-callerid:4] Set("SIP/3201-0000008d", "AMPUSER=3201") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-user-callerid:5] Set("SIP/3201-0000008d", "AMPUSERCIDNAME=Tech support") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-user-callerid:6] GotoIf("SIP/3201-0000008d", "0?report") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-user-callerid:7] Set("SIP/3201-0000008d", "AMPUSERCID=3201") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-user-callerid:8] Set("SIP/3201-0000008d", "CALLERID(all)="Tech support" <3201>") in new sta ck [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-user-callerid:9] ExecIf("SIP/3201-0000008d", "0?Set(CHANNEL(language)=)") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-user-callerid:10] GotoIf("SIP/3201-0000008d", "0?continue") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-user-callerid:11] Set("SIP/3201-0000008d", "__TTL=64") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-user-callerid:12] GotoIf("SIP/3201-0000008d", "1?continue") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Goto (macro-user-callerid,s,19) [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-user-callerid:19] Set("SIP/3201-0000008d", "CALLERID(number)=3201") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-user-callerid:20] Set("SIP/3201-0000008d", "CALLERID(name)=Tech support") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-user-callerid:21] NoOp("SIP/3201-0000008d", "Using CallerID "Tech support" <3201>") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [89xxxxxxxxx@from-internal:2] Macro("SIP/3201-0000008d", "dundi-priv,89xxxxxxxxx") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [s@macro-dundi-priv:1] Goto("SIP/3201-0000008d", "89xxxxxxxx,1") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Goto (macro-dundi-priv,89xxxxxxxxx,1) [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [89xxxxxxxxx@from-internal:3] GotoIf("SIP/3201-0000008d", "0?100") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [89xxxxxxxxx@from-internal:4] Goto("SIP/3201-0000008d", "bad-number,89xxxxxxxxx,1") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Goto (bad-number,89xxxxxxxxx,1) [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [89xxxxxxxxx@bad-number:1] ResetCDR("SIP/3201-0000008d", "") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [89xxxxxxxxx@bad-number:2] NoCDR("SIP/3201-0000008d", "") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [89xxxxxxxxx@bad-number:3] Progress("SIP/3201-0000008d", "") in new stack [Jan 19 21:43:13] VERBOSE[14412] pbx.c: -- Executing [89xxxxxxxxx@bad-number:4] Wait("SIP/3201-0000008d", "1") in new stack [Jan 19 21:43:15] VERBOSE[14412] pbx.c: -- Executing [89xxxxxxxxx@bad-number:5] Progress("SIP/3201-0000008d", "") in new stack [Jan 19 21:43:15] VERBOSE[14412] pbx.c: -- Executing [89xxxxxxxxx@bad-number:6] Playback("SIP/3201-0000008d", "silence/1&pbx-invalid,noanswer") in new st ack [Jan 19 21:43:15] VERBOSE[14412] file.c: -- <SIP/3201-0000008d> Playing 'silence/1.alaw' (language 'ru') [Jan 19 21:43:16] VERBOSE[14412] file.c: -- <SIP/3201-0000008d> Playing 'pbx-invalid.alaw' (language 'ru') [Jan 19 21:43:21] VERBOSE[14412] pbx.c: -- Executing [89xxxxxxxxxx@bad-number:7] Wait("SIP/3201-0000008d", "1") in new stack [Jan 19 21:43:22] VERBOSE[14412] pbx.c: -- Executing [89xxxxxxxxx@bad-number:8] Congestion("SIP/3201-0000008d", "20") in new stack [Jan 19 21:43:22] WARNING[14412] channel.c: Prodding channel 'SIP/3201-0000008d' failed [Jan 19 21:43:22] VERBOSE[14412] pbx.c: == Spawn extension (bad-number, 89xxxxxxxxx, 8) exited non-zero on 'SIP/3201-0000008d' Походу нужен какой-то "форвард-фильтр", который в зависимости от набранного номера, заворачивает исходящий звонок в нужный роут/транк. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.