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

Выполнение скрипта при снятии трубки

trixbox
1 2>
Avatara of romariosar
Откуда: Саратов
Сообщений: 64

Выполнение скрипта при снятии трубки

Собственно есть очередь, в которой находятся несколько телефоном, входящий звонок поступает в очередь, стратегий - самому незанятому, хотя можно и звонить всем. Нужно чтобы при снятии трубки одного из операторов выполнялся оперделенный скрип на машине команда должны быть что-то типа этого:

exten => s,n,System(/var/spool/asterisk/tmp/script)

а вот куда ее запихнуть не знаю

Trixbox 2.6.1
http://www.unix-sar.ru Астериск, Linux в Саратове
2010-10-08 13:53

Avatara of romariosar
Откуда: Саратов
Сообщений: 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]
http://www.unix-sar.ru Астериск, Linux в Саратове
2010-10-08 15:13

Откуда: Зеленоград
Сообщений: 446

Re: Выполнение скрипта при снятии трубки

Только у вас все эти изменения пропадут после обновления конфигов через FreePBX.
2010-10-08 15:16

Откуда: AST
Сообщений: 280

Re: Выполнение скрипта при снятии трубки

запихни в /etc/asterisk/extensions_override_freepbx.conf
2010-10-08 18:18

Avatara of romariosar
Откуда: Саратов
Сообщений: 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)} = номер звонящего

Всю голову сломал

Как мне в моем макросе вычислить номер звонящего?
http://www.unix-sar.ru Астериск, Linux в Саратове
2010-10-12 09:38

Avatara of romariosar
Откуда: Саратов
Сообщений: 64

Re: Выполнение скрипта при снятии трубки

Alexcr:

запихни в /etc/asterisk/extensions_override_freepbx.conf
А в каком виде мне надо в этот файл записывать чтобы сохранилось то что я наделал?
Нужно весь extensions_additional.conf сюда копировать или что?
http://www.unix-sar.ru Астериск, Linux в Саратове
2010-10-18 15:03

Откуда: AST
Сообщений: 280

Re: Выполнение скрипта при снятии трубки

только нужный тебе контекст
2010-10-18 21:27

Avatara of romariosar
Откуда: Саратов
Сообщений: 64

Re: Выполнение скрипта при снятии трубки

все разобрался:

1. Если контекст или макрос полностью написан тобой то просто сохранить его в файле extensions_override_freepbx.conf

2. Если нужно изменить уже имеющийся контекс то нужно этот контекст, уже измененный записать в extensions_override_freepbx.conf

И все сохранится:)
http://www.unix-sar.ru Астериск, Linux в Саратове
2010-10-19 10:04

Сообщений: 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
2010-10-20 00:18

Сообщений: 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)} = номер звонящего

Всю голову сломал

Как мне в моем макросе вычислить номер звонящего?
Передать аргументом низя в макрос?
2010-10-20 00:24

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