Получить путь к записи разговора по завершению коммутации — различия между версиями
Oleg (обсуждение | вклад) |
|||
(не показано 11 промежуточных версии 2 участников) | |||
Строка 1: | Строка 1: | ||
− | + | [[Практики|Наверх]] | |
− | + | ||
− | + | ||
− | + | '''Задача:''' определить путь к записи разговора для совершения дальнейших действий (например, отправки на почту). | |
+ | |||
+ | В статье описывается пример нахождения пути к данному файлу. Дальнейшие действия зависят полностью от вас - найденный файл можно без проблем отправить, воспроизвести, удалить, перенести и т.д. | ||
+ | |||
+ | |||
+ | В "'''Главном сценарии'''" создадим сессионную переменную "'''Флаг'''". Присвоим ей значение "'''1'''" только в том случае, когда нам это необходимо. | ||
− | |||
− | |||
[[Файл:Главный.png|center|]] | [[Файл:Главный.png|center|]] | ||
+ | |||
Сохраняем. | Сохраняем. | ||
− | Создаем служебный сценарий "1_Сбор контента". | + | Создаем служебный сценарий "'''1_Сбор контента'''". Он будет назначен как "'''Служебный сценарий обработки контента'''". Подробнее про назначение сценария тут. В нем в качестве стартового параметра передается XML-файл, содержащий информацию о коммутации. |
− | Он будет назначен как "Служебный сценарий обработки контента". Подробнее про назначение сценария тут | + | |
− | + | ||
− | В нем в качестве стартового параметра передается XML-файл, содержащий информацию о коммутации. | + | |
[[Файл:Настройка3.png|center|]] | [[Файл:Настройка3.png|center|]] | ||
− | Создаем глобальную переменную "Флаг" ( в нее передается значение из Главного сценария). | + | |
− | Проверяем ее значение. | + | Создаем глобальную переменную "'''Флаг'''" ( в нее передается значение из Главного сценария). Проверяем ее значение. |
+ | |||
[[Файл:Сбор_контента.png|center|]] | [[Файл:Сбор_контента.png|center|]] | ||
− | Анализируем XML-файл с помощью компонента "Парсер". | + | |
− | Поисковый запрос: commutation>property_simple[key=idconnection] | + | Анализируем XML-файл с помощью компонента "'''Парсер'''". Поисковый запрос: |
+ | |||
+ | commutation>property_simple[key=idconnection] | ||
+ | |||
Сначала получаем количество коммутаций, в рамках цепочки коммутации. Берем последний ID коммутации. т.к. первый это ID коммутации с IVR сценарием. | Сначала получаем количество коммутаций, в рамках цепочки коммутации. Берем последний ID коммутации. т.к. первый это ID коммутации с IVR сценарием. | ||
+ | |||
[[Файл:Сбор_контента1.png|center|]] | [[Файл:Сбор_контента1.png|center|]] | ||
+ | |||
Теперь получаем ID последней коммутации. | Теперь получаем ID последней коммутации. | ||
Строка 35: | Строка 41: | ||
− | Выполняем SQL запрос в базу, для получения пути к файлу. | + | Выполняем SQL запрос в базу, для получения пути к файлу. Т.к. имя файла не храниться в БД, то придется его "склеить" |
− | Т.к. имя файла не храниться в БД, то придется его "склеить" | + | |
− | SQL запрос : | + | '''SQL запрос :''' |
− | declare @aln nvarchar(10) | + | <pre>declare @aln nvarchar(10) |
declare @bln nvarchar(10) | declare @bln nvarchar(10) | ||
declare @idrecdir int | declare @idrecdir int | ||
Строка 52: | Строка 57: | ||
if (@idrecdir>0) | if (@idrecdir>0) | ||
select @path=path from A_Stat_RecordDirectories where id=@idrecdir | select @path=path from A_Stat_RecordDirectories where id=@idrecdir | ||
− | set @filename=@path+replace(substring(@ts, 1, 10),'_','')+'\'+substring(@ts, 13, 2)+substring(@ts, 16, 2)+'\mix_'+@aln+'_'+@bln+'__'+@ts+'. | + | set @filename=@path+replace(substring(@ts, 1, 10),'_','')+'\'+substring(@ts, 13, 2)+substring(@ts, 16, 2)+'\mix_'+@aln+'_'+@bln+'__'+@ts+'.mp3' </pre> |
Назначаем параметры. | Назначаем параметры. | ||
+ | |||
[[Файл:Сбор_контента4.png|center|]] | [[Файл:Сбор_контента4.png|center|]] | ||
+ | |||
Сохраняем | Сохраняем | ||
− | SQL запрос вернет нам путь к файлу. Теперь его можно указать в качестве пути для отправку на почту, для воспроизведения и т.д. В примере для наглядности я просто вывел его в качестве уведомления. | + | SQL-запрос вернет нам путь к файлу. Теперь его можно указать в качестве пути для отправку на почту, для воспроизведения и т.д. В примере для наглядности я просто вывел его в качестве уведомления. |
+ | |||
+ | Переходим в раздел "'''Общие настройки'''". | ||
+ | |||
+ | 1) Тут назначаем "'''Служебный сценарий обработки контента'''" | ||
− | |||
− | |||
2) Выставляем настройки записи разговоров. | 2) Выставляем настройки записи разговоров. | ||
+ | |||
[[Файл:Настройка1.png|center|]] | [[Файл:Настройка1.png|center|]] | ||
+ | |||
[[Файл:Настройка.png|center|]] | [[Файл:Настройка.png|center|]] | ||
+ | |||
Сохраняем | Сохраняем | ||
Осуществляем входящий звонок. Разговариваем. Кладем трубочку и видим уведомление: | Осуществляем входящий звонок. Разговариваем. Кладем трубочку и видим уведомление: | ||
− | D:\RecFile\201108241712\mix_13001_16003__2011_08_24__17_12_30_327. | + | D:\RecFile\201108241712\mix_13001_16003__2011_08_24__17_12_30_327.mp3 |
[[Файл:Уведомление.png|center|]] | [[Файл:Уведомление.png|center|]] |
Текущая версия на 07:08, 20 февраля 2014
Задача: определить путь к записи разговора для совершения дальнейших действий (например, отправки на почту).
В статье описывается пример нахождения пути к данному файлу. Дальнейшие действия зависят полностью от вас - найденный файл можно без проблем отправить, воспроизвести, удалить, перенести и т.д.
В "Главном сценарии" создадим сессионную переменную "Флаг". Присвоим ей значение "1" только в том случае, когда нам это необходимо.
Сохраняем.
Создаем служебный сценарий "1_Сбор контента". Он будет назначен как "Служебный сценарий обработки контента". Подробнее про назначение сценария тут. В нем в качестве стартового параметра передается XML-файл, содержащий информацию о коммутации.
Создаем глобальную переменную "Флаг" ( в нее передается значение из Главного сценария). Проверяем ее значение.
Анализируем XML-файл с помощью компонента "Парсер". Поисковый запрос:
commutation>property_simple[key=idconnection]
Сначала получаем количество коммутаций, в рамках цепочки коммутации. Берем последний ID коммутации. т.к. первый это ID коммутации с IVR сценарием.
Теперь получаем ID последней коммутации.
Выполняем SQL запрос в базу, для получения пути к файлу. Т.к. имя файла не храниться в БД, то придется его "склеить"
SQL запрос :
declare @aln nvarchar(10) declare @bln nvarchar(10) declare @idrecdir int declare @ts nvarchar(50) declare @path nvarchar(1000) select top 1 @aln=case when alinenum<blinenum then alinenum else blinenum end, @bln=case when blinenum>alinenum then blinenum else alinenum end, @idrecdir=idrecdir, @ts=replace(convert(nvarchar(10), TimeStart, 121),'-','_')+'__'+replace(convert(nvarchar(20), TimeStart, 114),':','_') from A_Stat_Connections_1x1 where Id=@id and isrecorded=1 set @path='C:\Program Files\oktell\Server\RecordedFiles\' if (@idrecdir>0) select @path=path from A_Stat_RecordDirectories where id=@idrecdir set @filename=@path+replace(substring(@ts, 1, 10),'_','')+'\'+substring(@ts, 13, 2)+substring(@ts, 16, 2)+'\mix_'+@aln+'_'+@bln+'__'+@ts+'.mp3'
Назначаем параметры.
Сохраняем
SQL-запрос вернет нам путь к файлу. Теперь его можно указать в качестве пути для отправку на почту, для воспроизведения и т.д. В примере для наглядности я просто вывел его в качестве уведомления.
Переходим в раздел "Общие настройки".
1) Тут назначаем "Служебный сценарий обработки контента"
2) Выставляем настройки записи разговоров.
Сохраняем
Осуществляем входящий звонок. Разговариваем. Кладем трубочку и видим уведомление:
D:\RecFile\201108241712\mix_13001_16003__2011_08_24__17_12_30_327.mp3