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

Как передать переменную

Как передать переменную из контекста очереди.
1 23>
Сообщений: 48

Как передать переменную

Добрый день,

подскажите пожалуйста направление в котором искать.

имеем * 1.6
есть очередь с операторами - 1 линия поддержки
просто абоненты - 2 линия поддержки
Звонки приходящие в очередь пишутся.
Звонки когда оператор из 1 линии поддержки делает трансфер на 2-ю линию поддержки тоже пишутся.
Все пишется в различные файлы имена которых генерируется в процессе вызовов.

вопрос в том как можно организовать некую общую уникальную переменную которая будет целятся и к первому файлу записи и ко второму, что бы можно было проследить цепочку звонков, т.к. переменные которые генерируются в процессе попадания звонков в очередь не видны в вызовах операторов второй линии. Т.е. уникальную переменную перед попаданием в очередь генерировать можно, а вот как ее передать в вызовы операторов второй линии я не понял :(.













2010-04-01 17:13

Сообщений: 124

Re: Как передать переменную

глобальные переменные?
2010-04-05 16:37

Сообщений: 48

Re: Как передать переменную

jr:

глобальные переменные?
через глобальные делать не стал, получилось через DB. В тестовом режиме заработало, посмотрим как будет в эксплуатации... когда залогинятся все операторы а не один тестовый.
2010-04-05 17:44

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Как передать переменную

если делать через бд, то нужно как-то для каждого канала различать значения, иначе для всех звонков у вас будет одно значение и практическая ценность такого подхода равна нулю.
Если будете сохранять ветку БД с учетом номер канала, то очень скоро она будет необъятного размера.

сделайте так
exten => s,n,set(__first_uniqueid=${CDR(uniqueid)})

а потом в любом месте диалплана переменная ${first_uniqueid} вернет id звонка, инициализировавшего все последующие вызовы
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2010-04-05 18:04

Сообщений: 48

Re: Как передать переменную

switch:

если делать через бд, то нужно как-то для каждого канала различать значения, иначе для всех звонков у вас будет одно значение и практическая ценность такого подхода равна нулю.
Если будете сохранять ветку БД с учетом номер канала, то очень скоро она будет необъятного размера.
Я различаю на основе MEMBERINTERFACE и uniqueid.
И разумеется что бы база не росла значение прибиваю.
2010-04-05 20:15

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Как передать переменную

сами смотрите.
база астера относительно медленная.
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2010-04-05 20:17

Сообщений: 48

Re: Как передать переменную

switch:

сами смотрите.
база астера относительно медленная.
Спасибо, обращу на это внимание, посмотрю как жить будет. У меня совсем скромный размер контакт центра думаю тут проблем не должно возникнуть.
2010-04-05 20:34

Сообщений: 9

Re: Как передать переменную

Добрый день!
Тоже попрошу помощи по аналогичной теме.

Астер - 1.6.1.1
Есть задача записывать входящие звонки группы техподдержки. С этим вопросом проблем нет. Они (проблемы) начинаются на этапе формирования имени файла, который должен иметь формат: тел_номер_клиента-тел_номер_оператора-дата-время-длительность.
Вся загвоздка с передачей в это имя "тел_номер_клиента"

Тел. звонок на начальном этапе обрабатывает секретарь (тут Callerid есть), затем переводит (attxfer) звонок на техподдержку (а вот тут уже Callerid - секретарского телефона)

Попытки присвоить Callerid какой-либо переменной и подставлять ее - успехом не увенчались.
Куда копать?
2010-04-07 07:16

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Как передать переменную

тему прочитать пробовали?
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2010-04-07 07:40

Сообщений: 9

Re: Как передать переменную

к сожалению - читать пробовал.
назначение глобальной переменной толку не дает.
может я не вижу очевидной вещи?

[Q_incoming_calls_day]
exten => s,1,Answer
exten => s,n,Set(CHANNEL(language)=ru)
exten => s,n,Set(__TELNO=${CALLERID(num)})
exten => s,n,Dial(SIP/59004&$SIP/59005,20,ftT)

...

[Recording]
exten => 313,1,Macro(rec_call,${EXTEN},501,techsupport_calls@mail.local)
exten => 311,1,Macro(rec_call,${EXTEN},502,techsupport_calls@mail.local)
exten => 435,1,Macro(rec_call,${EXTEN},503,techsupport_calls@mail.local)

...

[macro-rec_call]
exten => s,1,Set(CALLFILENAME=${TELNO}_${ARG1}_${STRFTIME(${EPOCH},,%Y-%m-%d_%H-%M-%S)})
exten => s,n,Set(monopt=nice -n 19 /usr/local/rec/inc_calls.pl ${CALLFILENAME} ${ARG3})
exten => s,n,Set(CHANNEL(language)=ru)
exten => s,n,MixMonitor(${CALLFILENAME}.wav,b,${monopt})
exten => s,n,Dial(${NEC}/${ARG2},15,ftTU(anounce))
exten => s,n,StopMixMonitor
exten => s,n,Voicemail(9${ARG1})
exten => s,n,Hangup

2010-04-07 09:23

1 23>
Добавить страницу в закладки:  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