trixbox как рулит extensions_custom.conf
перехват и отправка в extensions_custom.conf
Откуда: Odessa
Сообщений: 90
|
Re: trixbox как рулит extensions_custom.conf
macro-dialout-trunk-custom
и
macro-dialout-trunk
совершенно идентичны
но переменная в macro-dialout-trunk-custom не передаеться
|
Сообщений: 215
|
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 нужно вам вызывать не во всех случаях, например - только при звонках наружу, который уходит через outbound-allroutes.
outbound-allroutes и есть этот ARG1, который DIAL_TRUNK
Как вы используете макрос в диалплане, все ли ему передаете?
|
Откуда: Odessa
Сообщений: 90
|
Re: trixbox как рулит extensions_custom.conf
Ок! Нашел, точно не все передавал!
|
Сообщений: 6521
|
Re: trixbox как рулит extensions_custom.conf
Но вызов этого макроса происходит из разных мест.
Обычнм образом, как я описывал, к моменту вызова макроса переменная DIAL_TRUNK имеет значение, а при вызове macro-dialout-trunk-custom частным образом в DIAL_TRUNK нет ничего.
|
Откуда: Odessa
Сообщений: 90
|
Re: trixbox как рулит extensions_custom.conf
Вернулся к началу :)
не могу выловить переменную DIALSTATUS (когда соединений произошло)
ANSWER: На вызов был получен ответ
и запихнуть в базу. В принципе для этого все и крутил
вот тут начал => маршрутизация по числу звонков
когда сняли трубку
то macro-dialout-trunk как в прочем и macro-dialout-trunk-custom
уже не работают из них можно вылавливать в базу CHANUNAVAIL, BUSY, NOANSWER, CANCEL , но они не нужены :(
подскажите какой скрипт работает после того как сняли трубку? т.е. во время разговора или сразу после его окончания?
ДО -- Executing [h@from-internal:1] Macro("SIP/104-0838d2a8", " hangupcall") in new stack
|
Сообщений: 215
|
Re: trixbox как рулит extensions_custom.conf
а ANSWER не пробовали самостоятельно добавлять?
s-ANSWER, 1, и_то_что_хочется_сделать. Такое не пробовали?
|
Откуда: Odessa
Сообщений: 90
|
Re: trixbox как рулит extensions_custom.conf
да добавлял
exten => s-ANSWER,1,Set(DB(key100/my)=${DIALSTATUS})
не срабатывает
а exten => s-CHANUNAVAIL,1,Set(DB(key100/my)=${DIALSTATUS})
пишет CHANUNAVAIL как надо.
добавлял и сразу после чтения статуса exten => s,n,Goto(s-${DIALSTATUS},1)
и в конце
exten => s-ANSWER,1,Set(DB(key100/my)=${DIALSTATUS})
exten => h,1,Macro(hangupcall,)
т.е. перед hangupcall
|
Сообщений: 215
|
Re: trixbox как рулит extensions_custom.conf
создайте собственный макрос macro-hangupcall-my, к примеру
в нем пропишите все из макроса macro-hangupcall. А первой строкой поставьте
exten => s,1,Set(DB(key100/my)=${DIALSTATUS})
а в macro-dialout-trunk-custom вместо
exten => h,1,Macro(hangupcall,)
поставьте
exten => h,1,Macro(hangupcall-my,)
|
Сообщений: 6521
|
Re: trixbox как рулит extensions_custom.conf
Что-то я не понимаю, чего хочется добиться.
такое -
exten => s,1,Set(DB(key100/my))
понимаю, а что хотелолось вот этим то?:
exten => s-ANSWER,1,Set(DB(key100/my)=${DIALSTATUS})
или
exten => s-CHANUNAVAIL,1,Set(DB(key100/my)=${DIALSTATUS})
Считайте первым шагом
s-ANSWER,1,NoOp(${DIALSTATUS})
на втором шаге хотелось это значение в базу загнать?
s-ANSWER,2,Set(DB(key100/my)=${DIALSTATUS}) ?
Получается ли заводить ручным образом считывается в базу ?
Что ручным образом считывается из базы
*CLI> database get key100 my ?
Я кинул для теста
*CLI> database put key100 my BUSY
и считал
*CLI> database get key100 my
Value: BUSY
Понятненько. У Вас на шаге
exten => s-CHANUNAVAIL,1,Set(DB(key100/my)=${DIALSTATUS})
в переменной ${DIALSTATUS} нет ничего. Правильно в этом случае
exten => s-CHANUNAVAIL,1,Set(DB(key100/my)=CHANUNAVAIL)
|
Откуда: Odessa
Сообщений: 90
|
Re: trixbox как рулит extensions_custom.conf
сделал так:
по рекомендации zlat
в macro-dialout-trunk-custom вместо
exten => h,1,Macro(hangupcall,)
поставил
exten => h,1,Macro(hangupcall-my,)
а в hangupcall-my
по рекомендации ded
первую строку я от себя добавил типа "получить переменную статус", без нее не работает, вторая и третья один в один как написал ded
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s-ANSWER,1,NoOp(${DIALSTATUS})
exten => s-ANSWER,2,Set(DB(key100/my)=${DIALSTATUS})
в результате получил то что хотел !!
database show key100
/key100/my : ANSWER
пробовал запихнуть macro-dialout-trunk-custom то что писал ded - не вышло.
получаеться что переменная имеет значение ANSWER в начала hangupcall-my
|
|