Прикрепление записи разговора в каталог Bpium

Материал из Oktell
Версия от 18:23, 20 июля 2016; Oktell Support (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Наверх

Описание

В Бипиум есть возможность в каталогах использовать поля для прикрепления файлов к записи. Файлы могут иметь различный тип, но наибольший интерес при интеграции представляют звуковые файлы, который можно прослушать непосредственно из Бипиум.

В статье рассматривается настройка интеграционной схемы с Oktell, которая реализует возможность прикреплять файлы записи разговора и прослушивать их из Бипиум.

Настройку можно условно разделить на несколько частей:

  • создание каталога в Бипиум для хранения записей
  • создание служебного сценария добавления ссылки на запись разговора в каталог Бипиум
  • создание служебного сценария, возвращающего звуковой файл

Пример

Создадим в Бипиум каталог Журнал звонков со следующей структурой:

  • Дата звонка - поле типа Дата
  • Номер звонящего - поле типа Текст
  • Запись разговора - поле типа Файл
Bpium journal.png

Ссылку на файл записи будем добавлять из служебного сценария обработки контента. Для доступа к файлу будем использовать метод серверного HTTP-интерфейса download\byscript. Для формирования полной ссылки потребуется название запускаемого сценария и передаваемый параметр, идентифицирующий запись разговора. В качестве такого параметра возьмем идентификатор последней коммутации из контента звонка. Также следует помнить, что вызов http-методов oktell требуют авторизации. Поэтому необходимо создать фиктивного пользователя с привилегией выполнения методов WebAPI.

Пример ссылки: https://user:password@myoktell.ru/download/byscript?name=getfile&startparam1=00000000-0000-0000-0000-000000000000&attachment=1

Сценарий обработки контента будет выглядеть следующим образом:

  • получаем контент в компоненте Старт
  • компонентами Парсер выделяем идентификатор последней коммутации и другие необходимые параметры
  • готовим JSON-сoобщение на добавление новой записи в каталог Журнал звонков. Формат сообщения можно найти в описании API Бипиум по ссылке http://docs.bpium.apiary.io/#reference/record/records-collection/create-new-record
  • компонентом Запрос в Bpium подключаемся к Бипиум и добавляем запись.
Bpium content.png

Теперь осталось настроить сценарий, который будет выдавать файл по запросу. Необходимо в сценарии сформировать полный путь к файлу. Один из примеров формирования пути к файлу описан в статье Получить путь к записи разговора по завершению коммутации.

Воспользуемся 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 (x86)\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'

ВНИМАНИЕ! Предполагается, что запись разговоров ведется в формате mp3. В случае wav-файлов запрос необходимо скорректировать.

Присваиваем полученной значение служебной переменной (сл) Возвращаемое значение 1.

Bpium getfile.png

Назначаем созданный сценарий Обработка контента в качестве Служебного сценария обработки контента в Oktell.

После разговора с абонентом в каталоге Журнал звонков Бипиум появится новая запись с информацией о звонящем и возможностью прослушать запись разговора.

Bpium recfile.png

Файлы