Задача

Создать пользователя, подключить SIP шлюз и инициировать исходящий звонок с помощью REST API

Создание пользователя Webitel

Необходимо создать нового пользователя в webitel, который будет осуществлять звонки с использованием REST API: http://api.webitel.com/en/latest/restful-http-api-accounts.html#creat-an-account

После создания пользователя, он должен подключить SIP телефон или Webitel Verto Phone со своими параметрами.

Создать SIP шлюз для звонков

Создать новый SIP шлюз, как указано в Управление SIP шлюзами.

Маршрутизация

В текущем примере, создадим схему исходящей маршрутизации для всех набранных номеров через SIP шлюз созданный выше. Для этого, в разделе 08 Callflow необходимо добавить исходящие правило по примеру в статье: Настройка исходящей маршрутизации либо отправить через REST API:

POST /api/v2/routes/default
X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6ImNmMTQ3ZTFiLTk1ZGYtNDI1OC05ZT
M2LWQ4NWZkZDZlZDUzZiIsImV4cCI6MTQ5NzkwNjAwMDAwMCwiZCI6InNpdGUiLCJ0IjoiZG9tYWluIiwidiI6Mn0.o
-bcG_U3oJMN4r3YaBfSg9CcrZPANZulcapR4E6TSdg
BODY
 [
      {
          "destination_number": "^(.*)$",
          "name": "My outbound route",
          "order": 0,
          "disabled": false,
          "domain": "test.webitel.com",
          "fs_timezone": null,
          "callflow": [
    {
        "ringback": {
            "call": {
                "name": "$${ru-ring}",
                "type": "tone"
            },
            "transfer": {
                "name": "$${ru-ring}",
                "type": "tone"
            }
        }
    },
    {
        "recordSession": {
            "action": "start",
            "type": "mp3",
            "stereo": "false"
        }
    },
    {
        "bridge": {
            "endpoints": [
                {
                    "name": "myGWName",
                    "type": "sipGateway",
                    "dialString": "&reg0.$1"
                }
            ]
        }
    }
          ],
          "version": 2
      }
  ]

Номер будет передаваться на наш шлюз myGWName без изменений, как есть.

Инициация звонка

Для инициации звонка между пользователем Webitel и внешним номером телефона, необходимо выполнить REST API: http://api.webitel.com/en/latest/restful-http-api-channels.html#originating-a-new-call

POST /api/v2/channels
Content-Type: application/json
X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6ImNmMTQ3ZTFiLTk1ZGYtNDI1OC05ZT
M2LWQ4NWZkZDZlZDUzZiIsImV4cCI6MTQ5NzkwNjAwMDAwMCwiZCI6InNpdGUiLCJ0IjoiZG9tYWluIiwidiI6Mn0.o
-bcG_U3oJMN4r3YaBfSg9CcrZPANZulcapR4E6TSdg
  {
      "calledId":"79091234567",
      "callerId": "201@test.webitel.com",
      "auto_answer_param": "sip_h_Call-Info=answer-after=0"
  }

calledId - номер на который звонить

callerId - с каким пользователем webitel соединить

ОГРАНИЧЕНИЕ

На текущий момент, в webitel нет API, что бы соединить два внешних номера без участия пользователя Webitel.

  • No labels