Обновление протокола для неавторизованных звонков
This commit is contained in:
@@ -29,16 +29,18 @@ public class Packet26SignalPeer extends Packet {
|
||||
* Тип сигнала
|
||||
*/
|
||||
private NetworkSignalType signalType;
|
||||
|
||||
/**
|
||||
* Идентификатор комнаты, в которой происходит звонок, заполняется если тип сигнала CREATE_ROOM, иначе null
|
||||
* callId и joinToken нужны для того, чтобы идентифицировать сессию звонка. Так как roomId это только ID комнаты на sfu
|
||||
*/
|
||||
private String roomId;
|
||||
private String callId;
|
||||
private String joinToken;
|
||||
|
||||
@Override
|
||||
public void read(Stream stream) {
|
||||
this.signalType = NetworkSignalType.fromCode(stream.readInt8());
|
||||
if(this.signalType == NetworkSignalType.END_CALL_BECAUSE_BUSY || this.signalType == NetworkSignalType.END_CALL_BECAUSE_PEER_DISCONNECTED) {
|
||||
if(this.signalType == NetworkSignalType.END_CALL_BECAUSE_BUSY
|
||||
|| this.signalType == NetworkSignalType.END_CALL_BECAUSE_PEER_DISCONNECTED
|
||||
|| this.signalType == NetworkSignalType.RINGING_TIMEOUT) {
|
||||
return;
|
||||
}
|
||||
this.src = stream.readString();
|
||||
@@ -46,8 +48,9 @@ public class Packet26SignalPeer extends Packet {
|
||||
if (signalType == NetworkSignalType.KEY_EXCHANGE) {
|
||||
this.sharedPublic = stream.readString();
|
||||
}
|
||||
if(signalType == NetworkSignalType.CREATE_ROOM) {
|
||||
this.roomId = stream.readString();
|
||||
if(signalType == NetworkSignalType.CALL || signalType == NetworkSignalType.ACCEPT || signalType == NetworkSignalType.END_CALL) {
|
||||
this.callId = stream.readString();
|
||||
this.joinToken = stream.readString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,7 +59,9 @@ public class Packet26SignalPeer extends Packet {
|
||||
Stream stream = new Stream();
|
||||
stream.writeInt16(this.packetId);
|
||||
stream.writeInt8(this.signalType.getCode());
|
||||
if(this.signalType == NetworkSignalType.END_CALL_BECAUSE_BUSY || this.signalType == NetworkSignalType.END_CALL_BECAUSE_PEER_DISCONNECTED) {
|
||||
if(this.signalType == NetworkSignalType.END_CALL_BECAUSE_BUSY
|
||||
|| this.signalType == NetworkSignalType.END_CALL_BECAUSE_PEER_DISCONNECTED
|
||||
|| this.signalType == NetworkSignalType.RINGING_TIMEOUT) {
|
||||
return stream;
|
||||
}
|
||||
stream.writeString(this.src);
|
||||
@@ -64,8 +69,9 @@ public class Packet26SignalPeer extends Packet {
|
||||
if (signalType == NetworkSignalType.KEY_EXCHANGE) {
|
||||
stream.writeString(this.sharedPublic);
|
||||
}
|
||||
if(signalType == NetworkSignalType.CREATE_ROOM) {
|
||||
stream.writeString(this.roomId);
|
||||
if(signalType == NetworkSignalType.CALL || signalType == NetworkSignalType.ACCEPT || signalType == NetworkSignalType.END_CALL) {
|
||||
stream.writeString(this.callId);
|
||||
stream.writeString(this.joinToken);
|
||||
}
|
||||
return stream;
|
||||
}
|
||||
@@ -134,20 +140,35 @@ public class Packet26SignalPeer extends Packet {
|
||||
public void setSignalType(NetworkSignalType signalType) {
|
||||
this.signalType = signalType;
|
||||
}
|
||||
/**
|
||||
* Получить идентификатор сессии звонка, если тип сигнала CALL или ACCEPT
|
||||
* @return идентификатор сессии звонка, если тип сигнала CALL или ACCEPT, иначе null
|
||||
*/
|
||||
public String getCallId() {
|
||||
return callId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Получить идентификатор созданной комнаты, если тип сигнала CREATE_ROOM
|
||||
* @return идентификатор комнаты, если тип сигнала CREATE_ROOM, иначе null
|
||||
* Установить идентификатор сессии звонка, если тип сигнала CALL или ACCEPT
|
||||
* @param callId идентификатор сессии звонка, если тип сигнала CALL или ACCEPT
|
||||
*/
|
||||
public String getRoomId() {
|
||||
return roomId;
|
||||
public void setCallId(String callId) {
|
||||
this.callId = callId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Установить идентификатор комнаты, в которой происходит звонок, если тип сигнала CREATE_ROOM
|
||||
* @param roomId идентификатор комнаты, если тип сигнала CREATE_ROOM
|
||||
/**
|
||||
* Получить токен для присоединения к сессии звонка, если тип сигнала CALL или ACCEPT
|
||||
* @return токен для присоединения к сессии звонка, если тип сигнала CALL или ACCEPT, иначе null
|
||||
*/
|
||||
public void setRoomId(String roomId) {
|
||||
this.roomId = roomId;
|
||||
public String getJoinToken() {
|
||||
return joinToken;
|
||||
}
|
||||
|
||||
/**
|
||||
* Установить токен для присоединения к сессии звонка, если тип сигнала CALL или ACCEPT
|
||||
* @param joinToken токен для присоединения к сессии звонка, если тип сигнала CALL или ACCEPT
|
||||
*/
|
||||
public void setJoinToken(String joinToken) {
|
||||
this.joinToken = joinToken;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user