Выполнение скрипта при снятии трубки
trixbox
Откуда: Саратов
Сообщений: 64
|
Выполнение скрипта при снятии трубки
Собственно есть очередь, в которой находятся несколько телефоном, входящий звонок поступает в очередь, стратегий - самому незанятому, хотя можно и звонить всем. Нужно чтобы при снятии трубки одного из операторов выполнялся оперделенный скрип на машине команда должны быть что-то типа этого:
exten => s,n,System(/var/spool/asterisk/tmp/script)
а вот куда ее запихнуть не знаю
Trixbox 2.6.1
|
Откуда: Саратов
Сообщений: 64
|
Re: Выполнение скрипта при снятии трубки
нашел решение:
/etc/asterisk/extensions_additional.conf
macro-auto-blkvm
#второй строчкой
[macro-auto-blkvm]
include => macro-auto-blkvm-custom
exten => s,1,Set(__MACRO_RESULT=)
exten => s,n,macro(unix) 'будет выполняться макрос unix
exten => s,n,dbDel(${BLKVM_OVERRIDE})
; end of [macro-auto-blkvm]
Затем
/etc/asterisk/extensions_additional.conf
#нужно дописать это в конец файла - это макрос который все и выполняет
[macro-unix]
exten => s,1,noop(${FOO})
exten => s,2,noop(${CHANNEL:4:3})
exten => s,3,System(/bin/cat<<EOF>/var/spool/asterisk/tmp/${CHANNEL:4:3})
; end of [macro-unix]
|
Откуда: Зеленоград
Сообщений: 446
|
Re: Выполнение скрипта при снятии трубки
Только у вас все эти изменения пропадут после обновления конфигов через FreePBX.
|
Откуда: AST
Сообщений: 280
|
Re: Выполнение скрипта при снятии трубки
запихни в /etc/asterisk/extensions_override_freepbx.conf
|
Откуда: Саратов
Сообщений: 64
|
Re: Выполнение скрипта при снятии трубки
появилась проблема, в
[macro-unix]
exten => s,1,noop(${FOO})
exten => s,2,noop(${CHANNEL:4:3})
exten => s,3,System(/bin/cat<<EOF>/var/spool/asterisk/tmp/${CALLERID(number)}
; end of [macro-unix]
Собсвтвенно в данном случаем ${CALLERID(number)} = номер кому позвонили, даже не знаю в чем дело
на момент когда отрпбатывает макрос
[macro-user-callerid]
${CALLERID(number)} = номер звонящего
Всю голову сломал
Как мне в моем макросе вычислить номер звонящего?
|
Откуда: Саратов
Сообщений: 64
|
Re: Выполнение скрипта при снятии трубки
Alexcr: запихни в /etc/asterisk/extensions_override_freepbx.conf
А в каком виде мне надо в этот файл записывать чтобы сохранилось то что я наделал?
Нужно весь extensions_additional.conf сюда копировать или что?
|
Откуда: AST
Сообщений: 280
|
Re: Выполнение скрипта при снятии трубки
только нужный тебе контекст
|
Откуда: Саратов
Сообщений: 64
|
Re: Выполнение скрипта при снятии трубки
все разобрался:
1. Если контекст или макрос полностью написан тобой то просто сохранить его в файле extensions_override_freepbx.conf
2. Если нужно изменить уже имеющийся контекс то нужно этот контекст, уже измененный записать в extensions_override_freepbx.conf
И все сохранится:)
|
Сообщений: 21
|
Re: Выполнение скрипта при снятии трубки
[deafult]
exten => s,1,Queue(test,,,,,,test)
[macro-test]
exten => s,1,System(/bin/cat<<EOF>/var/spool/asterisk/tmp/${CHANNEL:4:3})
,а так разве не пойдет?
Queue(queuename[,options[,URL[,announceoverride[,timeout[,AGI[,macro[,gosub[,rule]]]]]]]]) - по моему вполне логично так
Или если астериск 1.4, то перловым скриптом запустить
Queue(queuename[|options][|URL][|announceoverride][|timeout][|AGI]) - через AGI
|
Сообщений: 21
|
Re: Выполнение скрипта при снятии трубки
romariosar: появилась проблема, в
[macro-unix]
exten => s,1,noop(${FOO})
exten => s,2,noop(${CHANNEL:4:3})
exten => s,3,System(/bin/cat<<EOF>/var/spool/asterisk/tmp/${CALLERID(number)}
; end of [macro-unix]
Собсвтвенно в данном случаем ${CALLERID(number)} = номер кому позвонили, даже не знаю в чем дело
на момент когда отрпбатывает макрос
[macro-user-callerid]
${CALLERID(number)} = номер звонящего
Всю голову сломал
Как мне в моем макросе вычислить номер звонящего?
Передать аргументом низя в макрос?
|
|