====== MIKO Proxy Server ======
Документ в разработке
Обмен сообщениями с клиентам осуществляется по протоколу [[https://ru.wikipedia.org/wiki/WebSocket|WebSocket]].
Сообщения формируются в формате [[https://ru.wikipedia.org/wiki/JSON|JSON]].
Выделяются три категории сообщений:
* действие (action);
* ответ (respons);
* событие (event).
===== Действия =====
=== Авторизация ===
{
"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"
}
}
}
Виды статусов звонка:
* Calling - инициация звонка;
* Connected - соединение абонентов;
* Hangup - завершение звонка.