Страница 1 из 1
запись звонков (uniqueid) - единая цепочка
Добавлено: 14 авг 2017, 13:11
janetland
Привет всем.
Столкнулся с интересным вопросом - никто ранее не делал нечто подобное?
Есть несколько *, звонки маршрутизируются через единую точку входа (тоже *)
Когда звонок приходит с внешнего номера: все ок, происходит запись всей цепочки звонков: от main - > aster1 -> aster2 на выходе получаем единый файл всего голосового потока
-- Executing [98921ххххххх@local:2] MixMonitor("SIP/333-00031e6b", "/usr/rec/aster1-1502703093.207581.wav,a") in new stack
extensions.conf
(aster1)
Код: Выделить всё
exten => 333,n,Set(filename=${UNIQUEID});
exten => 333,n,MixMonitor(/usr/rec/${filename}.wav,a);
exten => 333,n,Set(AUDIOHOOK_INHERIT(MixMonitor)=yes);
(aster2)
exten => 621,n,Set(filename=${UNIQUEID});
exten => 621,n,MixMonitor(/usr/rec/${filename}.wav,a);
exten => 621,n,Set(AUDIOHOOK_INHERIT(MixMonitor)=yes);
Когда мы звоним наружу, все хорошо до тех пор, пока клиент не просит куда-либо перевести (тут в примере концовка алгоритма 333 позвонил на сотовый 8-921... поговорил и переводит на 621)
5400266 2017-08-14 12:31:33 98921ххххххх 98921ххххххх 621 outgoing-aster2 SIP/333-00031f4a SIP/aster2-00031f4c Dial SIP/aster2/621,40,Tt 23 4 ANSWERED 3
aster1-1502703093.207581
5400267 2017-08-14 12:31:33 "777" <333> 333 98921ххххххх queues SIP/aster1-0000183f SIP/provider-00001840 Dial SIP/provider/8921ххххххх,,Tt 23 15 ANSWERED 3
aster-1502703093.6207
Изначально коннект цепочки был aster1-1502703093 стал aster-1502703093, т.е. в uniqueid происходит подмена хоста астера, удерживающего вызов.
Как лучше(правильнее) организовать запись звонка в таком случае?
Re: запись звонков (uniqueid) - единая цепочка
Добавлено: 14 авг 2017, 13:18
awsswa
в контексте h - переименовать что хотите
exten => h,1,NoOp(Поехали)
Re: запись звонков (uniqueid) - единая цепочка
Добавлено: 14 авг 2017, 14:11
janetland
Уважаемый awsswa, а можно более развернуто? Что переименовать?
Re: запись звонков (uniqueid) - единая цепочка
Добавлено: 14 авг 2017, 14:21
awsswa
в том контексте что звонок очереди
exten => h,1,NoOp(Поехали)
exten => h,n,System(mv /usr/rec/${filename}.wav /usr/rec/bambasiki-${filename}.wav)
Re: запись звонков (uniqueid) - единая цепочка
Добавлено: 14 авг 2017, 15:43
janetland
Проблема в том, что
exten => 333,n,MixMonitor(/usr/rec/${filename}.wav,a) имя файла составное (из имени хоста заданного в asterisk.conf переменной systemname = aster1) и самого wave-файла
Код: Выделить всё
5400266 2017-08-14 12:31:33 98921ххххххх 98921ххххххх 621 outgoing-aster2 SIP/333-00031f4a SIP/aster2-00031f4c Dial SIP/aster2/621,40,Tt 23 4 ANSWERED 3
aster1-1502703093.207581
5400267 2017-08-14 12:31:33 "777" <333> 333 98921ххххххх queues SIP/aster1-0000183f SIP/provider-00001840 Dial SIP/provider/8921ххххххх,,Tt 23 15 ANSWERED 3
aster-1502703093.6207
писать некий скрипт который будет "разбирать" переменную ${UNIQUEID} на имя хоста * и имя файла-голосового потока в случае исходящего вызова?
Re: запись звонков (uniqueid) - единая цепочка
Добавлено: 14 авг 2017, 15:51
awsswa
Все можно запомнить до и вспомнить после
exten => 333,n,Set(filename=${UNIQUEID});
exten => 333,n,Set(__nasheima=${filename})
exten => 333,n,MixMonitor(/usr/rec/${filename}.wav,a);
exten => 333,n,Set(AUDIOHOOK_INHERIT(MixMonitor)=yes);
exten => h,1,NoOp(Поехали)
exten => h,n,System(mv /usr/rec/${filename}.wav /usr/rec/bambasiki-${nasheima}.wav)
Re: запись звонков (uniqueid) - единая цепочка
Добавлено: 14 авг 2017, 16:40
Repz
Вместо uniqueid использовать linkedid
Re: запись звонков (uniqueid) - единая цепочка
Добавлено: 14 сен 2017, 17:43
janetland
Вместо uniqueid использовать linkedid
Честно говоря, особой разницы не вижу
Код: Выделить всё
exten => _98981ХХХХХХХ,1,Set(filename=${CHANNEL(linkedid)});
exten => _98981ХХХХХХХ,2,Set(filename1=${UNIQUEID});
exten => _98981ХХХХХХХ,3,NoOp(filename is ${filename});
exten => _98981ХХХХХХХ,4,NoOp(filename1 is ${filename1});
Код: Выделить всё
-- Executing [98981ХХХХХХХ@local:1] Set("SIP/601-00074054", "filename=aster1-1505399892.482759") in new stack
-- Executing [98981ХХХХХХХ@local:2] Set("SIP/601-00074054", "filename1=aster1-1505399892.482759") in new stack
Re: запись звонков (uniqueid) - единая цепочка
Добавлено: 14 сен 2017, 18:10
janetland
Касаемо начального топика, более детальные логи:
перевод звонка в локацию 2: (клиент звонит нам) начальный
uniqueid asterсс-1502701074.5290
Код: Выделить всё
5399259 2017-08-14 11:57:54 "8911ХХХХХХ"<8911ХХХХХХ> 8911ХХХХХХ 839 normalwork SIP/provider-000014aa SIP/258-000014b4 Queue callcenter,Tt 60 60 ANSWERED 3 asterсс-1502701074.5290
5399422 2017-08-14 11:58:38 "Operator 5" <258> 258 655 incoming SIP/asteriskcallcenter-000408f9 SIP/644-000408fa Dial SIP/644&SIP/651&SIP/650&SIP/652,40,Tt 278 270 ANSWERED 3 aster2-1502701118.269812
5399423 2017-08-14 11:58:38 "Operator 5" <258> 258 655 callcenter-agents SIP/258-000014c5 SIP/asterisk2-000014c6 Dial SIP/asterisk2/655,300,Tt 278 270 ANSWERED 3 6055531 astercc-1502701118.5317
На выходе получаем 3 файла
Код: Выделить всё
astercc-1502701074.5290.wav (общий разговор=клиент-кол-центр-манагер) номера 8911ХХХХХХХ-258-655-644
astercc-1502701118.5317.wav (запись разговора кол-центр-менеджер на астере колцентра) номера 258-644
aster2-1502701118.269812.wav (запись разговора кол-центр-менеджер на локации 2) номера 258-644
перевод звонка в локацию 2: (мы звоним клиенту) начальный
uniqueid astercc-1502617934.4313
Код: Выделить всё
5389474 2017-08-13 12:52:14 "Operator 4" <257> 257 98965ХХХХХХХ callcenter-agents SIP/257-000010d9 SIP/provider-000010da Dial SIP/provider/8965ХХХХХХХ,,Tt 81 62 ANSWERED 3 astercc-1502617934.4313
5389561 2017-08-13 12:53:15 "Operator 4" <257> 257 655 callcenter-agents SIP/257-000010e6 SIP/asterisk2-000010e7 Dial SIP/asterisk2/655,300,Tt 379 369 ANSWERED 3 astercc-1502617995.4326
5389562 2017-08-13 12:53:15 "Operator 4" <257> 257 655 incoming SIP/asteriskcallcenter-0003ee64 SIP/650-0003ee67 Dial SIP/644&SIP/651&SIP/650&SIP/652,40,Tt 380 370 ANSWERED 3 aster2-1502617995.262933
На выходе получаем 3 файла
Код: Выделить всё
astercc-1502617934.4313.wav (разговор=кол-центр-клиент) номера 257-98965ХХХХХХХ-655-650 (должен быть полный, записывается разговор только оператор кол-центра - клиент)
astercc-1502617995.4326.wav (запись разговора кол-центр-менеджер на астере колцентра) номера 257-650
aster2-1502617995.262933.wav (запись разговора кол-центр-менеджер на локации 2) номера 257-650
Настройки идентичные, в коде extentions.conf
Код: Выделить всё
exten => _9X.,1,Set(filename=${UNIQUEID});
exten => 650,1,Set(filename=${UNIQUEID});
exten => 655,1,Set(filename=${UNIQUEID});
exten => 644,1,Set(filename=${UNIQUEID});
exten => 257,1,Set(filename=${UNIQUEID});
exten => 258,1,Set(filename=${UNIQUEID});
Было подозрение, что из-за открытия нового канала нет записи, но логи звукового файла доказали обратное (входящий звонок клиента нам).
Пробовал передавать метку звонка через SIP_HEADER с астера на астер, как результат - начальный звонок (оператор колцентра-клиент) затирается последним (оператор колцентра-менеджер)
Мб что упустил? Буду благодарен за помощь.