Клиентский HTTP интерфейс — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
(Новая страница: «Наверх Клиентское приложение осуществляет прослушивание порта 4059 (може...»)
 
Строка 15: Строка 15:
  
  
 +
--------------------------------------
  
 
'''callto'''. Осуществляет звонок на указанный номер посредством активного клиентского приложения. Если текущий авторизованный пользователь занят или не имеет телефона, звонок не осуществляется. Звонок происходит по текущей настроенной схеме автодозвона. Подробнее в разделе [[Звонки и сервис автодозвона|Телефон. Звонки и сервис автодозвона]].  
 
'''callto'''. Осуществляет звонок на указанный номер посредством активного клиентского приложения. Если текущий авторизованный пользователь занят или не имеет телефона, звонок не осуществляется. Звонок происходит по текущей настроенной схеме автодозвона. Подробнее в разделе [[Звонки и сервис автодозвона|Телефон. Звонки и сервис автодозвона]].  
Строка 23: Строка 24:
 
http://127.0.0.1:4059/callto?number=184
 
http://127.0.0.1:4059/callto?number=184
  
 +
 +
--------------------------------------
  
 
'''switchto'''. Осуществляет переключение текущего пользователя на указанный номер посредством активного клиентского приложения. Если текущий авторизованный пользователь находится в коммутации, то производится действие, аналогичное нажатию FLASH и набору номера. В противном случае действие команды аналогично callto.
 
'''switchto'''. Осуществляет переключение текущего пользователя на указанный номер посредством активного клиентского приложения. Если текущий авторизованный пользователь находится в коммутации, то производится действие, аналогичное нажатию FLASH и набору номера. В противном случае действие команды аналогично callto.
Строка 31: Строка 34:
 
http://127.0.0.1:4059/switchto?number=184
 
http://127.0.0.1:4059/switchto?number=184
  
 +
 +
--------------------------------------
  
 
'''execsvcscript'''. Осуществляет запуск произвольного служебного сценария на сервере, считая инициатором запуска текущего авторизованного пользователя (код запуска 14). Запуск служебного сценария может осуществляться синхронно и асинхронно. В синхронном режиме возвращаемое сценарием значение (присвоенное служебной переменной «Возвращаемое значение 1») передается в качестве ответа на запрос.  
 
'''execsvcscript'''. Осуществляет запуск произвольного служебного сценария на сервере, считая инициатором запуска текущего авторизованного пользователя (код запуска 14). Запуск служебного сценария может осуществляться синхронно и асинхронно. В синхронном режиме возвращаемое сценарием значение (присвоенное служебной переменной «Возвращаемое значение 1») передается в качестве ответа на запрос.  
Строка 46: Строка 51:
 
<pre>
 
<pre>
 
<?xml version="1.0" encoding="utf-16"?>
 
<?xml version="1.0" encoding="utf-16"?>
 
 
<oktellxmlmapper version="80710">
 
<oktellxmlmapper version="80710">
 
 
<data name="result" count="1">
 
<data name="result" count="1">
 
 
   <property_set name="execsvcscript">
 
   <property_set name="execsvcscript">
 
 
     <property_simple key="started" value="1" name="success" />
 
     <property_simple key="started" value="1" name="success" />
 
 
     <property_simple key="startresult" value="0" name="success" />
 
     <property_simple key="startresult" value="0" name="success" />
 
 
     <property_simple key="returnvalue" name="abcdef" />
 
     <property_simple key="returnvalue" name="abcdef" />
 
 
   </property_set>
 
   </property_set>
 
 
</data>
 
</data>
 
 
</oktellxmlmapper>
 
</oktellxmlmapper>
 
</pre>
 
</pre>
  
 +
 +
--------------------------------------
  
 
'''getcurrentcallinfo'''. Возвращает информацию о текущем состоянии и оппоненте в коммутации с участием авторизованного пользователя. В качестве ответа возвращается XML-структура с набором значений. В зависимости от текущего режима (определяется полем mode) состав ответа может меняться.
 
'''getcurrentcallinfo'''. Возвращает информацию о текущем состоянии и оппоненте в коммутации с участием авторизованного пользователя. В качестве ответа возвращается XML-структура с набором значений. В зависимости от текущего режима (определяется полем mode) состав ответа может меняться.
Строка 77: Строка 75:
 
<pre>
 
<pre>
 
<?xml version="1.0" encoding="utf-16"?>
 
<?xml version="1.0" encoding="utf-16"?>
 
 
<oktellxmlmapper version="80710">
 
<oktellxmlmapper version="80710">
 
 
<data name="result" count="1">
 
<data name="result" count="1">
 
+
  <property_set name="callinfo">
  <property_set name="callinfo">
+
    <property_simple key="result" value="1" name="success" />
 
+
    <property_simple key="mode" value="connected" />
    <property_simple key="result" value="1" name="success" />
+
    <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="mode" value="connected" />
+
    <property_simple key="abonenttype" value="inner" />
 
+
    <property_simple key="number" value="16" />
    <property_cdata key="idchain"><![CDATA[2ac6dc7e-41e7-4ec1-a0c2-d704109e0f5d]]></property_cdata>
+
    <property_cdata key="name"><![CDATA[Дмитрий Евгеньевич]]></property_cdata>
 
+
    <property_cdata key="description"><![CDATA[Дмитрий Евгеньевич]]></property_cdata>
    <property_cdata key="idconn"><![CDATA[24b86b87-3676-431f-9519-093ac9ca88dd]]></property_cdata>
+
    <property_cdata key="lineid"><![CDATA[e76c86ea-a28a-4519-b4ff-8879a92c62b7]]></property_cdata>
 
+
    <property_simple key="linenum" value="17002" />
    <property_simple key="abonenttype" value="inner" />
+
    <property_cdata key="userid"><![CDATA[2a594b51-bb89-4da6-a69f-f48761baf0d9]]></property_cdata>
 
+
    <property_simple key="starttick" value="0" />
    <property_simple key="number" value="16" />
+
    <property_cdata key="starttime"><![CDATA[10.11.2010 14:13:05]]></property_cdata>
 
+
  </property_set>
    <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>
 
</data>
 
 
</oktellxmlmapper>
 
</oktellxmlmapper>
 
</pre>
 
</pre>
Строка 145: Строка 124:
 
<span style="color:green;">starttick</span>: системный тик локального компьютера, соответствующий началу коммутации (или сессии).
 
<span style="color:green;">starttick</span>: системный тик локального компьютера, соответствующий началу коммутации (или сессии).
  
 +
 +
--------------------------------------
  
 
'''headsetanswercall'''. Производит действие, аналогичное команде поднятия трубки на гарнитуре при входящем вызове.
 
'''headsetanswercall'''. Производит действие, аналогичное команде поднятия трубки на гарнитуре при входящем вызове.
Строка 150: Строка 131:
 
http://127.0.0.1:4059/headsetanswercall
 
http://127.0.0.1:4059/headsetanswercall
  
 +
 +
--------------------------------------
  
 
'''disconnectcall'''. Завершает текущий звонок. Если в настоящее время авторизованный пользователь находится в коммутации - разрывает ее, отправляя отбой обеим линиям. Если в конференции - выводит из нее, если автодозвон - прекращает, если входящий вызов - отклоняет.
 
'''disconnectcall'''. Завершает текущий звонок. Если в настоящее время авторизованный пользователь находится в коммутации - разрывает ее, отправляя отбой обеим линиям. Если в конференции - выводит из нее, если автодозвон - прекращает, если входящий вызов - отклоняет.
Строка 155: Строка 138:
 
http://127.0.0.1:4059/disconnectcall
 
http://127.0.0.1:4059/disconnectcall
  
 +
 +
--------------------------------------
  
 
'''declinecall'''. Аналогично команде «Отклонить входящий вызов» в пользовательском интерфейсе софт-телефона.
 
'''declinecall'''. Аналогично команде «Отклонить входящий вызов» в пользовательском интерфейсе софт-телефона.
Строка 160: Строка 145:
 
http://127.0.0.1:4059/declinecall
 
http://127.0.0.1:4059/declinecall
  
 +
 +
--------------------------------------
  
 
'''focus'''. Производит передачу фокуса в клиентское приложение Oktell. Следует иметь в виду, что это не всегда возможно и определяется настройками приложения, которое владеет фокусом в это время.
 
'''focus'''. Производит передачу фокуса в клиентское приложение Oktell. Следует иметь в виду, что это не всегда возможно и определяется настройками приложения, которое владеет фокусом в это время.
Строка 165: Строка 152:
 
http://127.0.0.1:4059/focus
 
http://127.0.0.1:4059/focus
  
 +
 +
--------------------------------------
  
 
'''dialogcardnext'''. Производит действие, аналогичное команде «Далее» в операторской диалоговой форме.
 
'''dialogcardnext'''. Производит действие, аналогичное команде «Далее» в операторской диалоговой форме.
Строка 170: Строка 159:
 
http://127.0.0.1:4059/dialogcardnext
 
http://127.0.0.1:4059/dialogcardnext
  
 +
 +
--------------------------------------
  
 
'''dialogcardstop'''. Производит действие, аналогичное команде «Стоп» в операторской диалоговой форме.
 
'''dialogcardstop'''. Производит действие, аналогичное команде «Стоп» в операторской диалоговой форме.
Строка 175: Строка 166:
 
http://127.0.0.1:4059/dialogcardstop
 
http://127.0.0.1:4059/dialogcardstop
  
 +
 +
--------------------------------------
  
 
'''flashcall'''. Производит действие, аналогичное кнопке «Флеш» на телефоне.
 
'''flashcall'''. Производит действие, аналогичное кнопке «Флеш» на телефоне.
Строка 181: Строка 174:
  
  
'''getcurrentuserlogin'''. Возвращает логин текущего авторизованного пользователя.
+
--------------------------------------
  
Запрос не требует параметров.
+
'''getcurrentuserlogin'''. Возвращает логин текущего авторизованного пользователя.  
  
 
http://127.0.0.1:4059/getcurrentuserlogin
 
http://127.0.0.1:4059/getcurrentuserlogin
Строка 191: Строка 184:
 
<pre>
 
<pre>
 
<?xml version="1.0" encoding="utf-16"?>
 
<?xml version="1.0" encoding="utf-16"?>
 
 
<oktellxmlmapper version="80710">
 
<oktellxmlmapper version="80710">
 
 
<data name="result" count="1">
 
<data name="result" count="1">
 
 
   <property_set name="result">
 
   <property_set name="result">
 
 
     <property_simple key="success" value="1" />
 
     <property_simple key="success" value="1" />
 
 
     <property_simple key="userlogin" value="ivanov" />
 
     <property_simple key="userlogin" value="ivanov" />
 
 
   </property_set>
 
   </property_set>
 
 
</data>
 
</data>
 
 
</oktellxmlmapper>
 
</oktellxmlmapper>
 
</pre>
 
</pre>
  
 +
 +
--------------------------------------
  
 
'''getcurrentserveraddress'''. Возвращает адрес текущего используемого сервера.  
 
'''getcurrentserveraddress'''. Возвращает адрес текущего используемого сервера.  
 
Запрос не требует параметров.
 
  
 
http://127.0.0.1:4059/getcurrentserveraddress
 
http://127.0.0.1:4059/getcurrentserveraddress
Строка 220: Строка 205:
 
<pre>
 
<pre>
 
<?xml version="1.0" encoding="utf-16"?>
 
<?xml version="1.0" encoding="utf-16"?>
 
 
<oktellxmlmapper version="80710">
 
<oktellxmlmapper version="80710">
 
 
<data name="result" count="1">
 
<data name="result" count="1">
 
 
   <property_set name="currentserveraddress">
 
   <property_set name="currentserveraddress">
 
 
     <property_simple key="success" value="1" />
 
     <property_simple key="success" value="1" />
 
 
     <property_simple key="serveraddress" value="192.168.0.100" />
 
     <property_simple key="serveraddress" value="192.168.0.100" />
 
 
   </property_set>
 
   </property_set>
 
 
</data>
 
</data>
 
 
</oktellxmlmapper>
 
</oktellxmlmapper>
 
</pre>
 
</pre>
  
 +
 +
--------------------------------------
  
 
'''setbusyexternaltask'''. Позволяет установить признак занятости пользователя во внешней задаче или освободить его от подобного недоступного состояния.
 
'''setbusyexternaltask'''. Позволяет установить признак занятости пользователя во внешней задаче или освободить его от подобного недоступного состояния.
Строка 245: Строка 224:
  
 
http://127.0.0.1:4059/setbusyexternaltask?busy=1
 
http://127.0.0.1:4059/setbusyexternaltask?busy=1
 +
 +
 +
--------------------------------------
 +
 +
'''pbxstatplaybyidconn'''. Осуществляет воспроизведение в клиентском приложении указанной по идентификатору коммутации. Вне зависимости от прав контроля авторизованного пользователя.
 +
 +
Параметры:
 +
* <span style="color:green;">idconn</span> - идентификатор коммутации. Обязательный параметры
 +
* <span style="color:green;">showcomment</span> - 1 или 0. Определяет, отображать ли вкладку комментария при воспроизведении в плеере.  По умолчанию отображается.
 +
* <span style="color:green;">showstat</span> - 1 или 0. Определяет, открывать ли коммутацию в разделе статистики (пока не реализовано). По умолчанию не открывается.
 +
 +
http://127.0.0.1:4059/pbxstatplaybyidconn?idconn=a03822bd-189a-3881-cf8a-a5592bd91019&showstat=1&showcomment=1

Версия 07:26, 19 сентября 2012

Наверх


Клиентское приложение осуществляет прослушивание порта 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