Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / TrixBox, Elastix, FreePbx / trixbox как рулит extensions_custom.conf

trixbox как рулит extensions_custom.conf

перехват и отправка в extensions_custom.conf
1 2>
Откуда: Odessa
Сообщений: 90

trixbox как рулит extensions_custom.conf

Trixbox v2.8.0.2

смотрю по теории, вроди все правильно.
в extensions_additional.conf есть секция [macro-dialout-trunk]
там первая!! строка
include => macro-dialout-trunk-custom

что, как я понял, позволяет добавить в extensions_custom.conf
[macro-dialout-trunk-custom]
exten => s,1,SayDigits(123) /для примера номер продиктовать/

и получаеться что при обработке [macro-dialout-trunk] первым должен отработать [macro-dialout-trunk-custom]
и сказать, к примеру , разз.два..трии. ?

но в консоли смотрю -не перекидываеться, идет только macro-dialout-trunk
-- Executing [s@macro-dialout-trunk:1] Set("SIP/104-09d98a48", "DIAL_TRUNK=2") in new stack
... и так далее

Вопрос - почему так, и в чем мои предположения не верны?

П.С.
аналогичный вопрос был поднят в теме "Подскажите где SIP-ответы превращаются в HANGUPCAUSE?"
но там не ответили
2009-11-29 13:42

Сообщений: 6521

Re: trixbox как рулит extensions_custom.conf

igor3, в include => macro-dialout-trunk-custom будут попадать только те шаги, которые не найдутся в основном контексте macro-dialout-trunk.
Вот поэтому не получаеться что при обработке [macro-dialout-trunk] первым должен отработать [macro-dialout-trunk-custom]
2009-11-29 14:13

Откуда: Odessa
Сообщений: 90

Re: trixbox как рулит extensions_custom.conf

ded
как всегда спасибо! просветил.
если руками добавить в extensions_additional.conf секцию macro-dialout-trunk то отрабатывает, но это не правильно

; Do NOT edit this file as it is auto-generated by FreePBX. All modifications to ;
; this file must be done via the web gui.

получаеться что перехватить на любом этапе диалплана в триксбоксе не получиться? :(
Trixbox помогает с простыми задачами, но связывает руки если что-то не стандартное делать.
2009-11-29 14:22

Сообщений: 6521

Re: trixbox как рулит extensions_custom.conf

igor3, связывает руки незнание, а знание - развязывает. Можно хоть свой собственный macro-dialout-trunk написать.
Прочитайте книжку по Триксбоксу http://asterisk.ru/knoledgebase/books
и много вопросов отпадёт.

Из этого совета может сложиться ложное впечатление, что я все эти книжки читал (:
Но это не так. Я вообще ни одной книжки не читал, стараюсь использовать верхний слой серого вещества. И точно знаю, что если отправлю кого-то читать книжку, он прочтёт и на форуме даст решение проблем, которые я увижу, и запомню. Вот так я обогащаюсь знаниями за чужой счёт.
2009-11-29 14:34

Откуда: Odessa
Сообщений: 90

Re: trixbox как рулит extensions_custom.conf

ded, свой собственный macro-dialout-trunk написать можно
но это придеться делать через всё-custom
так, как это делает модуль Custom-Contecst - прописывает контекст сипам from-internal-custom
и все пишет в кастом-файлы. т.е. пускает триксбоксовые конфиги по боку.
Но из за одной-двух функций переписывать все на кастомы не рационально.
В книгах (искал но подряд все не читал) extensions_custom.conf описан скудненько.

2009-11-29 15:10

Сообщений: 6521

Re: trixbox как рулит extensions_custom.conf

Нет, не придётся делать через всё-custom. Cмотрим
; Customizations to this dialplan should be made in extensions_custom.conf
; See extensions_custom.conf.sample for an example.
; If you need to use [macro-dialout-trunk-predial-hook], [ext-did-custom], or
; [from-internal-custom] for example, place these in this file or they will get overwritten.

Ну и почитайте рекомендации в самом [macro-dialout-trunk-predial-hook] в файле extensions.conf

В частном случае можно написать контекст
[from-internal-custom]
exten _X.,1,Macro(dialout-trunk-custom,outbound-allroutes,${EXTEN})
ну и написать конечно модифицированный macro-dialout-trunk-custom

В общем случае: думаю, что модифицированый macro-dialout-trunk нужно вам вызывать не во всех случаях, например - только при звонках наружу, который уходит через outbound-allroutes.
Можно увидеть, что
*CLI> dialplan show outbound-allroutes
[ Context 'outbound-allroutes' created by 'pbx_config' ]
'foo' => 1. Noop(bar) [pbx_config]
Include => 'outbound-allroutes-custom' [pbx_config]
Include => 'outrt-001-Alpha' [pbx_config]
Include => 'outrt-002-Bravo' [pbx_config]
Include => 'outrt-003-Charlie' [pbx_config]
то есть мы можем создать контекст outbound-allroutes-custom и определённый шаг в нём.
Заметим, что всё из outbound-allroutes-custom распределяется согласно приоритетам таблицы исходящих маршрутов из GUI. И каждый маршрут на 4-м шаге вызывает тот самый Macro(dialout-trunk,12,${EXTEN},,)

'_172[78]' => 1. Macro(user-callerid,SKIPTTL,) [pbx_config]
2. Set(_NODEST=) [pbx_config]
3. Macro(record-enable,${AMPUSER},OUT,) [pbx_config]
4. Macro(dialout-trunk,12,${EXTEN},,) [pbx_config]
5. Macro(outisbusy,) [pbx_config]

Зная эту кухню мы можем например задать нужный параметр в outbound-allroutes-custom одним шагом, а следующим шагом отправить его дальше по диалплану.

exten => s,1,NoCDR()
exten => s,2,Goto(outbound-allroutes,${EXTEN},1)
2009-11-29 16:20

Откуда: Odessa
Сообщений: 90

Re: trixbox как рулит extensions_custom.conf

ded:

В частном случае можно написать контекст
[from-internal-custom]
exten _X.,1,Macro(dialout-trunk-custom,outbound-allroutes,${EXTEN})
ну и написать конечно модифицированный macro-dialout-trunk-custom
Этот вариант мне показался проще
и уже заработал :)
Тем более что macro-dialout-trunk-custom можно на 90% скопировать с родного macro-dialout-trunk
2009-11-29 18:10

Сообщений: 6521

Re: trixbox как рулит extensions_custom.conf

вот именно.
Но тогда Вы не дозваниваетесь до внутренних экстеншн. Применять надо с умом.
2009-11-29 18:22

Откуда: Odessa
Сообщений: 90

Re: trixbox как рулит extensions_custom.conf

По ходу нашел баг..
ну или фичу.
Если все перекидывать в [macro-dialout-trunk-custom]
то возникает

-- Executing [s@macro-dialout-trunk-custom:19] Dial("SIP/104-b7c268d0", "/104,300,") in new stack
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [s@macro-dialout-trunk-custom:20] Goto("SIP/104-b7c268d0", "s-CHANUNAVAIL,1") in new stack
-- Goto (macro-dialout-trunk-custom,s-CHANUNAVAIL,1)
-- Executing [s-CHANUNAVAIL@macro-dialout-trunk-custom:1] GotoIf("SIP/104-b7c268d0", "1?noreport") in new stack
-- Goto (macro-dialout-trunk-custom,s-CHANUNAVAIL,3)
-- Executing [s-CHANUNAVAIL@macro-dialout-trunk-custom:3] NoOp("SIP/104-b7c268d0", "TRUNK Dial failed due to CHANUNAVAIL - failing through to other trunks") in new stack

лечится
exten => s,n,Dial(${OUT_${DIAL_TRUNK}}/${OUTNUM},300,${DIAL_TRUNK_OPTIONS})
добвалением "SIP" руками
exten => s,n,Dial(${OUT_${DIAL_TRUNK}}SIP/${OUTNUM},300,${DIAL_TRUNK_OPTIONS})

и получаем

-- Executing [s@macro-dialout-trunk-custom:19] Dial("SIP/104-b7c23e48", "SIP/104,300,") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP VRTP TOS bits 136
== Using SIP VRTP CoS mark 6
-- Called 104
2009-11-29 20:39

Avatara of zlat
Сообщений: 215

Re: trixbox как рулит extensions_custom.conf

Это не баг и не фича. Смотрите куда у вас переменная DIAL_TRUNK делась, которая говорит о номере транка в вашей системе. А переменная OUT_этот_самый_номер - задает используемый транк. Поднимитесь вверх extensions_additional.conf и все поймете. Вот сейчас поставили сип, а другие типы транков забыли.
2009-11-29 20:55

1 2>
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru