Получить путь к записи разговора по завершению коммутации — различия между версиями
Oleg (обсуждение | вклад) |
Oleg (обсуждение | вклад) |
||
Строка 22: | Строка 22: | ||
Проверяем ее значение. | Проверяем ее значение. | ||
− | [[Файл: | + | [[Файл:Сбор_контента.png|center|]] |
Анализируем XML-файл с помощью компонента "Парсер". | Анализируем XML-файл с помощью компонента "Парсер". | ||
Строка 28: | Строка 28: | ||
Сначала получаем количество коммутаций, в рамках цепочки коммутации. Берем последний ID коммутации. т.к. первый это ID коммутации с IVR сценарием. | Сначала получаем количество коммутаций, в рамках цепочки коммутации. Берем последний ID коммутации. т.к. первый это ID коммутации с IVR сценарием. | ||
− | [[Файл: | + | [[Файл:Сбор_контента1.png|center|]] |
Теперь получаем ID последней коммутации. | Теперь получаем ID последней коммутации. | ||
− | [[Файл: | + | [[Файл:Сбор_контента2.png|center|]] |
Строка 44: | Строка 44: | ||
declare @ts nvarchar(50) | declare @ts nvarchar(50) | ||
declare @path nvarchar(1000) | declare @path nvarchar(1000) | ||
− | |||
− | |||
select top 1 @aln=case when alinenum<blinenum then alinenum else blinenum end, | select top 1 @aln=case when alinenum<blinenum then alinenum else blinenum end, | ||
@bln=case when blinenum>alinenum then blinenum else alinenum end, | @bln=case when blinenum>alinenum then blinenum else alinenum end, | ||
Строка 51: | Строка 49: | ||
@ts=replace(convert(nvarchar(10), TimeStart, 121),'-','_')+'__'+replace(convert(nvarchar(20), TimeStart, 114),':','_') from A_Stat_Connections_1x1 | @ts=replace(convert(nvarchar(10), TimeStart, 121),'-','_')+'__'+replace(convert(nvarchar(20), TimeStart, 114),':','_') from A_Stat_Connections_1x1 | ||
where Id=@id and isrecorded=1 | where Id=@id and isrecorded=1 | ||
− | |||
− | |||
set @path='C:\Program Files\oktell\Server\RecordedFiles\' | set @path='C:\Program Files\oktell\Server\RecordedFiles\' | ||
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+'.wav' | set @filename=@path+replace(substring(@ts, 1, 10),'_','')+'\'+substring(@ts, 13, 2)+substring(@ts, 16, 2)+'\mix_'+@aln+'_'+@bln+'__'+@ts+'.wav' | ||
Назначаем параметры. | Назначаем параметры. | ||
− | [[Файл: | + | [[Файл:Сбор_контента4.png|center|]] |
Сохраняем | Сохраняем | ||
Строка 72: | Строка 66: | ||
2) Выставляем настройки записи разговоров. | 2) Выставляем настройки записи разговоров. | ||
− | [[Файл: | + | [[Файл:Настройка1.png|center|]] |
− | [[Файл: | + | [[Файл:Настройка.png|center|]] |
Сохраняем | Сохраняем | ||
Осуществляем входящий звонок. Разговариваем. Кладем трубочку и видим уведомление: | Осуществляем входящий звонок. Разговариваем. Кладем трубочку и видим уведомление: | ||
− | |||
D:\RecFile\201108241712\mix_13001_16003__2011_08_24__17_12_30_327.wav | D:\RecFile\201108241712\mix_13001_16003__2011_08_24__17_12_30_327.wav | ||
+ | |||
+ | [[Файл:Уведомление.png|center|]] |
Версия 12:27, 21 октября 2011
Задача: Приходит внешний звонок. Коммутируется с внутренней линией. После разговора необходимо отправить файл записи разговора на почтовый ящик. Для этого нам понадобиться определить адрес этого файла.
Разберем пример нахождения пути, к данному файлу. Потом уже его можно без проблем отправить, воспроизвести и т.д.
В "Главном сценарии" создадим глобальную переменную "Флаг". Присвоим ей значение "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+'.wav'
Назначаем параметры.
Сохраняем
SQL запрос вернет нам путь к файлу. Теперь его можно указать в качестве пути для отправку на почту, для воспроизведения и т.д. В примере для наглядности я просто вывел его в качестве уведомления.
Переходим в раздел "Общие настройки". 1) Тут назначаем "Служебный сценарий обработки контента" 2) Выставляем настройки записи разговоров.
Сохраняем Осуществляем входящий звонок. Разговариваем. Кладем трубочку и видим уведомление:
D:\RecFile\201108241712\mix_13001_16003__2011_08_24__17_12_30_327.wav