ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

запись звонков (uniqueid) - единая цепочка

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

запись звонков (uniqueid) - единая цепочка

Сообщение janetland » 14 авг 2017, 14:11

Привет всем.
Столкнулся с интересным вопросом - никто ранее не делал нечто подобное?

Есть несколько *, звонки маршрутизируются через единую точку входа (тоже *)

Когда звонок приходит с внешнего номера: все ок, происходит запись всей цепочки звонков: от 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 происходит подмена хоста астера, удерживающего вызов.

Как лучше(правильнее) организовать запись звонка в таком случае?
janetland
 
Сообщений: 43
Зарегистрирован: 24 авг 2016, 16:11

Re: запись звонков (uniqueid) - единая цепочка

Сообщение awsswa » 14 авг 2017, 14:18

в контексте h - переименовать что хотите

exten => h,1,NoOp(Поехали)
платный суппорт по мере возможностей
awsswa
 
Сообщений: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: запись звонков (uniqueid) - единая цепочка

Сообщение janetland » 14 авг 2017, 15:11

Уважаемый awsswa, а можно более развернуто? Что переименовать?
janetland
 
Сообщений: 43
Зарегистрирован: 24 авг 2016, 16:11

Re: запись звонков (uniqueid) - единая цепочка

Сообщение awsswa » 14 авг 2017, 15:21

в том контексте что звонок очереди

exten => h,1,NoOp(Поехали)
exten => h,n,System(mv /usr/rec/${filename}.wav /usr/rec/bambasiki-${filename}.wav)
платный суппорт по мере возможностей
awsswa
 
Сообщений: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: запись звонков (uniqueid) - единая цепочка

Сообщение janetland » 14 авг 2017, 16:43

Проблема в том, что
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} на имя хоста * и имя файла-голосового потока в случае исходящего вызова?
janetland
 
Сообщений: 43
Зарегистрирован: 24 авг 2016, 16:11

Re: запись звонков (uniqueid) - единая цепочка

Сообщение awsswa » 14 авг 2017, 16:51

Все можно запомнить до и вспомнить после

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)
платный суппорт по мере возможностей
awsswa
 
Сообщений: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: запись звонков (uniqueid) - единая цепочка

Сообщение Repz » 14 авг 2017, 17:40

Вместо uniqueid использовать linkedid
Repz
 
Сообщений: 169
Зарегистрирован: 04 мар 2015, 12:35

Re: запись звонков (uniqueid) - единая цепочка

Сообщение janetland » 14 сен 2017, 18:43

Вместо 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
janetland
 
Сообщений: 43
Зарегистрирован: 24 авг 2016, 16:11

Re: запись звонков (uniqueid) - единая цепочка

Сообщение janetland » 14 сен 2017, 19:10

Касаемо начального топика, более детальные логи:

перевод звонка в локацию 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 с астера на астер, как результат - начальный звонок (оператор колцентра-клиент) затирается последним (оператор колцентра-менеджер)

Мб что упустил? Буду благодарен за помощь.
janetland
 
Сообщений: 43
Зарегистрирован: 24 авг 2016, 16:11


Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: ded и гости: 23

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH