====== 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 - завершение звонка.