@webex/plugin-meetings 3.0.0-beta.281 → 3.0.0-beta.282

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.
@@ -129,7 +129,8 @@ export declare const INTENT_TO_JOIN: number[];
129
129
  export declare const ICE_TIMEOUT = 2000;
130
130
  export declare const ICE_FAIL_TIMEOUT = 3000;
131
131
  export declare const RETRY_TIMEOUT = 3000;
132
- export declare const PC_BAIL_TIMEOUT = 15000;
132
+ export declare const ICE_AND_DTLS_CONNECTION_TIMEOUT = 10000;
133
+ export declare const ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT = 10000;
133
134
  export declare const DIALER_REGEX: {
134
135
  SIP_ADDRESS: RegExp;
135
136
  PHONE_NUMBER: RegExp;
@@ -399,7 +399,11 @@ export default class Meeting extends StatelessWebexPlugin {
399
399
  environment: string;
400
400
  namespace: string;
401
401
  allowMediaInLobby: boolean;
402
+ turnDiscoverySkippedReason: string;
403
+ turnServerUsed: boolean;
402
404
  private sendSlotManager;
405
+ private deferSDPAnswer?;
406
+ private sdpResponseTimer?;
403
407
  /**
404
408
  * @param {Object} attrs
405
409
  * @param {Object} options
@@ -1130,11 +1134,66 @@ export default class Meeting extends StatelessWebexPlugin {
1130
1134
  * @returns {void}
1131
1135
  */
1132
1136
  forwardEvent(eventEmitter: any, eventTypeToForward: any, meetingEventType: any): void;
1137
+ /**
1138
+ * Sets up all the references to local streams in this.mediaProperties before creating media connection
1139
+ * and before TURN discovery, so that the correct mute state is sent with TURN discovery roap messages.
1140
+ *
1141
+ * @private
1142
+ * @param {LocalStreams} localStreams
1143
+ * @returns {Promise<void>}
1144
+ */
1145
+ private setUpLocalStreamReferences;
1146
+ /**
1147
+ * Calls mediaProperties.waitForMediaConnectionConnected() and sends CA client.ice.end metric on failure
1148
+ *
1149
+ * @private
1150
+ * @returns {Promise<void>}
1151
+ */
1152
+ private waitForMediaConnectionConnected;
1153
+ /**
1154
+ * Enables statsAnalyser if config allows it
1155
+ *
1156
+ * @private
1157
+ * @returns {void}
1158
+ */
1159
+ private createStatsAnalyzer;
1160
+ /**
1161
+ * Handles device logging
1162
+ *
1163
+ * @private
1164
+ * @static
1165
+ * @returns {Promise<void>}
1166
+ */
1167
+ private static handleDeviceLogging;
1168
+ /**
1169
+ * Returns a promise. This promise is created once the local sdp offer has been successfully created and is resolved
1170
+ * once the remote sdp answer has been received.
1171
+ *
1172
+ * @private
1173
+ * @returns {Promise<void>}
1174
+ */
1175
+ private waitForRemoteSDPAnswer;
1176
+ /**
1177
+ * Does TURN discovery, SDP offer/answer exhange, establishes ICE connection and DTLS handshake
1178
+ *
1179
+ * @private
1180
+ * @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
1181
+ * @param {BundlePolicy} [bundlePolicy]
1182
+ * @returns {Promise<void>}
1183
+ */
1184
+ private establishMediaConnection;
1185
+ /**
1186
+ * Cleans up stats analyzer, peer connection, and turns off listeners
1187
+ *
1188
+ * @private
1189
+ * @returns {Promise<void>}
1190
+ */
1191
+ private cleanUpOnAddMediaFailure;
1133
1192
  /**
1134
1193
  * Creates a media connection to the server. Media connection is required for sending or receiving any audio/video.
1135
1194
  *
1136
1195
  * @param {AddMediaOptions} options
1137
- * @returns {Promise}
1196
+ * @returns {Promise<void>}
1138
1197
  * @public
1139
1198
  * @memberof Meeting
1140
1199
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/plugin-meetings",
3
- "version": "3.0.0-beta.281",
3
+ "version": "3.0.0-beta.282",
4
4
  "description": "",
5
5
  "license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
6
6
  "contributors": [
@@ -32,12 +32,12 @@
32
32
  "build": "yarn run -T tsc --declaration true --declarationDir ./dist/types"
33
33
  },
34
34
  "devDependencies": {
35
- "@webex/plugin-meetings": "3.0.0-beta.281",
36
- "@webex/test-helper-chai": "3.0.0-beta.281",
37
- "@webex/test-helper-mocha": "3.0.0-beta.281",
38
- "@webex/test-helper-mock-webex": "3.0.0-beta.281",
39
- "@webex/test-helper-retry": "3.0.0-beta.281",
40
- "@webex/test-helper-test-users": "3.0.0-beta.281",
35
+ "@webex/plugin-meetings": "3.0.0-beta.282",
36
+ "@webex/test-helper-chai": "3.0.0-beta.282",
37
+ "@webex/test-helper-mocha": "3.0.0-beta.282",
38
+ "@webex/test-helper-mock-webex": "3.0.0-beta.282",
39
+ "@webex/test-helper-retry": "3.0.0-beta.282",
40
+ "@webex/test-helper-test-users": "3.0.0-beta.282",
41
41
  "chai": "^4.3.4",
42
42
  "chai-as-promised": "^7.1.1",
43
43
  "jsdom-global": "3.0.2",
@@ -46,19 +46,19 @@
46
46
  "typescript": "^4.7.4"
47
47
  },
48
48
  "dependencies": {
49
- "@webex/common": "3.0.0-beta.281",
49
+ "@webex/common": "3.0.0-beta.282",
50
50
  "@webex/internal-media-core": "2.1.0",
51
- "@webex/internal-plugin-conversation": "3.0.0-beta.281",
52
- "@webex/internal-plugin-device": "3.0.0-beta.281",
53
- "@webex/internal-plugin-llm": "3.0.0-beta.281",
54
- "@webex/internal-plugin-mercury": "3.0.0-beta.281",
55
- "@webex/internal-plugin-metrics": "3.0.0-beta.281",
56
- "@webex/internal-plugin-support": "3.0.0-beta.281",
57
- "@webex/internal-plugin-user": "3.0.0-beta.281",
58
- "@webex/media-helpers": "3.0.0-beta.281",
59
- "@webex/plugin-people": "3.0.0-beta.281",
60
- "@webex/plugin-rooms": "3.0.0-beta.281",
61
- "@webex/webex-core": "3.0.0-beta.281",
51
+ "@webex/internal-plugin-conversation": "3.0.0-beta.282",
52
+ "@webex/internal-plugin-device": "3.0.0-beta.282",
53
+ "@webex/internal-plugin-llm": "3.0.0-beta.282",
54
+ "@webex/internal-plugin-mercury": "3.0.0-beta.282",
55
+ "@webex/internal-plugin-metrics": "3.0.0-beta.282",
56
+ "@webex/internal-plugin-support": "3.0.0-beta.282",
57
+ "@webex/internal-plugin-user": "3.0.0-beta.282",
58
+ "@webex/media-helpers": "3.0.0-beta.282",
59
+ "@webex/plugin-people": "3.0.0-beta.282",
60
+ "@webex/plugin-rooms": "3.0.0-beta.282",
61
+ "@webex/webex-core": "3.0.0-beta.282",
62
62
  "ampersand-collection": "^2.0.2",
63
63
  "bowser": "^2.11.0",
64
64
  "btoa": "^1.2.1",
package/src/constants.ts CHANGED
@@ -190,7 +190,8 @@ export const ICE_FAIL_TIMEOUT = 3000;
190
190
 
191
191
  export const RETRY_TIMEOUT = 3000;
192
192
 
193
- export const PC_BAIL_TIMEOUT = 15000;
193
+ export const ICE_AND_DTLS_CONNECTION_TIMEOUT = 10000;
194
+ export const ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT = 10000;
194
195
 
195
196
  // ******************** REGEX **********************
196
197
  // Please alphabetize
@@ -8,7 +8,7 @@ import {
8
8
  RemoteStream,
9
9
  } from '@webex/media-helpers';
10
10
 
11
- import {MEETINGS, PC_BAIL_TIMEOUT, QUALITY_LEVELS} from '../constants';
11
+ import {MEETINGS, ICE_AND_DTLS_CONNECTION_TIMEOUT, QUALITY_LEVELS} from '../constants';
12
12
  import LoggerProxy from '../common/logs/logger-proxy';
13
13
 
14
14
  export type MediaDirection = {
@@ -200,7 +200,7 @@ export default class MediaProperties {
200
200
  timer = setTimeout(() => {
201
201
  this.webrtcMediaConnection.off(Event.CONNECTION_STATE_CHANGED, connectionStateListener);
202
202
  reject();
203
- }, PC_BAIL_TIMEOUT);
203
+ }, ICE_AND_DTLS_CONNECTION_TIMEOUT);
204
204
 
205
205
  this.webrtcMediaConnection.on(Event.CONNECTION_STATE_CHANGED, connectionStateListener);
206
206
  });