VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

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

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

Ответить
janetland
Сообщения: 43
Зарегистрирован: 24 авг 2016, 15:11

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

Сообщение 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 происходит подмена хоста астера, удерживающего вызов.

Как лучше(правильнее) организовать запись звонка в таком случае?
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

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

Сообщение awsswa »

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

exten => h,1,NoOp(Поехали)
платный суппорт по мере возможностей
janetland
Сообщения: 43
Зарегистрирован: 24 авг 2016, 15:11

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

Сообщение janetland »

Уважаемый awsswa, а можно более развернуто? Что переименовать?
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

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

Сообщение awsswa »

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

exten => h,1,NoOp(Поехали)
exten => h,n,System(mv /usr/rec/${filename}.wav /usr/rec/bambasiki-${filename}.wav)
платный суппорт по мере возможностей
janetland
Сообщения: 43
Зарегистрирован: 24 авг 2016, 15:11

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

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

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

Сообщение 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)
платный суппорт по мере возможностей
Repz
Сообщения: 169
Зарегистрирован: 04 мар 2015, 11:35

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

Сообщение Repz »

Вместо uniqueid использовать linkedid
janetland
Сообщения: 43
Зарегистрирован: 24 авг 2016, 15:11

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

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

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

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

Мб что упустил? Буду благодарен за помощь.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH