Маршрутизация вызова

Вызов поступает на номер DID 7800123456789, попадает в IVR.

POST https://external-system.com/events/call

vpbx_api_key = qwerty123
sign = qwerty123
json =

{
    "call_id": "100:500:256",
    "entry_id": "232wc3e3w3s222",
    "timestamp": "1399906976",
    "seq": "1",
    "call_state": "Appeared",
    "location": "ivr",
    "from": {
        "number": "79000000000"
    },
    "to": {
        "number": "7800123456789",
        "line_number": "7800123456789"
    }
}

От внешней системы поступает команда маршрутизации на внутренний номер 123

POST https://app.mango-office.ru/vpbx/commands/route

vpbx_api_key = qwerty123
sign = qwerty123
json =

{
    "call_id": "100:500:256",
    "command_id": "c111",
    "to_number": "123"
}

IVR завершается

POST https://external-system.com/events/call

vpbx_api_key = qwerty123
sign = qwerty123
json = {
"call_id": "100:500:256",
"entry_id": "232wc3e3w3s222",
"timestamp": "1399906976",
"seq": "2",
"call_state": "Disconnected",
"location": "ivr",
"from": {
"number": "79000000000"
},
"to": {
"number": "7800123456789",
"line_number": "7800123456789"
}
"disconnect_reason": "1100"
}

Новый вызов на сотрудника, уведомление о результате выполнения команды

POST https://external-system.com/events/call

vpbx_api_key = qwerty123
sign = qwerty123
json = {
"call_id": "100:500:257",
"entry_id": "232wc3e3w3s222",
"timestamp": "1399906977",
"seq": "1",
"command_id": "c111",
"call_state": "Appeared",
"location": "abonent",
"from": {
"number": "79000000000",
"taken_from_call_id": "100:500:256"
},
"to": {
"extension": "123"
"number": "sip:aaa@mangosip.ru",
"line_number": "7800123456789"
}
}

POST https://app.mango-office.ru/vpbx/result/route

vpbx_api_key = qwerty123
sign = qwerty123
json = {
"command_id": "c111",
"result": "1000"
}

Сотрудник снимает трубку.

POST https://external-system.com/events/call

vpbx_api_key = qwerty123
sign = qwerty123
json = {
"call_id": "100:500:257",
"entry_id": "232wc3e3w3s222",
"timestamp": "1399906988",
"seq": "2",
"command_id": "c111",
"call_state": "Connected",
"location": "abonent",
"from": {
"number": "79000000000",
"taken_from_call_id": "100:500:256"
},
"to": {
"extension": "123"
"number": "sip:aaa@mangosip.ru",
"line_number": "7800123456789" } }

Вызов завершен, внешний абонент повесил трубку.

POST https://external-system.com/events/call

vpbx_api_key = qwerty123
sign = qwerty123
json = {
"call_id": "100:500:257",
"entry_id": "232wc3e3w3s222",
"timestamp": "1399907008",
"seq": "3",
"command_id": "c111",
"call_state": "Disconnected",
"location": "abonent",
"from": {
"number": "79000000000",
"taken_from_call_id": "100:500:256"
},
"to": {
"extension": "123"
"number": "sip:aaa@mangosip.ru",
"line_number": "7800123456789"
}
"disconnect_reason": "1120"
}