Страница 1 из 1

Запись разговора в очереди, с указанием оператора

Добавлено: 03 фев 2012, 15:59
Ferrum
Нужно добиться правильного названия файлов, при записи разговоров идущих на операторов в очереди.

Нужный формат файлов входящих звонков:

Код: Выделить всё

 Дата - время – внутренний - X - городской - входящий  
 например: 20111023_110344_101_X_999999_89217777777.wav
Пока остановился на таком диалплане:

Код: Выделить всё

extensions.conf
exten => 500,1,Answer
exten => 500,n,SET(fname=${STRFTIME(${EPOCH},,%Y%m%d_%H%M%S)}_X_${CALLERID(dnid)}_${CALLERID(num)})
exten => 500,n,Set(MONITOR_FILENAME=${fname})
exten => 500,n,Queue(support,t)
exten => 500,n,Hangup

Код: Выделить всё

queues.conf
[support]
music = default
timeoutreset = no
strategy = rrmemory
joinempty = strict
leavewhenempty = yes
retry = 5
timeout= 5
monitor-format = wav
monitor-type = MixMonitor
member => SIP/101,0
member => SIP/102,0
member => SIP/103,0
member => SIP/104,0
member => SIP/105,0
member => SIP/106,0
member => SIP/107,0
member => SIP/108,0
member => SIP/109,0
member => SIP/110,0

выходит что то типа такого:

Код: Выделить всё

20120203_135408_X_500_111.wav
Как туда добавить номер оператора ответившего на звонок ?

Re: Запись разговора в очереди, с указанием оператора

Добавлено: 03 фев 2012, 18:28
SVoy
1. попробовать выловить номер абонента по окончанию звонка
2. переименовать файл

Re: Запись разговора в очереди, с указанием оператора

Добавлено: 03 фев 2012, 18:54
ded
... потому что шаги
exten => 500,1,Answer - первый шаг, ответили
exten => 500,n,SET(fname=${STRFTIME(${EPOCH},,%Y%m%d_%H%M%S)}_X_${CALLERID(dnid)}_${CALLERID(num)}) - второй шаг, установили имя файла (!) а ещё не знаем кто из операторов примет звонок
exten => 500,n,Set(MONITOR_FILENAME=${fname}) передали имя
exten => 500,n,Queue(support,t) - передали звонок с мониторингом в файл в очередь.
Откуда мы знаем, кто из операторов возьмёт?
Автор, Вы изобрнетаете очередной соломенный велосипед, на основе приказов руководства: №Надо чтобы в имени фала было всё видно: кто звонил, кто ответил, время и место. А фото нельзя вставить в имя файла? Нет? Жаль."

Re: Запись разговора в очереди, с указанием оператора

Добавлено: 03 фев 2012, 19:57
Ferrum
В общем решение такое, но появляются некоторые проблемы, например перестала работать функция пропуска очереди, в случае недоступности всех операторов.
Есть у кого решение этой проблемы?

extensions.conf

Код: Выделить всё

exten => 500,1,Answer
exten => 500,n,SET(_FN=${CALLERID(dnid)})
exten => 500,n,Queue(support,t)
exten => 500,n,Hangup


[operators]

exten => 101,1,SET(fname=${STRFTIME(${EPOCH},,%Y%m%d_%H%M%S)}_101_X_${FN}_${CALLERID(num)})
exten => 101,n,MixMonitor(/home/tech/${fname}.wav)
exten => 101,n,Dial(SIP/${EXTEN},60,t)

exten => 102,1,SET(fname=${STRFTIME(${EPOCH},,%Y%m%d_%H%M%S)}_102_X_${FN}_${CALLERID(num)})
exten => 102,n,MixMonitor(/home/tech/${fname}.wav)
exten => 102,n,Dial(SIP/${EXTEN},60,t)

exten => 103,1,SET(fname=${STRFTIME(${EPOCH},,%Y%m%d_%H%M%S)}_103_X_${FN}_${CALLERID(num)})
exten => 103,n,MixMonitor(/home/tech/${fname}.wav)
exten => 103,n,Dial(SIP/${EXTEN},60,t)
queues.conf

Код: Выделить всё

[support]
music = default
timeoutreset = no
strategy = rrmemory
joinempty = invalid
leavewhenempty = yes
retry = 5
timeout= 5
;monitor-format = wav
;monitor-type = MixMonitor
member => Local/101@operators,0
member => Local/102@operators,0
member => Local/103@operators,0

Re: Запись разговора в очереди, с указанием оператора

Добавлено: 03 фев 2012, 21:01
Vlad1983
верное направление здесь
http://forum.asterisk.ru/viewtopic.php?f=5&t=1325

Re: Запись разговора в очереди, с указанием оператора

Добавлено: 03 фев 2012, 21:14
Samael28
http://samael28.blogspot.com/2010/10/blog-post.html
Как я решал. Все работает.

Re: Запись разговора в очереди, с указанием оператора

Добавлено: 08 фев 2012, 00:21
Ferrum
Всем спасибо, особенно Samael28 за помощь.