Исходящий звонок
Задача
Создать пользователя, подключить 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": "®0.$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.