Имеется: Elastix 2.4.0 32bit. Work fine. Есть абонент с А-номером вида "+40 0XX". Он звонит на Elastix с маршрута MS_Lync и хочет позвонить транзитом через Elastix на TDM_PBX (DAHDI/g0) на ведомственного абонента TDM с Б-номером вида "6XXX" (выход на маршрут DAHDI - через "9-"). Моя задача на Elastix так преобразовать А-номер звонящего из MS_Lync абонента, чтобы он отправлялся в TDM_PBX вида "24XX", притом последние 2 цифры получившегося А-номера чтобы чётко совпадали с последними 2мя цифрами А-номера звонящего с Lync инициатора этого вызова. Как это сделать ?
Поковырял web-interface of Elastix в части редактирования маршрутов. Нет там таких установок. Максимум, что можно - присвоить при транзитном звонке один единственный А-номер на весь такой транзитный маршрут. Но это черезчур грубо - это не годится. Ибо дальше этим маршрутом будут пользоваться разные подразделения, каждое из которых будет требовать от меня индивидуальный счёт и инд. детализацию вызовов.
Последний раз редактировалось Reader 14 апр 2014, 08:22, всего редактировалось 1 раз.
Уж лучше колымить в Гондурасе, чем гондурасить на Колыме !
Но воз и ныне там. Никакого преобразования не происходит. Хотя звоночки идут грамотно по данному маршруту, абонентики дозваниваются и общаются. Поставил трассировку одного такого выхова от абонента +40 000 на абонента 6576 и вот что увидел:
Asterisk 1.8.20.0, Copyright (C) 1999 - 2012 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 1.8.20.0 currently running on elastix (pid = 4321)
Verbosity is at least 8
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [96576@from-trunk-sip-MS_Lync:1] Set("SIP/MS_Lync-00000084", "GROUP()=OUT_3") in new stack
-- Executing [96576@from-trunk-sip-MS_Lync:2] Goto("SIP/MS_Lync-00000084", "from-trunk,96576,1") in new stack
-- Goto (from-trunk,96576,1)
-- Executing [96576@from-trunk:1] Answer("SIP/MS_Lync-00000084", "") in new stack
-- Executing [96576@from-trunk:2] Dial("SIP/MS_Lync-00000084", "DAHDI/g0/6576") in new stack
-- Requested transfer capability: 0x00 - SPEECH
-- Called DAHDI/g0/6576
-- DAHDI/i1/6576-238 is proceeding passing it to SIP/MS_Lync-00000084
-- DAHDI/i1/6576-238 is ringing
-- DAHDI/i1/6576-238 is making progress passing it to SIP/MS_Lync-00000084
-- DAHDI/i1/6576-238 answered SIP/MS_Lync-00000084
elastix*CLI>
Видите, опыта-то мало ... Может маршрут я построил неверно ?.. Но точно видно, что маршрут идёт через контекст [from-trunk]. Но и у меня мои 3 новые строки маршрутизации привязаны к не совсем чужому контексту маршрута [from-trunk-custom].
Где я наошибался ? Куда б мне ещё порыть ?
Уж лучше колымить в Гондурасе, чем гондурасить на Колыме !
Хех. Сделал правку выдаваемых А-номеров в зависимости от дальности вызова (остаётся ли звонок на сети ведомства или же приземлится в городе/ МГ/ МН/ мобильном операторе) прямо в контексте по умолчанию [from-trunk-sip-MS_Lync] прямо в файле extension_additional.conf. Данный контекст создан мною автоматически месяцем ранее на этапе строительства стыка с Lync, как след от моей работы в web-interface. А не в рекомендуемом extension_custom.conf. Итак, данный контекст находится в файлике extension_additional.conf. Хотя я был доселе абсолютно убеждён, что правку в нём делать нецелесообразно - только в Custom - всё равно при перезагрузке всё написанное умрёт и данный (extension_additional.conf) файл восстановится откуда-то из исходников. Таки перезагрузил Эластикс. Всё написанное живо и после перезагрузки. Мало того - работает ... Радость была несравнима ни с чем ... Наверное тему можно закрывать. Блин, век живи, век учись, век трудись. Неожиданно всё начинает работать как нужно в самых неожиданных местах ...
Уж лучше колымить в Гондурасе, чем гондурасить на Колыме !
О ! А ведь это подходящая идея. Ваша правда. Если сделать так - все приложения можно будет править в банальном extension_custom.conf. Со всех маршрутов. Весьма ценная идея. Наверное так я и сделаю.
Век живи, век учись, как говорится.
Уж лучше колымить в Гондурасе, чем гондурасить на Колыме !
Wow !.. Пока я любовался вчерашним красивым красивым решением и прочими полётами фантазии, слона-то я и не приметил - с утра начисто куда-то исчезли все мои вчерашние настройки/изменения в файлике extension_additional.conf !!!!! Просто тупо полез смотреть - шо с ними, как и куда их лучше копировать после планируемых изменений и переносов. А их напроч нет !!.. Таки Elastix не дремлет и трёт все мои "плохие" изменения. В таких основополагающих файлах как extension_additional. Свинство. Господа. Никогда не полагайтесь на удачные изменения от руки в файле extension_additional.conf, какие бы они на первый взгляд удачные ни были ...
Уж лучше колымить в Гондурасе, чем гондурасить на Колыме !
Если бы Вы понимали что и нде править то такого бы не получилось. При применении насироек в веб морде все ваши тюнинги в вышеуказанном файле исчезнут ...
не читать инструкцию, а потом чему то удивляться - свинство. не создавать backup`ов тоже.
я не пользуюсь эластиксом, но даже я знаю, что не перезаписываются только те файлы которые содержат в себе слово "custom"
мой SIP URI sip:virus_net@asterisk.ru bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin) ENUMER - звони бесплатно и напрямую.
немного уточню
Custom - можно вносить изменения и он будет инклудится в основной диалплан .
если в основном диалплане нет описания процедуры - то обратится к кустому .
если необходимо полностью изменить диалплан или контекст то например во FreePBX используется файл
extensions_override_freepbx.conf -
в нем все контексты имеют приоритет, перед всеми основными описанными в extensions_additional.conf
поэтому если необходимо "измордовать" контекст - велком extensions_override_freepbx.conf
to virus_net:
Да, времени в обрез. Учиться приходится на ходу, в метро, по ночам и т.п. Не хотелось о грустном. Хотя конечно основы приходится перечитывать по несколько раз. Пока отд. вещи не доходят ... А бэкап я создал. Мал ли что ещё отвалится ... И пересоздаю после малейших изменений. Однако когда дело доходит до правки в extensions_additional.conf - бэкап спасает только на мгновенье. До ближайших изменений через web-interface. А их у меня есть. Каждый день. Абонентов немало. а хотелок у них вовсе не перечесть.
to april22:
Спасибо, что напомнили. Была у меня такая же мыслишка со злости раскурочить extensions_override_freepbx.conf. Я даже начал. Но там взаимосвязи с последующей обработкой диал-плана оказались не легче, чем если просто курочить extensions_custom.conf. Посему перечёл документацию, проследил весь путь обработки входящего звонка с SIP-trunk of Lync. Нашёл, куда внедриться с новыми строками для изменения А-номера. И изладил все доработки в родимом extensions_custom.conf. Как бы и следовало делать. Просто разбираться пришлось долго и предметно. Но, всё заработало. И времени на это нисколько не жаль.
Уж лучше колымить в Гондурасе, чем гондурасить на Колыме !