Клиентский HTTP интерфейс

Материал из Oktell
Перейти к: навигация, поиск

Наверх


Клиентское приложение осуществляет прослушивание порта 4059 (может быть изменен в конфигурационном файле) и способно исполнять некоторые поступающие на него по протоколу HTTP запросы. Клиентское приложение ограничивается прослушиванием loopback интерфейса (127.0.0.1).


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


Запросы могут поступать с использованием как метода GET, так и POST.


Команды клиентского веб-интерфейса


callto. Осуществляет звонок на указанный номер посредством активного клиентского приложения. Если текущий авторизованный пользователь занят или не имеет телефона, звонок не осуществляется. Звонок происходит по текущей настроенной схеме автодозвона. Подробнее в разделе Телефон. Звонки и сервис автодозвона.

Параметры:

  • number - номер, на который необходимо осуществить звонок. Может быть как внешним, так и внутренним. Если во внутреннем номерном плане существует такой номер, будет произведен вызов по внутренней сети, иначе набор во вне.

http://127.0.0.1:4059/callto?number=184



switchto. Осуществляет переключение текущего пользователя на указанный номер посредством активного клиентского приложения. Если текущий авторизованный пользователь находится в коммутации, то производится действие, аналогичное нажатию FLASH и набору номера. В противном случае действие команды аналогично callto.

Параметры:

  • number - номер, на который необходимо осуществить переключение. Может быть как внешним, так и внутренним. Если во внутреннем номерном плане существует такой номер, будет произведен вызов по внутренней сети, иначе набор во вне.

http://127.0.0.1:4059/switchto?number=184



execsvcscript. Осуществляет запуск произвольного служебного сценария на сервере, считая инициатором запуска текущего авторизованного пользователя (код запуска 14). Запуск служебного сценария может осуществляться синхронно и асинхронно. В синхронном режиме возвращаемое сценарием значение (присвоенное служебной переменной «Возвращаемое значение 1») передается в качестве ответа на запрос.

Параметры:

  • name - название служебного сценария, подлежащего запуску, существующего и размещенного на сервере в каталоге общих сценариев.
  • startparam1, startparam2, startparam3, startparam4, startparam5 - значения стартовых параметров, передаваемых в сценарий и доступных в качестве соответствующих функций.
  • async - режим запуска служебного сценария. 0 - синхронно с ожиданием завершения и возвратом значения, 1 - асинхронно.
  • timeout - в случае запуска в синхронном режиме устанавливает максимально допустимое время ожидания завершения сценария в секундах. При превышении обрывает ожидание и возвращает ответ на веб-запрос без результата работы сценария.

http://127.0.0.1:4059/execsvcscript?name=SvcScript1&startparam1=123&startparam2=234&async=0&timeout=10

Пример структуры возвращаемого значения:

<?xml version="1.0" encoding="utf-16"?>
<oktellxmlmapper version="80710">
<data name="result" count="1">
  <property_set name="execsvcscript">
    <property_simple key="started" value="1" name="success" />
    <property_simple key="startresult" value="0" name="success" />
    <property_simple key="returnvalue" name="abcdef" />
  </property_set>
</data>
</oktellxmlmapper>



getcurrentcallinfo. Возвращает информацию о текущем состоянии и оппоненте в коммутации с участием авторизованного пользователя. В качестве ответа возвращается XML-структура с набором значений. В зависимости от текущего режима (определяется полем mode) состав ответа может меняться.

Запрос не требует параметров.

http://127.0.0.1:4059/getcurrentcallinfo

Пример структуры возвращаемого значения:

<?xml version="1.0" encoding="utf-16"?>
<oktellxmlmapper version="80710">
<data name="result" count="1">
  <property_set name="callinfo">
    <property_simple key="result" value="1" name="success" />
    <property_simple key="mode" value="connected" />
    <property_cdata key="idchain"><![CDATA[2ac6dc7e-41e7-4ec1-a0c2-d704109e0f5d]]></property_cdata>
    <property_cdata key="idconn"><![CDATA[24b86b87-3676-431f-9519-093ac9ca88dd]]></property_cdata>
    <property_simple key="abonenttype" value="inner" />
    <property_simple key="number" value="16" />
    <property_cdata key="name"><![CDATA[Дмитрий Евгеньевич]]></property_cdata>
    <property_cdata key="description"><![CDATA[Дмитрий Евгеньевич]]></property_cdata>
    <property_cdata key="lineid"><![CDATA[e76c86ea-a28a-4519-b4ff-8879a92c62b7]]></property_cdata>
    <property_simple key="linenum" value="17002" />
    <property_cdata key="userid"><![CDATA[2a594b51-bb89-4da6-a69f-f48761baf0d9]]></property_cdata>
    <property_simple key="starttick" value="0" />
    <property_cdata key="starttime"><![CDATA[10.11.2010 14:13:05]]></property_cdata>
  </property_set>
</data>
</oktellxmlmapper>

Состав ответа:

mode: текущий режим. none, connected, flashed, calling, ringing.

idchain: идентификатор текущей сессии (цепочки коммутаций).

idconn: идентификатор текущей коммутации.

abonenttype: тип оппонента. inner, outer, ivr, conference, task.

number: номер оппонента.

name: название/имя оппонента.

description: описание оппонента.

comment: комментарий или дополнительное описание, установленное в сценарии при переключении.

lineid: идентификатор линии оппонента.

linenum: номер линии оппонента.

userid: идентификатор оппонента (если это внутренний пользователь системы).

starttime: время начала коммутации (или сессии для задач с установленным ограничением на время обработки).

starttick: системный тик локального компьютера, соответствующий началу коммутации (или сессии).



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

http://127.0.0.1:4059/headsetanswercall



disconnectcall. Завершает текущий звонок. Если в настоящее время авторизованный пользователь находится в коммутации - разрывает ее, отправляя отбой обеим линиям. Если в конференции - выводит из нее, если автодозвон - прекращает, если входящий вызов - отклоняет.

http://127.0.0.1:4059/disconnectcall



declinecall. Аналогично команде «Отклонить входящий вызов» в пользовательском интерфейсе софт-телефона.

http://127.0.0.1:4059/declinecall



focus. Производит передачу фокуса в клиентское приложение Oktell. Следует иметь в виду, что это не всегда возможно и определяется настройками приложения, которое владеет фокусом в это время.

http://127.0.0.1:4059/focus



dialogcardnext. Производит действие, аналогичное команде «Далее» в операторской диалоговой форме.

http://127.0.0.1:4059/dialogcardnext



dialogcardstop. Производит действие, аналогичное команде «Стоп» в операторской диалоговой форме.

http://127.0.0.1:4059/dialogcardstop



flashcall. Производит действие, аналогичное кнопке «Флеш» на телефоне.

http://127.0.0.1:4059/flashcall



getcurrentuserlogin. Возвращает логин текущего авторизованного пользователя.

http://127.0.0.1:4059/getcurrentuserlogin

Пример структуры возвращаемого значения:

<?xml version="1.0" encoding="utf-16"?>
<oktellxmlmapper version="80710">
<data name="result" count="1">
  <property_set name="result">
    <property_simple key="success" value="1" />
    <property_simple key="userlogin" value="ivanov" />
  </property_set>
</data>
</oktellxmlmapper>



getcurrentserveraddress. Возвращает адрес текущего используемого сервера.

http://127.0.0.1:4059/getcurrentserveraddress

Пример структуры возвращаемого значения:

<?xml version="1.0" encoding="utf-16"?>
<oktellxmlmapper version="80710">
<data name="result" count="1">
  <property_set name="currentserveraddress">
    <property_simple key="success" value="1" />
    <property_simple key="serveraddress" value="192.168.0.100" />
  </property_set>
</data>
</oktellxmlmapper>



setbusyexternaltask. Позволяет установить признак занятости пользователя во внешней задаче или освободить его от подобного недоступного состояния.

Параметры:

  • busy - 1 - поставить отметку занятости, 0 - снять отметку занятости.

http://127.0.0.1:4059/setbusyexternaltask?busy=1



pbxstatplaybyidconn. Осуществляет воспроизведение в клиентском приложении указанной по идентификатору коммутации. Вне зависимости от прав контроля авторизованного пользователя.

Параметры:

  • idconn - идентификатор коммутации. Обязательный параметры
  • showcomment - 1 или 0. Определяет, отображать ли вкладку комментария при воспроизведении в плеере. По умолчанию отображается.
  • showstat - 1 или 0. Определяет, открывать ли коммутацию в разделе статистики (пока не реализовано). По умолчанию не открывается.

http://127.0.0.1:4059/pbxstatplaybyidconn?idconn=a03822bd-189a-3881-cf8a-a5592bd91019&showstat=1&showcomment=1