Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Все методы должны возвращать HTTP-статус 200 OK, за исключением тех случаев, когда требуется явно вернуть другой статус, например статус ошибки 403 Forbidden.

Прямые вызовы со стороны WCS JavaScript API

Эти вызовы могут быть прерваны web-сервером:

  • call - исходящий звонок может быть запрещен
  • answer - можно запретить ответить на звонок
  • hangup - звонок можно запретить сбрасывать
  • hold - звонок можно запретить ставить на удержание
  • unhold - звонок можно запретить снимать с удержания
  • transfer - можно запретить делать трансфер звонка
  • sendDTMF - можно запретить отправку DTMF
  • sendMessage - можно запретить отправку исходящего сообщения
  • sendIMDN - можно запретить отправку подтверждения доставки
  • subscribe - можно запретить SIP-подписку на события
  • sendXcapRequest - можно запретить отправку XCAP
  • publishStream - можно запретить публикацию потока
  • unpublishStream playStream - можно запретить остановку публикации воспроизведение потокаplayStream
  • playHLS - можно запретить воспроизведение потока по HLS
  • stopStream playRTSP - можно запретить остановку воспроизведения потокаsendData - можно запретить отправку данныхвоспроизведение потока по RTSP
  • OnDataEvent - web-сервер может не принять данные
  • sendBugReport - можно запретить отправку багрепорта

Прерывание этих вызовов не запрещено, но нецелесообразно:

  • hangup - звонок можно запретить сбрасывать
  • unPublishStream - можно запретить остановку публикации потока
  • stopStream - можно запретить остановку воспроизведения потока

События, которые уже произошли и не могут быть запрещены web-сервером

Эти вызовы не могут быть прерваны web-сервером, т.к. соответствующее событие уже произошло на стороне WCS и web-серверу направляется только уведомление.

  • ConnectionStatusEvent
  • RegistrationStatusEvent
  • CallStatusEvent
  • TransferStatusEvent
  • MessageStatusEvent
  • SubscriptionStatusEvent
  • XcapStatusEvent
  • StreamStatusEvent
  • DataStatusEvent
  • BugReportStatusEvent
  • StreamKeepAliveEvent

Входящие вызовы

Входящие вызовы могут быть прерваны web-сервером. В случае прерывания входящего вызова WCS уведомляет об этом инициатора вызова.

  • OnCallEvent - входящий звонок
  • OnMessageEvent - входящее сообщение
  • OnTransferEvent - входящий трансфер

Обработка вызовов, инициированных при помощи REST API

Если вызов REST-метода любого типа был инициирован при помощи REST API, он не должен быть отклонен веб-сервером

Действия в случае ошибки взаимодействия с web-сервером

Ошибкой взаимодействия считается возврат web-сервером статуса, отличного от 200 ОК или ошибка, которая препятствует обращению к web-серверу. В зависимости от поля restOnError, в конфиге restClientConfig и типа метода будут произведены следующие действия, указанные в таблице:

restOnError

| - Прямые вызовы

II - События

III - Входящие вызовы

FAIL

  • Логгируем ошибку
  • Прерываем выполнение
  • Спускаем ошибку на клиента в соответствующем вызову событии
  • Логгируем ошибку
  • Продолжаем выполнение
  • Спускаем ошибку на клиента в специальном событии ErrorEvent
  • Логгируем ошибку
  • Прерываем выполнение
  • Отвечаем инициатору вызова статусом 403 FORBIDDEN
  • Спускаем ошибку на клиента в соответствующем вызову событии

LOG

  • Логгируем ошибку
  • Продолжаем выполнение
  • Логгируем ошибку
  • Продолжаем выполнение
  • Логгируем ошибку
  • Продолжаем выполнение

Действия в случае других ошибок

В случае получения SIP статусов 4xx, 5xx, 6xx, а так же в случае других ошибок, не связанных с REST, будут инициированы соответствующие события со статусом FAILED и описанием в поле 'info'. Эти события будут отправлены web-серверу, а затем клиенту в соответствии с правилами RestClientConfig.

...