Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Описание работы входящего вызова на примере OnCallEvent

Входящий вызов может быть инициирован в случае входящего SIP-звонка.

В этом случае на web-сервере вызывается REST-метод /OnCallEvent, который несет информацию о входящем звонке.

 


Из этой диаграммы видно, что /OnCallEvent  сначала идет на web-сервер на шаге 2, а затем соответствующее событие входящего звонка обрабатывает клиент на шаге 4.

Пример:

2

3


POST /rest/my_api/OnCallEvent HTTP/1.1
Accept: application/json, application/*+json
Content-Type: application/json;charset=UTF-8
User-Agent: Java/1.8.0_111
Host: 192.168.1.101
Connection: keep-alive
Content-Length: 3614

{
  "nodeId" : "ah20GKYnbYKxjJmdh1zDs6cllWkn0Q0t@46.101.108.90",
  "appKey" : "defaultApp",
  "sessionId" : "/8.8.8.8:56046/46.101.108.90:8443",
  "callId" : "pbx-8BD6EE910B71BE609010-3434@h79n40.etc.tario.ru",
  "incoming" : true,
  "status" : "PENDING",
  "caller" : "PPP009",
  "callee" : "PPP005",
  "hasAudio" : true,
  "hasVideo" : false,  
  "mediaProvider" : "WebRTC",
  "isMsrp" : false,
  "holdForTransfer" : false
}


 


HTTP/1.1 200 OK
Date: Tue, 28 Feb 2017 17:35:44 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.3
Content-Length: 3656
Connection: close
Content-Type: application/json

{
  "nodeId" : "ah20GKYnbYKxjJmdh1zDs6cllWkn0Q0t@46.101.108.90",
  "appKey" : "defaultApp",
  "sessionId" : "/8.8.8.8:56046/46.101.108.90:8443",
  "callId" : "pbx-8BD6EE910B71BE609010-3434@h79n40.etc.tario.ru",
  "incoming" : true,
  "status" : "PENDING",
  "caller" : "PPP009",
  "callee" : "PPP005",
  "hasAudio" : true,
  "hasVideo" : false,  
  "mediaProvider" : "WebRTC",
  "isMsrp" : false,
  "holdForTransfer" : false
}

 

Обработка ошибок

Если web-сервер отвечает с ошибкой, то на клиента транслируется SESSION_STATUS.WARN, а инициатору вызова (в данном случае SIP-стороне), возвращается статус ошибки.

 


 Пример:

2

3


POST /rest/my_api/OnCallEvent HTTP/1.1
Accept: application/json, application/*+json
Content-Type: application/json;charset=UTF-8
User-Agent: Java/1.8.0_111
Host: 192.168.1.101
Connection: keep-alive
Content-Length: 3639

{
  "nodeId" : "ah20GKYnbYKxjJmdh1zDs6cllWkn0Q0t@46.101.108.90",
  "appKey" : "defaultApp",
  "sessionId" : "/8.8.8.8:56046/46.101.108.90:8443",
  "callId" : "pbx-8BD6EE910B71BE609010-3434@h79n40.etc.tario.ru",
  "incoming" : true,
  "status" : "PENDING",
  "caller" : "PPP009",
  "callee" : "PPP005",
  "hasAudio" : true,
  "hasVideo" : false,  
  "mediaProvider" : "WebRTC",
  "isMsrp" : false,
  "holdForTransfer" : false
}


HTTP/1.1 403 Forbidden
Date: Tue, 28 Feb 2017 13:44:39 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.3
Content-Length: 0
Connection: close
Content-Type: text/html; charset=UTF-8


  • No labels