Endpoints
To use the Omikrons functions a Secure Websocket connection must be established.
Where to connect is provided by the Omega Server.
All entries are split into Iota & Client.
As the Omikron connects the Iota and Client by passing messages from one to the other all Communication from Iota to Client has to contain a receiver_id
The Omikron will add a sender_id to Messages from Client to the Iota.
The receiver_id and sender_id of the Omikron server are 22222222-2222-2222-2222-222222222222.
Identification
Section titled “Identification”Any message to the Omikron will be ignored until Identification.
{ "id": "<uuid>", "type": "identification", "log": { "message": "Iota identifying", "log_level": 0 }, "data": { "iota_id": "<uuid>", "user_ids": "<uuid>,<uuid>,<uuid>,<uuid>,<uuid>," }}{ "id": "<uuid>", "type": "identification_response", "log": { "message": "Iota identified", "log_level": 0 }, "data": { "accepted_profiles": "<uuid>,<uuid>,<uuid>,<uuid>,", "denid_profiles": "<uuid>" }}Client
Section titled “Client”{ "id": "<uuid>", "type": "identification", "log": { "message": "Client identifying", "log_level": 0 }, "data": { "iota_id": "<iota-id>", "user_id": "<user-id>", "private_key_hash": "<hex-sha265>" }}{ "id": "<uuid>", "type": "identification_response", "log": { "message": "Client identified", "log_level": 0 }, "data": { "acceppted": boolean }}Ping & Pong
Section titled “Ping & Pong”Ping comes from the Client or Iota and the Omikron returns a Pong.
The Ping should contain the last ping,
the Pong contains the last ping of the opposite.
{ "id": "<uuid>", "type": "ping", "log": { "message": "Ping from Iota", "log_level": -1 }, "data": { "last_ping": long }}{ "id": "<uuid>", "type": "pong", "log": { "message": "Pong to Iota", "log_level": -1 }, "data": { "user_ping": { "<user-id>": long, "<user-id>": long } }}Client
Section titled “Client”{ "id": "<uuid>", "type": "ping", "log": { "message": "Ping from Client", "log_level": -1 }, "data": { "last_ping": long }}{ "id": "<uuid>", "type": "pong", "log": { "message": "Pong to Iota", "log_level": -1 }, "data": { "last_ping": long }}Calling
Section titled “Calling”Identification
Section titled “Identification”{ "id": "<uuid>", "type": "identification", "log": { "message": "Client identifying", "log_level": 0 }, "data": { "call_id": "<call-id>", "user_id": "<user-id>", "private_key_hash": "<hex-sha265>" }}{ "id": "<uuid>", "type": "identification_response", "log": { "message": "Client identified", "log_level": 0 }, "data": { "acceppted": boolean, "user_ids"{ "<user_id>": call_state, "<user_id>": call_state } }}A call state can be
active, streaming, muted, deafed;When someone joins the call
Section titled “When someone joins the call”MSG: Omikron -> all users
Section titled “MSG: Omikron -> all users”{ "id": "<uuid>", "type": "client_connected", "log": { "message": "", "log_level": 0 }, "data":{ "user_id": "<user_id>", "call_state": call_state, "user_state": user_state }
}All messages
Section titled “All messages”When someone changes their state
Section titled “When someone changes their state”MSG: -> Omikron
Section titled “MSG: -> Omikron”{ "id": "<uuid>", "type": "client_changed", "log": { "message": "", "log_level": 0 }, "data":{ "call_state": call_state, // if a value is missing "user_state": user_state // it is not changed }}MSG: Omikron -> Other clients
Section titled “MSG: Omikron -> Other clients”{ "id": "<uuid>", "type": "client_changed", "log": { "message": "", "log_level": 0 }, "data":{ "user_id": "<user_id>", "call_state": call_state, // if a value is missing "user_state": user_state // it is not changed }}