Исходящий звонок



Задача

Создать пользователя, подключить 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.