diff --git a/app/components/Call/Call.tsx b/app/components/Call/Call.tsx
index 7538217..0b8b8b1 100644
--- a/app/components/Call/Call.tsx
+++ b/app/components/Call/Call.tsx
@@ -74,8 +74,12 @@ export function Call(props: CallProps) {
{callState == CallState.CONNECTING && (Connecting...)}
{callState == CallState.INCOMING && (Incoming call...)}
{callState == CallState.KEY_EXCHANGE && (Exchanging encryption keys...)}
+ {callState == CallState.WEB_RTC_EXCHANGE && (Exchanging encryption keys...)}
- {callState == CallState.ACTIVE || callState == CallState.CONNECTING || callState == CallState.KEY_EXCHANGE && (
+ {(callState == CallState.ACTIVE
+ || callState == CallState.WEB_RTC_EXCHANGE
+ || callState == CallState.CONNECTING
+ || callState == CallState.KEY_EXCHANGE) && (
<>
setSound(!sound)} style={{
borderRadius: 25,
diff --git a/app/providers/CallProvider/CallProvider.tsx b/app/providers/CallProvider/CallProvider.tsx
index a8e4d4a..ff726de 100644
--- a/app/providers/CallProvider/CallProvider.tsx
+++ b/app/providers/CallProvider/CallProvider.tsx
@@ -26,6 +26,7 @@ export interface CallContextValue {
export enum CallState {
CONNECTING,
KEY_EXCHANGE,
+ WEB_RTC_EXCHANGE,
ACTIVE,
ENDED,
INCOMING
@@ -128,28 +129,6 @@ export function CallProvider(props : CallProviderProps) {
info("Generated shared secret for call session: " + Buffer.from(computedSharedSecret).toString('hex'));
setSharedSecret(Buffer.from(computedSharedSecret).toString('hex'));
}
- if(signalType == SignalType.OFFER){
- const offerJson = packet.getOffer();
- if(!offerJson || !peerConnectionRef.current){
- info("Received offer but peer connection is not ready");
- return;
- }
-
- handleOffer(offerJson);
- }
-
- if(signalType == SignalType.ANSWER){
- const answerJson = packet.getAnswer();
- if(!answerJson || !peerConnectionRef.current){
- info("Received answer but peer connection is not ready");
- return;
- }
-
- handleAnswer(answerJson);
- }
- if(signalType == SignalType.ACTIVE_CALL) {
- setCallState(CallState.ACTIVE);
- }
}, [activeCall, sessionKeys]);
const generateSessionKeys = () => {
diff --git a/app/providers/ProtocolProvider/protocol/packets/packet.signal.ts b/app/providers/ProtocolProvider/protocol/packets/packet.signal.ts
index 9d27d21..b57dd9d 100644
--- a/app/providers/ProtocolProvider/protocol/packets/packet.signal.ts
+++ b/app/providers/ProtocolProvider/protocol/packets/packet.signal.ts
@@ -5,12 +5,12 @@ export enum SignalType {
CALL = 0,
KEY_EXCHANGE = 1,
ACTIVE_CALL = 2,
- END_CALL = 3,
- OFFER = 4,
- ANSWER = 5,
- ICE_CONFIG = 6
+ END_CALL = 3
}
+/**
+ * Пакет сигналинга, для сигналов WebRTC используется отдельный пакет 27 PacketWebRTCExchange
+ */
export class PacketSignal extends Packet {
private src: string = "";