IVR - Получить путь к записи разговора, по завершению коммутации

Приходит внешний звонок. Коммутируется с внутренней линией. После разговора необходимо отправить файл записи разговора на почтовый ящик.

Для этого нам понадобиться определить адрес этого файла.


Разберем  пример нахождения пути, к данному файлу. Потом уже его можно без проблем отправить, воспроизвести и т.д.


В "Главном сценарии"  создадим глобальную переменную "Флаг".

Присвоим ей значение "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

@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


 



    Комментарии

    295

    ООО "Комокс"


    13 ноября 201216:55

    После завершения разговора, почему то не обрабатывается сценарий указанный как "Служебный сценарий обработки контента". В ручную сценарий запускается и выполняется без ошибок, а вот автоматически, что бы после разговора, нет..... в чем может быть проблема????

      353

      Golden Pages


      1 мая 201314:05

      Почему-то у меня не правильно отображается часть запроса SQL, в прошлый раз нормально все было, я его использовал, а сейчас отображается:
      select top 1 @aln=case when alinenum
      вместо:
      select top 1 @aln=case when alinenum<blinenum then alinenum else blinenum end,

        Новое сообщение

        Прикрепить файлы

        Написать