Реализация звонков на сервере #15

Merged
Royce59 merged 19 commits from dev into main 2026-03-18 17:36:43 +00:00
2 changed files with 64 additions and 2 deletions
Showing only changes of commit ddcb54821f - Show all commits

View File

@@ -1,23 +1,55 @@
package io.g365sfu.net;
/**
* Входящие пакеты от SFU сервера, могут быть инициированы запросом клиента, или отправляться SFU при
* некоторых событиях
*/
public class Incoming {
/**
* Означает, что сервер ответил на рукопожатие, и мы можем считать его успешным
*/
public static final byte HANDSHAKE_OK = (byte) 0x01;
/**
* Сервер ответил на рукопожатие, но по какой-то из причин, отклонил его, например, неправильный
* секретный ключ
*/
public static final byte HANDSHAKE_FAILURE = (byte) 0xFF;
/**
* Ответ от сервера о том, что соединение живое (ответ на проверку соединения), и мы можем считать его успешным
*/
public static final byte CONNECTION_ALIVE = (byte) 0xAE;
/**
* ICE-Кандидат с сервера SFU, который нужно переслать целевому участнику
*/
public static final byte ICE_CANDIDATE = (byte) 0x04;
/**
* SDP offer от сервера SFU, который нужно переслать целевому участнику
*/
public static final byte SDP_OFFER = (byte) 0x08;
/**
* SDP Answer от SFU в ответ на отправленный целевым участником SDP Offer, который нужно переслать целевому участнику
*/
public static final byte SDP_ANSWER = (byte) 0x05;
/**
* Сообщение от сервера SFU о том, тто комната успешно создана
*/
public static final byte ROOM_CREATE = (byte) 0x02;
/**
* Сообщение от сервера SFU о том, что комната была удалена
*/
public static final byte ROOM_DELETE = (byte) 0x10;
/**
* Сообщение об отсоединении участника от сервера SFU, например при обрыве связи
*/
public static final byte PEER_DISCONNECTED = (byte) 0x11;
}

View File

@@ -1,17 +1,47 @@
package io.g365sfu.net;
/**
* Исходящие пакеты к SFU серверу, могут быть отправлены бекендом как в ответ на входящие сообщения от сервера,
* так и по инициативе бекенда
*/
public class Outgoing {
/**
* Рукопожатие с сервером SFU, которое необходимо выполнить перед любыми другими операциями.
* Этот пакет используется для установления начального соединения с сервером SFU, и
* должен быть отправлен первым при подключении к серверу. Он может содержать информацию,
* необходимую для аутентификации (секретный ключ)
*/
public static final byte HANDSHAKE_EXCHANGE = (byte) 0x01;
/**
* Проверка соединения с сервером SFU, которая может быть отправлена бекендом по инициативе бекенда для проверки,
* что соединение с сервером все еще активно.
*/
public static final byte CONNECTION_ALIVE = (byte) 0xAE;
/**
* Ретрансляция ICE-кандидата от одного участника на сервер SFU, чтобы участник мог установить
* соединение с SFU
*/
public static final byte ICE_CANDIDATE_RETRANSLATE = (byte) 0x06;
/**
* Ретрансляция SDP answer от одного участника на сервер SFU, чтобы участник мог установить
* соединение с SFU
*/
public static final byte SDP_ANSWER_RETRANSLATE = (byte) 0x07;
/**
* Ретрансляция SDP offer от одного участника на сервер SFU, чтобы участник мог установить
* соединение с SFU
*/
public static final byte SDP_OFFER_RETRANSLATE = (byte) 0x03;
/**
* Вызывается когда бекенд хочет создать комнату на сервере SFU, и сообщает об этом серверу,
* чтобы сервер создал комнату и был готов к приему участников
*/
public static final byte ROOM_CREATE = (byte) 0x02;
}