Skip to end of metadata
Go to start of metadata

Методы

ВключитьСофтфон / ConnectSoftphone

Инициирует включение встроенного софтфона.

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

Перед вызовом метода ВключитьСофтфон обязательно требуется подключиться к серверу, используя метод Подключиться

Синтаксис:

Параметры:

  • адрес - IP-адрес компьютера, где запущена компонента интеграции с 1С. Значения 127.0.0.1 и localhost использовать нельзя.
  • порт - номер порта компьютера, который будет использоваться софтфоном для работы. По умолчанию используется "5060".
  • nat - способ обхода NAT. "0" - без обхода NAT, "1" - использовать STUN сервер. По умолчанию используется "1".
  • stunServer - адрес STUN сервера (ip или доменное имя). Параметр будет использоваться, если указан параметр nat = "1".

Все параметры являются строками.

Возвращаемое значение: нет

Исключения:

  • com.orangeuce.pbx.api.exception.InvalidArgumentException - указан неверный адрес или порт
  • com.orangeuce.pbx.api.exception.IllegalStateException - софтфон уже включен или до этого не был вызван метод Подключиться

Доступность:

Доступен с 1.26.

Пример:

ОтключитьСофтфон / DisconnectSoftphone

Инициирует отключение встроенного софтфона.

При отключении софтфон пытается разрегистрироваться на сервере, поэтому фактическое отключение софтфона происходит не сразу. При фактическом отключении высылается уведомление Softphone.Unregistered.

При вызове метода Отключиться метод отключения софтфона вызывается автоматически, поэтому в данном случае явно вызывать его не стоит.

Синтаксис:

Параметры: нет

Возвращаемое значение: нет

Исключения: нет

Доступность:

Доступен с 1.26.

Пример:

ВызовТретьейСтороной / CallThirdParty

Инициирует вызов без участия пользователя.

Синтаксис:

Параметры:

  • numberOne - внутренний или внешний номер, на который совершается вызов первым
  • numberTwo - внутренний или внешний номер, на который совершается вызов вторым

Возвращаемое значение: нет

Исключения:

  • com.orangeuce.pbx.api.exception.InvalidNumberException - указан неверный номер
  • Apache.NMS... - ошибка взаимодействия с сервером. Вариантов много, но все будут начинаться с Apache.NMS

Доступность:

Доступен с 1.24.

Пример:

НормализоватьНомер / FormatNumber

Привести номер к международному формату E164+. Например, номер мобильного телефона в национальном формате (8923ххххххх) будет преобразован к виду +7923ххххххх.

Если номер невозможно нормализовать, то возвращается исходное значение.

Замечание. При звонках со встроенного софтфона нормализация номеров производится автоматически.

Синтаксис:

Параметры:

  • number - внутренний или внешний номер, на который совершается вызов

Возвращаемое значение:

Нормализованный номер или исходный номер, если нормализацию невозможно произвести

Исключения:

  • Apache.NMS... - ошибка взаимодействия с сервером. Вариантов много, но все будут начинаться с Apache.NMS

Доступность:

Доступен с 1.26.

Пример:

Вызов / StartCall

Инициировать вызов от пользователя на заданный номер.

Если софтфон включен, то все вызовы совершаются непосредственно через него.

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

В момент совершения вызова нельзя узнать идентификатор лега, информация о нём придет через уведомление com.orangeuce.pbx.api.events.PresenceNotification.AddLegEvent. Также активные леги можно получить, вызвав метод ПолучитьЛеги или GetLegs.

Синтаксис:

Параметры:

  • number - внутренний или внешний номер, на который совершается вызов

Возвращаемое значение: нет

Исключения:

  • com.orangeuce.pbx.api.exception.TerminalNotExistsException - активный терминал не найден
  • com.orangeuce.pbx.api.exception.InvalidNumberException - указан неверный номер
  • com.orangeuce.pbx.api.exception.UserNotExistsException - пользователь был удален
  • com.orangeuce.pbx.api.exception.UserBusyException - пользователь занят
  • Apache.NMS... - ошибка взаимодействия с сервером. Вариантов много, но все будут начинаться с Apache.NMS

Доступность:

Доступен с 1.22.

Пример:

ПринятьВызов / AcceptCall

Принять вызов можно только в случае, если включен софтфон.

При входящем вызове посылается специальное уведомление Softphone.IncomingCall, среди параметров которого находится идентификатор лега данного вызова.

Подробнее про уведомление Softphone.IncomingCall и его параметры см. ниже в п. 6.2.

Кроме того список легов пользователя можно узнать, вызвав метод ПолучитьЛеги (GetLegs)

Синтаксис:

Параметры:

  • legId - идентификатор лега

Возвращаемое значение: нет

Исключения:

  • com.orangeuce.pbx.api.exception.InvalidArgumentException - указан неверный идентификатор лега. Например, был передан идентификатор лега исходящего вызова, либо лег не принадлежит пользователю.
  • com.orangeuce.pbx.api.exception.IllegalStateException - софтфон не включен или вызов уже принят.

Доступность:

Доступен с 1.26.

Пример:

ПоставитьНаУдержание / Hold

Производить поставку указанного вызова на удержание.

Поставить на удержание можно только вызовы, совершённые или принятые софтфоном.

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

Полный список легов пользователя можно узнать, вызвав метод ПолучитьЛеги (GetLegs)

Синтаксис:

Параметры:

  • legId - идентификатор лега

Возвращаемое значение: нет

Исключения:

  • com.orangeuce.pbx.api.exception.InvalidArgumentException - указан неверный идентификатор лега. Например, был передан пустой идентификатор лега, либо лег не связан с вызовом, обрабатываемым софтфоном, либо лег вообще не принадлежит пользователю.
  • com.orangeuce.pbx.api.exception.IllegalStateException - софтфон не был включен.

Доступность:

Доступен с 1.26.

Пример:

СнятьСУдержания / Unhold

Производить снятие указанного вызова с удержания.

Снять с удержания можно только вызовы, совершённые или принятые софтфоном.

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

Полный список легов пользователя можно узнать, вызвав метод ПолучитьЛеги (GetLegs)

Синтаксис:

Параметры:

  • legId - идентификатор лега

Возвращаемое значение: нет

Исключения:

  • com.orangeuce.pbx.api.exception.InvalidArgumentException - указан неверный идентификатор лега. Например, был передан пустой идентификатор лега, либо лег не связан с вызовом, обрабатываемым софтфоном, либо лег вообще не принадлежит пользователю.
  • com.orangeuce.pbx.api.exception.IllegalStateException - софтфон не был включен.

Доступность:

Доступен с 1.26.

Пример:

ПослатьDTMF / SendDTMF

Производит посылку DTMF сигнала в указанный лег.

Список допустимых символов при посылке DTMF сигнала: цифры 0-9, знаки *, #, буквы латинского алфавита A, B, C, D

Полный список легов пользователя можно узнать, вызвав метод ПолучитьЛеги (GetLegs)

Синтаксис:

Параметры:

  • legId - идентификатор лега
  • signal - один или несколько допустимых DTMF символов (цифры 0-9, знаки *, #, буквы латинского алфавита A, B, C, D)

Возвращаемое значение: нет

Исключения:

  • com.orangeuce.pbx.api.exception.InvalidArgumentException - указан неверный символ DTMF. Например, был передан недопустимый символ (не входяший в множество: цифры 0-9, знаки *, #, буквы латинского алфавита A, B, C, D).
  • com.orangeuce.pbx.api.exception.LegNotFoundException - лег не найден либо не принадлежит пользователю
  • Apache.NMS... - ошибка взаимодействия с сервером. Вариантов много, но все будут начинаться с Apache.NMS

Доступность:

Доступен с 1.26.

Пример:

Сброс / EndCall

Завершить вызов по указанному идентификатору лега.

Список легов пользователя можно узнать, вызвав метод ПолучитьЛеги (GetLegs)

Синтаксис:

Параметры:

  • legId - идентификатор лега

Возвращаемое значение: нет

Исключения:

  • com.orangeuce.pbx.api.exception.LegNotFoundException - лег не найден либо не принадлежит пользователю
  • Apache.NMS... - ошибка взаимодействия с сервером. Вариантов много, но все будут начинаться с Apache.NMS

Доступность:

Доступен с 1.22.

Пример:

ПолучитьЛеги / GetLegs

Получить состояние всех активных коммуникаций. Результат - это ассоциативный список, где ключом является идентификатор лега, а значением сам лег.

Синтаксис:

Параметры: нет

Возвращаемое значение:

Пустой ассоциативный список

либо

Исключения:

  • Apache.NMS... - ошибка взаимодействия с сервером. Вариантов много, но все будут начинаться с Apache.NMS

Доступность:

Доступен с 1.22.

Пример:

ПеревестиВызов / TransferCall

Перевести вызов на указанный номер. Данный перевод является "слепым", т.е. происходит сразу же, без предварительной консультации. При этом нужно помнить, что будет переводиться не свой лег, а противоположный.

Синтаксис:

Параметры:

  • legId - идентификатор лега
  • number - внутренний или внешний номер, на который совершается перевод

Возвращаемое значение: нет

Исключения:

  • com.orangeuce.pbx.api.exception.LegNotFoundException - лег не найден
  • com.orangeuce.pbx.api.exception.InvalidNumberException - указан неверный номер
  • Apache.NMS... - ошибка взаимодействия с сервером. Вариантов много, но все будут начинаться с Apache.NMS

Доступность:

Доступен с 1.24.

Пример:

ПеревестиЛег / TransferLeg

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

Синтаксис:

Параметры:

  • legId - идентификатор лега
  • number - внутренний или внешний номер, на который совершается перевод

Возвращаемое значение: нет

Исключения:

  • com.orangeuce.pbx.api.exception.LegNotFoundException - лег не найден
  • com.orangeuce.pbx.api.exception.InvalidNumberException - указан неверный номер
  • Apache.NMS... - ошибка взаимодействия с сервером. Вариантов много, но все будут начинаться с Apache.NMS

Доступность:

Доступен с 1.24.

Пример:

СоединитьЛеги / BridgeLegs

Производит соединение двух указанных легов.

Один из вариантов использования данного метода - это перевод вызова с консультацией, когда оператор соединяет вызов, поставленный на удержание, с другим активным вызовом.

Соединять два лега, хозяином которых является один и тот же пользователь, нельзя.

Полный список легов пользователя можно узнать, вызвав метод ПолучитьЛеги (GetLegs)

Синтаксис:

Параметры:

  • legId1 - идентификатор первого лега
  • legId2 - идентификатор второго лега

Возвращаемое значение: нет

Исключения:

  • com.orangeuce.pbx.api.exception.InvalidArgumentException - указан неверный идентификатор лега. Например, был передан пустой идентификатор лега.
  • com.orangeuce.pbx.api.exception.LegNotFoundException - лег не был найден.
  • com.orangeuce.pbx.api.exception.LegsWithCommonAgentException - оба лега имеют одинакового хозяина.
  • Apache.NMS... - ошибка взаимодействия с сервером. Вариантов много, но все будут начинаться с Apache.NMS

Доступность:

Доступен с 1.26.

Пример:

ПерехватитьУчастникаОчереди / InterceptCallFromQueue

Перехватить участника с указанным легом из очереди.

Синтаксис:

Параметры:

  • legId - идентификатор лега

Возвращаемое значение: нет

Исключения:

  • Apache.NMS... - ошибка взаимодействия с сервером. Вариантов много, но все будут начинаться с Apache.NMS

Доступность:

Доступен с 1.24.

Пример:

ОтключитьУчастникаОчереди / DropCallFromQueue

Отключить участника с указанным легом из очереди.

Синтаксис:

Параметры:

  • queueId - идентификатор очереди
  • legId - идентификатор лега

Возвращаемое значение: нет

Исключения:

  • com.orangeuce.pbx.api.exception.QueueNotExistsException - очередь не найдена
  • com.orangeuce.pbx.api.exception.CallNotFoundInQueueException - лег отсутствует в очереди
  • Apache.NMS... - ошибка взаимодействия с сервером. Вариантов много, но все будут начинаться с Apache.NMS

Доступность:

Доступен с 1.22.

Пример:

ОтправитьФакс / SendFax

Отправляет факс на указанный номер. Возможна отправка файлов со следующими расширениями: bmp, jpg, gif, jpeg, png, pdf, tiff, tif.

Синтаксис:

Параметры:

  • number - номер получателя факса
  • content - содержимое файла в base64
  • fileName - название файла

Возвращаемое значение: нет

Исключения:

  • com.orangeuce.pbx.api.exception.UserNotExistsException - пользователь был удалён.
  • Apache.NMS... - ошибка взаимодействия с сервером. Вариантов много, но все будут начинаться с Apache.NMS

Доступность:

Доступен с 1.24.

Пример:

ПоставитьНаПарковкуВызов / ParkCall

Ставит на парковку вызов с указанным легом. После того, как вызов будет запаркован придёт событие: ParkEvent из которого можно узнать номер парковочного места.

Синтаксис:

Параметры:

  • legId - идентификатор лега вызова

Возвращаемое значение: нет

Исключения:

  • com.orangeuce.pbx.api.exception.LegNotFoundException - лег не существует или не принадлежит пользователю
  • Apache.NMS... - ошибка взаимодействия с сервером. Вариантов много, но все будут начинаться с Apache.NMS

Доступность:

Доступен с 1.27.

Пример:

СнятьСПарковкиВызов / UnParkCall

Снимает с парковки вызов с указанного парковочного места и переводит звонок на указанный терминал.

Синтаксис:

Параметры:

  • terminalId - идентификатор терминала с которым будет соединён запаркованный вызов
  • valet - номер парковочного места

Возвращаемое значение: нет

Исключения:

  • com.orangeuce.pbx.api.exception.TerminalNotExistsException - терминал не найден, либо не принадлежит пользователю
  • com.orangeuce.pbx.api.exception.UserBusyException - пользователь занят
  • Apache.NMS... - ошибка взаимодействия с сервером. Вариантов много, но все будут начинаться с Apache.NMS

Доступность:

Доступен с 1.27.

Пример:

ПолучитьЗапаркованныеВызовы / GetParkedCalls

Получает все запаркованные вызовы.

Синтаксис:

Параметры: нет

Возвращаемое значение:

 

Исключения:

  • Apache.NMS... - ошибка взаимодействия с сервером. Вариантов много, но все будут начинаться с Apache.NMS

Доступность:

Доступен с 1.27.

Пример:

События

com.orangeuce.pbx.api.events.PresenceNotification.AddLegEvent

На сервере был создан новый лег.

Сообщение:

Доступность: 

Доступно с 1.22.

com.orangeuce.pbx.api.events.PresenceNotification.UpdateLegEvent

На сервере был обновлен лег.

Сообщение:

Доступность: 

Доступно с 1.22.

com.orangeuce.pbx.api.events.PresenceNotification.DeleteLegEvent

На сервере был удален лег.

Сообщение:

Доступность: 

Доступно с 1.22.

com.orangeuce.pbx.api.events.PresenceNotification.CreateEvent

Уведомление посылается во время создания нового события. Когда коммуникация завершится, будет отправлено уведомление com.orangeuce.pbx.api.events.PresenceNotification.Event.

Сообщение:

Доступность: 

Доступно с 1.22.

com.orangeuce.pbx.api.events.PresenceNotification.ParkEvent

Вызов запаркован.

Сообщение:

Доступность:

Доступно с 1.27.

com.orangeuce.pbx.api.events.PresenceNotification.UnparkEvent

Вызов снят с парковки.

Сообщение:

Доступность:

Доступно с 1.27.

Softphone.Registered

Софтфон успешно зарегистрировался на сервере. С момента регистрации софтфон может принимать входящие вызовы. Кроме того, с момента регистрации можно осуществлять исходящие вызовы, используя софтфон.

Данное уведомление должно появляться после того, как был вызван метод ВключитьСофтфон.

Сообщение:

нет

Доступность: 

Доступно с 1.26.

Softphone.RegistrationFailed

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

При появлении данного уведомления следует вызвать метод ОтключитьСофтфон и затем повторно попытаться вызвать ВключитьСофтфон. Если по-прежнему продолжает появляться данное уведомление, то значит имеются проблемы с сетевым подключением к серверу.

Сообщение:

нет

Доступность: 

Доступно с 1.26.

Softphone.Unregistered

Софтфон разрегистрировался на сервере. С момента разрегистрации будет невозможно совершать исходящие и принимать входящие вызовы при помощи софтфона.

Данное уведомление должно появляться после того, как был вызван метод ОтключитьСофтфон.

Сообщение:

нет

Доступность: 

Доступно с 1.26.

Softphone.IncomingCall

На софтфон поступил входящий вызов.

При получении данного уведомления можно будет ПринятьВызов или осуществить Сброс входящего вызова.

Сообщение:

Доступность: 

Доступно с 1.26.

  • No labels