Обмен сообщениями с клиентам осуществляется по протоколу WebSocket.
Сообщения формируются в формате JSON.
Выделяются три категории сообщений:
{ "action":"auth", "id":"0001", "data":{ "extension":"140", "name":"Maxim Tsvetkov" } }
{ "action":"call", "id":"0001", "data":{ "from":{ "extension":"140" }, "to_number":"112" } }
{ "action":"hangup", "id":"0001", "data":{ "call_id":"askozia-1445526019" } }
{ "action":"redirect", "id":"0001", "data":{ "call_id":"askozia-1445526019", "extension":"SIP/140", "to_number":"112" } }
{ "action":"atxfer", "id":"0001", "data":{ "call_id":"askozia-1445526019", "extension":"SIP/140", "to_number":"112" } }
Пример ответа на успешно выполненное действие:
{ "response":"auth", "id":"0001", "status":"ok", "cause":"" } }
Пример ответа на действие завершившиеся ошибкой:
{ "response":"call", "id":"0001", "status":"fault", "cause":"" } }
{ "event":"call", "data":{ "call_id":"askozia-1445526019", "state":"Calling", "from":{ "extension":"SIP\140", "number":"140" }, "to":{ "extension":"SIP\112", "number":"112" } } }
Виды статусов звонка: