genesys-cloud-streaming-client 17.2.6 → 17.2.7-release.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/client.js +1 -1
- package/dist/cjs/types/genesys-cloud-media-session.d.ts +1 -0
- package/dist/cjs/types/genesys-cloud-media-session.js +1 -0
- package/dist/cjs/types/media-session.d.ts +2 -0
- package/dist/cjs/types/stanza-media-session.d.ts +1 -0
- package/dist/cjs/types/stanza-media-session.js +1 -0
- package/dist/cjs/webrtc.js +4 -1
- package/dist/deploy-info.json +5 -5
- package/dist/es/client.js +1 -1
- package/dist/es/index.bundle.js +7 -3
- package/dist/es/types/genesys-cloud-media-session.d.ts +1 -0
- package/dist/es/types/genesys-cloud-media-session.js +1 -0
- package/dist/es/types/media-session.d.ts +2 -0
- package/dist/es/types/stanza-media-session.d.ts +1 -0
- package/dist/es/types/stanza-media-session.js +1 -0
- package/dist/es/webrtc.js +4 -2
- package/dist/npm/CHANGELOG.md +4 -1
- package/dist/npm/client.js +1 -1
- package/dist/npm/types/genesys-cloud-media-session.d.ts +1 -0
- package/dist/npm/types/genesys-cloud-media-session.js +1 -0
- package/dist/npm/types/media-session.d.ts +2 -0
- package/dist/npm/types/stanza-media-session.d.ts +1 -0
- package/dist/npm/types/stanza-media-session.js +1 -0
- package/dist/npm/webrtc.js +4 -1
- package/dist/streaming-client.browser.ie.js +6 -6
- package/dist/streaming-client.browser.js +6 -6
- package/dist/v17/streaming-client.browser.ie.js +6 -6
- package/dist/v17/streaming-client.browser.js +6 -6
- package/dist/v17.2.7/streaming-client.browser.ie.js +32 -0
- package/dist/v17.2.7/streaming-client.browser.js +32 -0
- package/package.json +119 -117
- package/dist/v17.2.6/streaming-client.browser.ie.js +0 -32
- package/dist/v17.2.6/streaming-client.browser.js +0 -32
package/dist/cjs/client.js
CHANGED
|
@@ -27,6 +27,7 @@ export declare class GenesysCloudMediaSession {
|
|
|
27
27
|
dataChannel?: RTCDataChannel;
|
|
28
28
|
state: SessionState;
|
|
29
29
|
connectionState: ConnectionState;
|
|
30
|
+
privAnswerMode?: 'Auto';
|
|
30
31
|
constructor(webrtcExtension: WebrtcExtension, params: IGenesysCloudMediaSessionParams);
|
|
31
32
|
private keepStateInSyncWithPeerConnection;
|
|
32
33
|
setRemoteDescription(sdp: string): Promise<void>;
|
|
@@ -33,6 +33,7 @@ class GenesysCloudMediaSession {
|
|
|
33
33
|
this.allowIPv6 = !!params.allowIPv6;
|
|
34
34
|
this.allowTCP = !!params.allowTCP;
|
|
35
35
|
this.reinvite = !!params.reinvite;
|
|
36
|
+
this.privAnswerMode = params.privAnswerMode;
|
|
36
37
|
// babel does not like the typescript recipe for multiple extends so we are hacking this one
|
|
37
38
|
// referencing https://github.com/babel/babel/issues/798
|
|
38
39
|
const eventEmitter = new events_1.EventEmitter();
|
|
@@ -40,6 +40,7 @@ export interface IMediaSessionParams {
|
|
|
40
40
|
fromUserId?: string;
|
|
41
41
|
originalRoomJid?: string;
|
|
42
42
|
meetingId?: string;
|
|
43
|
+
privAnswerMode?: 'Auto';
|
|
43
44
|
}
|
|
44
45
|
export interface IStanzaMediaSessionParams extends IMediaSessionParams {
|
|
45
46
|
options: SessionOpts;
|
|
@@ -62,6 +63,7 @@ export interface IMediaSession extends StrictEventEmitter<EventEmitter, SessionE
|
|
|
62
63
|
state: SessionState | string;
|
|
63
64
|
reinvite: boolean;
|
|
64
65
|
meetingId?: string;
|
|
66
|
+
privAnswerMode?: 'Auto';
|
|
65
67
|
setupStatsGatherer(): void;
|
|
66
68
|
accept(opts?: RTCAnswerOptions): Promise<void>;
|
|
67
69
|
end(reason: JingleReasonCondition, silent?: boolean): Promise<void>;
|
|
@@ -38,6 +38,7 @@ export declare class StanzaMediaSession extends MediaSession implements IMediaSe
|
|
|
38
38
|
allowTCP: boolean;
|
|
39
39
|
dataChannel?: RTCDataChannel;
|
|
40
40
|
reinvite: boolean;
|
|
41
|
+
privAnswerMode?: 'Auto';
|
|
41
42
|
constructor(params: IStanzaMediaSessionParams);
|
|
42
43
|
private getLogDetails;
|
|
43
44
|
onTransportInfo(changes: Jingle, cb: ActionCallback): Promise<void>;
|
|
@@ -30,6 +30,7 @@ class StanzaMediaSession extends jingle_1.MediaSession {
|
|
|
30
30
|
this.ignoreHostCandidatesFromRemote = !!params.ignoreHostCandidatesFromRemote;
|
|
31
31
|
this.allowIPv6 = !!params.allowIPv6;
|
|
32
32
|
this.allowTCP = !!params.allowTCP;
|
|
33
|
+
this.privAnswerMode = params.privAnswerMode;
|
|
33
34
|
// babel does not like the typescript recipe for multiple extends so we are hacking this one
|
|
34
35
|
// referencing https://github.com/babel/babel/issues/798
|
|
35
36
|
const eventEmitter = new events_1.default();
|
package/dist/cjs/webrtc.js
CHANGED
|
@@ -171,6 +171,7 @@ class WebrtcExtension extends events_1.EventEmitter {
|
|
|
171
171
|
meetingId: pendingSession.meetingId,
|
|
172
172
|
fromUserId: pendingSession.fromUserId,
|
|
173
173
|
originalRoomJid: pendingSession.originalRoomJid,
|
|
174
|
+
privAnswerMode: pendingSession.privAnswerMode
|
|
174
175
|
};
|
|
175
176
|
}
|
|
176
177
|
else {
|
|
@@ -179,7 +180,9 @@ class WebrtcExtension extends events_1.EventEmitter {
|
|
|
179
180
|
// if we receive an offer for an existing session and the ice info has not changed, this is
|
|
180
181
|
// a renogotiate. If the ice has changed, it's a re-invite and we need to create a new session.
|
|
181
182
|
const existingSession = this.webrtcSessions.find(s => s.id === mediaSessionParams.id);
|
|
183
|
+
this.logger.info('offer received', { existingSession: !!existingSession, mediaSessionParams });
|
|
182
184
|
if (existingSession) {
|
|
185
|
+
existingSession.conversationId = params.conversationId;
|
|
183
186
|
// renego
|
|
184
187
|
if (!utils_1.iceIsDifferent(existingSession.peerConnection.remoteDescription.sdp, params.sdp)) {
|
|
185
188
|
return this.handleGenesysRenegotiate(existingSession, params.sdp);
|
|
@@ -194,7 +197,7 @@ class WebrtcExtension extends events_1.EventEmitter {
|
|
|
194
197
|
this.webrtcSessions = this.webrtcSessions.filter(s => s.id !== session.id);
|
|
195
198
|
});
|
|
196
199
|
this.webrtcSessions.push(session);
|
|
197
|
-
this.logger.info('emitting sdp media-session (offer');
|
|
200
|
+
this.logger.info('emitting sdp media-session (offer)');
|
|
198
201
|
return this.emit(events.INCOMING_RTCSESSION, session);
|
|
199
202
|
}
|
|
200
203
|
async handleGenesysRenegotiate(existingSession, newSdp) {
|
package/dist/deploy-info.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "developercenter-cdn/streaming-client",
|
|
3
|
-
"version": "17.2.
|
|
3
|
+
"version": "17.2.7",
|
|
4
4
|
"ecosystem": "pc",
|
|
5
5
|
"team": "Client Streaming and Signaling",
|
|
6
6
|
"indexFiles": [
|
|
7
7
|
{
|
|
8
|
-
"file": "v17.2.
|
|
8
|
+
"file": "v17.2.7/streaming-client.browser.ie.js"
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
|
-
"file": "v17.2.
|
|
11
|
+
"file": "v17.2.7/streaming-client.browser.js"
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
14
|
"file": "v17/streaming-client.browser.ie.js"
|
|
@@ -17,6 +17,6 @@
|
|
|
17
17
|
"file": "v17/streaming-client.browser.js"
|
|
18
18
|
}
|
|
19
19
|
],
|
|
20
|
-
"build": "
|
|
21
|
-
"buildDate": "2024-10-
|
|
20
|
+
"build": "1",
|
|
21
|
+
"buildDate": "2024-10-08T15:39:33.064298400Z"
|
|
22
22
|
}
|
package/dist/es/client.js
CHANGED
package/dist/es/index.bundle.js
CHANGED
|
@@ -30405,6 +30405,7 @@ class StanzaMediaSession extends jingle$1.MediaSession {
|
|
|
30405
30405
|
this.ignoreHostCandidatesFromRemote = !!params.ignoreHostCandidatesFromRemote;
|
|
30406
30406
|
this.allowIPv6 = !!params.allowIPv6;
|
|
30407
30407
|
this.allowTCP = !!params.allowTCP;
|
|
30408
|
+
this.privAnswerMode = params.privAnswerMode;
|
|
30408
30409
|
// babel does not like the typescript recipe for multiple extends so we are hacking this one
|
|
30409
30410
|
// referencing https://github.com/babel/babel/issues/798
|
|
30410
30411
|
const eventEmitter = new EventEmitter();
|
|
@@ -30655,6 +30656,7 @@ class GenesysCloudMediaSession {
|
|
|
30655
30656
|
this.allowIPv6 = !!params.allowIPv6;
|
|
30656
30657
|
this.allowTCP = !!params.allowTCP;
|
|
30657
30658
|
this.reinvite = !!params.reinvite;
|
|
30659
|
+
this.privAnswerMode = params.privAnswerMode;
|
|
30658
30660
|
// babel does not like the typescript recipe for multiple extends so we are hacking this one
|
|
30659
30661
|
// referencing https://github.com/babel/babel/issues/798
|
|
30660
30662
|
const eventEmitter = new EventEmitter();
|
|
@@ -31317,7 +31319,7 @@ class WebrtcExtension extends EventEmitter {
|
|
|
31317
31319
|
// we should only do something if the pending session tells us to
|
|
31318
31320
|
const pendingSession = this.pendingSessions[params.sessionId];
|
|
31319
31321
|
if (pendingSession) {
|
|
31320
|
-
mediaSessionParams = Object.assign(Object.assign({}, commonParams), { meetingId: pendingSession.meetingId, fromUserId: pendingSession.fromUserId, originalRoomJid: pendingSession.originalRoomJid });
|
|
31322
|
+
mediaSessionParams = Object.assign(Object.assign({}, commonParams), { meetingId: pendingSession.meetingId, fromUserId: pendingSession.fromUserId, originalRoomJid: pendingSession.originalRoomJid, privAnswerMode: pendingSession.privAnswerMode });
|
|
31321
31323
|
}
|
|
31322
31324
|
else {
|
|
31323
31325
|
mediaSessionParams = commonParams;
|
|
@@ -31325,7 +31327,9 @@ class WebrtcExtension extends EventEmitter {
|
|
|
31325
31327
|
// if we receive an offer for an existing session and the ice info has not changed, this is
|
|
31326
31328
|
// a renogotiate. If the ice has changed, it's a re-invite and we need to create a new session.
|
|
31327
31329
|
const existingSession = this.webrtcSessions.find(s => s.id === mediaSessionParams.id);
|
|
31330
|
+
this.logger.info('offer received', { existingSession: !!existingSession, mediaSessionParams });
|
|
31328
31331
|
if (existingSession) {
|
|
31332
|
+
existingSession.conversationId = params.conversationId;
|
|
31329
31333
|
// renego
|
|
31330
31334
|
if (!iceIsDifferent(existingSession.peerConnection.remoteDescription.sdp, params.sdp)) {
|
|
31331
31335
|
return this.handleGenesysRenegotiate(existingSession, params.sdp);
|
|
@@ -31340,7 +31344,7 @@ class WebrtcExtension extends EventEmitter {
|
|
|
31340
31344
|
this.webrtcSessions = this.webrtcSessions.filter(s => s.id !== session.id);
|
|
31341
31345
|
});
|
|
31342
31346
|
this.webrtcSessions.push(session);
|
|
31343
|
-
this.logger.info('emitting sdp media-session (offer');
|
|
31347
|
+
this.logger.info('emitting sdp media-session (offer)');
|
|
31344
31348
|
return this.emit(events.INCOMING_RTCSESSION, session);
|
|
31345
31349
|
});
|
|
31346
31350
|
}
|
|
@@ -42601,7 +42605,7 @@ class Client extends EventEmitter {
|
|
|
42601
42605
|
return Client.version;
|
|
42602
42606
|
}
|
|
42603
42607
|
static get version() {
|
|
42604
|
-
return '17.2.
|
|
42608
|
+
return '17.2.7';
|
|
42605
42609
|
}
|
|
42606
42610
|
}
|
|
42607
42611
|
|
|
@@ -27,6 +27,7 @@ export declare class GenesysCloudMediaSession {
|
|
|
27
27
|
dataChannel?: RTCDataChannel;
|
|
28
28
|
state: SessionState;
|
|
29
29
|
connectionState: ConnectionState;
|
|
30
|
+
privAnswerMode?: 'Auto';
|
|
30
31
|
constructor(webrtcExtension: WebrtcExtension, params: IGenesysCloudMediaSessionParams);
|
|
31
32
|
private keepStateInSyncWithPeerConnection;
|
|
32
33
|
setRemoteDescription(sdp: string): Promise<void>;
|
|
@@ -30,6 +30,7 @@ export class GenesysCloudMediaSession {
|
|
|
30
30
|
this.allowIPv6 = !!params.allowIPv6;
|
|
31
31
|
this.allowTCP = !!params.allowTCP;
|
|
32
32
|
this.reinvite = !!params.reinvite;
|
|
33
|
+
this.privAnswerMode = params.privAnswerMode;
|
|
33
34
|
// babel does not like the typescript recipe for multiple extends so we are hacking this one
|
|
34
35
|
// referencing https://github.com/babel/babel/issues/798
|
|
35
36
|
const eventEmitter = new EventEmitter();
|
|
@@ -40,6 +40,7 @@ export interface IMediaSessionParams {
|
|
|
40
40
|
fromUserId?: string;
|
|
41
41
|
originalRoomJid?: string;
|
|
42
42
|
meetingId?: string;
|
|
43
|
+
privAnswerMode?: 'Auto';
|
|
43
44
|
}
|
|
44
45
|
export interface IStanzaMediaSessionParams extends IMediaSessionParams {
|
|
45
46
|
options: SessionOpts;
|
|
@@ -62,6 +63,7 @@ export interface IMediaSession extends StrictEventEmitter<EventEmitter, SessionE
|
|
|
62
63
|
state: SessionState | string;
|
|
63
64
|
reinvite: boolean;
|
|
64
65
|
meetingId?: string;
|
|
66
|
+
privAnswerMode?: 'Auto';
|
|
65
67
|
setupStatsGatherer(): void;
|
|
66
68
|
accept(opts?: RTCAnswerOptions): Promise<void>;
|
|
67
69
|
end(reason: JingleReasonCondition, silent?: boolean): Promise<void>;
|
|
@@ -38,6 +38,7 @@ export declare class StanzaMediaSession extends MediaSession implements IMediaSe
|
|
|
38
38
|
allowTCP: boolean;
|
|
39
39
|
dataChannel?: RTCDataChannel;
|
|
40
40
|
reinvite: boolean;
|
|
41
|
+
privAnswerMode?: 'Auto';
|
|
41
42
|
constructor(params: IStanzaMediaSessionParams);
|
|
42
43
|
private getLogDetails;
|
|
43
44
|
onTransportInfo(changes: Jingle, cb: ActionCallback): Promise<void>;
|
|
@@ -27,6 +27,7 @@ export class StanzaMediaSession extends MediaSession {
|
|
|
27
27
|
this.ignoreHostCandidatesFromRemote = !!params.ignoreHostCandidatesFromRemote;
|
|
28
28
|
this.allowIPv6 = !!params.allowIPv6;
|
|
29
29
|
this.allowTCP = !!params.allowTCP;
|
|
30
|
+
this.privAnswerMode = params.privAnswerMode;
|
|
30
31
|
// babel does not like the typescript recipe for multiple extends so we are hacking this one
|
|
31
32
|
// referencing https://github.com/babel/babel/issues/798
|
|
32
33
|
const eventEmitter = new EventEmitter();
|
package/dist/es/webrtc.js
CHANGED
|
@@ -168,7 +168,7 @@ export class WebrtcExtension extends EventEmitter {
|
|
|
168
168
|
// we should only do something if the pending session tells us to
|
|
169
169
|
const pendingSession = this.pendingSessions[params.sessionId];
|
|
170
170
|
if (pendingSession) {
|
|
171
|
-
mediaSessionParams = Object.assign(Object.assign({}, commonParams), { meetingId: pendingSession.meetingId, fromUserId: pendingSession.fromUserId, originalRoomJid: pendingSession.originalRoomJid });
|
|
171
|
+
mediaSessionParams = Object.assign(Object.assign({}, commonParams), { meetingId: pendingSession.meetingId, fromUserId: pendingSession.fromUserId, originalRoomJid: pendingSession.originalRoomJid, privAnswerMode: pendingSession.privAnswerMode });
|
|
172
172
|
}
|
|
173
173
|
else {
|
|
174
174
|
mediaSessionParams = commonParams;
|
|
@@ -176,7 +176,9 @@ export class WebrtcExtension extends EventEmitter {
|
|
|
176
176
|
// if we receive an offer for an existing session and the ice info has not changed, this is
|
|
177
177
|
// a renogotiate. If the ice has changed, it's a re-invite and we need to create a new session.
|
|
178
178
|
const existingSession = this.webrtcSessions.find(s => s.id === mediaSessionParams.id);
|
|
179
|
+
this.logger.info('offer received', { existingSession: !!existingSession, mediaSessionParams });
|
|
179
180
|
if (existingSession) {
|
|
181
|
+
existingSession.conversationId = params.conversationId;
|
|
180
182
|
// renego
|
|
181
183
|
if (!iceIsDifferent(existingSession.peerConnection.remoteDescription.sdp, params.sdp)) {
|
|
182
184
|
return this.handleGenesysRenegotiate(existingSession, params.sdp);
|
|
@@ -191,7 +193,7 @@ export class WebrtcExtension extends EventEmitter {
|
|
|
191
193
|
this.webrtcSessions = this.webrtcSessions.filter(s => s.id !== session.id);
|
|
192
194
|
});
|
|
193
195
|
this.webrtcSessions.push(session);
|
|
194
|
-
this.logger.info('emitting sdp media-session (offer');
|
|
196
|
+
this.logger.info('emitting sdp media-session (offer)');
|
|
195
197
|
return this.emit(events.INCOMING_RTCSESSION, session);
|
|
196
198
|
});
|
|
197
199
|
}
|
package/dist/npm/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,10 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
5
5
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
-
# [Unreleased](https://github.com/purecloudlabs/genesys-cloud-streaming-client/compare/v17.2.
|
|
7
|
+
# [Unreleased](https://github.com/purecloudlabs/genesys-cloud-streaming-client/compare/v17.2.7...HEAD)
|
|
8
|
+
# [v17.2.7](https://github.com/purecloudlabs/genesys-cloud-streaming-client/compare/v17.2.6..v17.2.7)
|
|
9
|
+
### Fixed
|
|
10
|
+
* [STREAM-218](https://inindca.atlassian.net/browse/STREAM-218) - update the conversationId on sessions with reinvites
|
|
8
11
|
|
|
9
12
|
# [v17.2.6](https://github.com/purecloudlabs/genesys-cloud-streaming-client/compare/v17.2.5..v17.2.6)
|
|
10
13
|
### Fixed
|
package/dist/npm/client.js
CHANGED
|
@@ -27,6 +27,7 @@ export declare class GenesysCloudMediaSession {
|
|
|
27
27
|
dataChannel?: RTCDataChannel;
|
|
28
28
|
state: SessionState;
|
|
29
29
|
connectionState: ConnectionState;
|
|
30
|
+
privAnswerMode?: 'Auto';
|
|
30
31
|
constructor(webrtcExtension: WebrtcExtension, params: IGenesysCloudMediaSessionParams);
|
|
31
32
|
private keepStateInSyncWithPeerConnection;
|
|
32
33
|
setRemoteDescription(sdp: string): Promise<void>;
|
|
@@ -33,6 +33,7 @@ class GenesysCloudMediaSession {
|
|
|
33
33
|
this.allowIPv6 = !!params.allowIPv6;
|
|
34
34
|
this.allowTCP = !!params.allowTCP;
|
|
35
35
|
this.reinvite = !!params.reinvite;
|
|
36
|
+
this.privAnswerMode = params.privAnswerMode;
|
|
36
37
|
// babel does not like the typescript recipe for multiple extends so we are hacking this one
|
|
37
38
|
// referencing https://github.com/babel/babel/issues/798
|
|
38
39
|
const eventEmitter = new events_1.EventEmitter();
|
|
@@ -40,6 +40,7 @@ export interface IMediaSessionParams {
|
|
|
40
40
|
fromUserId?: string;
|
|
41
41
|
originalRoomJid?: string;
|
|
42
42
|
meetingId?: string;
|
|
43
|
+
privAnswerMode?: 'Auto';
|
|
43
44
|
}
|
|
44
45
|
export interface IStanzaMediaSessionParams extends IMediaSessionParams {
|
|
45
46
|
options: SessionOpts;
|
|
@@ -62,6 +63,7 @@ export interface IMediaSession extends StrictEventEmitter<EventEmitter, SessionE
|
|
|
62
63
|
state: SessionState | string;
|
|
63
64
|
reinvite: boolean;
|
|
64
65
|
meetingId?: string;
|
|
66
|
+
privAnswerMode?: 'Auto';
|
|
65
67
|
setupStatsGatherer(): void;
|
|
66
68
|
accept(opts?: RTCAnswerOptions): Promise<void>;
|
|
67
69
|
end(reason: JingleReasonCondition, silent?: boolean): Promise<void>;
|
|
@@ -38,6 +38,7 @@ export declare class StanzaMediaSession extends MediaSession implements IMediaSe
|
|
|
38
38
|
allowTCP: boolean;
|
|
39
39
|
dataChannel?: RTCDataChannel;
|
|
40
40
|
reinvite: boolean;
|
|
41
|
+
privAnswerMode?: 'Auto';
|
|
41
42
|
constructor(params: IStanzaMediaSessionParams);
|
|
42
43
|
private getLogDetails;
|
|
43
44
|
onTransportInfo(changes: Jingle, cb: ActionCallback): Promise<void>;
|
|
@@ -30,6 +30,7 @@ class StanzaMediaSession extends jingle_1.MediaSession {
|
|
|
30
30
|
this.ignoreHostCandidatesFromRemote = !!params.ignoreHostCandidatesFromRemote;
|
|
31
31
|
this.allowIPv6 = !!params.allowIPv6;
|
|
32
32
|
this.allowTCP = !!params.allowTCP;
|
|
33
|
+
this.privAnswerMode = params.privAnswerMode;
|
|
33
34
|
// babel does not like the typescript recipe for multiple extends so we are hacking this one
|
|
34
35
|
// referencing https://github.com/babel/babel/issues/798
|
|
35
36
|
const eventEmitter = new events_1.default();
|
package/dist/npm/webrtc.js
CHANGED
|
@@ -171,6 +171,7 @@ class WebrtcExtension extends events_1.EventEmitter {
|
|
|
171
171
|
meetingId: pendingSession.meetingId,
|
|
172
172
|
fromUserId: pendingSession.fromUserId,
|
|
173
173
|
originalRoomJid: pendingSession.originalRoomJid,
|
|
174
|
+
privAnswerMode: pendingSession.privAnswerMode
|
|
174
175
|
};
|
|
175
176
|
}
|
|
176
177
|
else {
|
|
@@ -179,7 +180,9 @@ class WebrtcExtension extends events_1.EventEmitter {
|
|
|
179
180
|
// if we receive an offer for an existing session and the ice info has not changed, this is
|
|
180
181
|
// a renogotiate. If the ice has changed, it's a re-invite and we need to create a new session.
|
|
181
182
|
const existingSession = this.webrtcSessions.find(s => s.id === mediaSessionParams.id);
|
|
183
|
+
this.logger.info('offer received', { existingSession: !!existingSession, mediaSessionParams });
|
|
182
184
|
if (existingSession) {
|
|
185
|
+
existingSession.conversationId = params.conversationId;
|
|
183
186
|
// renego
|
|
184
187
|
if (!utils_1.iceIsDifferent(existingSession.peerConnection.remoteDescription.sdp, params.sdp)) {
|
|
185
188
|
return this.handleGenesysRenegotiate(existingSession, params.sdp);
|
|
@@ -194,7 +197,7 @@ class WebrtcExtension extends events_1.EventEmitter {
|
|
|
194
197
|
this.webrtcSessions = this.webrtcSessions.filter(s => s.id !== session.id);
|
|
195
198
|
});
|
|
196
199
|
this.webrtcSessions.push(session);
|
|
197
|
-
this.logger.info('emitting sdp media-session (offer');
|
|
200
|
+
this.logger.info('emitting sdp media-session (offer)');
|
|
198
201
|
return this.emit(events.INCOMING_RTCSESSION, session);
|
|
199
202
|
}
|
|
200
203
|
async handleGenesysRenegotiate(existingSession, newSdp) {
|