sip-connector 6.9.0 → 6.9.2
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/SipConnector.d.ts +3 -1
- package/dist/SipConnector.d.ts.map +1 -1
- package/dist/SipConnector.js +22 -15
- package/dist/SipConnector.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es5.js +1 -1
- package/dist/index.es5.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +10 -10
package/dist/SipConnector.d.ts
CHANGED
|
@@ -172,7 +172,8 @@ export default class SipConnector {
|
|
|
172
172
|
private _cancelableAnswer;
|
|
173
173
|
private _cancelableSendDTMF;
|
|
174
174
|
private getSipServerUrl;
|
|
175
|
-
|
|
175
|
+
promisePendingStartPresentation?: Promise<MediaStream>;
|
|
176
|
+
promisePendingStopPresentation?: Promise<void | MediaStream>;
|
|
176
177
|
ua?: UA;
|
|
177
178
|
session?: RTCSession;
|
|
178
179
|
incomingSession?: RTCSession;
|
|
@@ -206,6 +207,7 @@ export default class SipConnector {
|
|
|
206
207
|
busyIncomingCall: () => Promise<unknown>;
|
|
207
208
|
removeIncomingSession: () => void;
|
|
208
209
|
askPermissionToEnableCam(options?: TOptionsInfoMediaState): Promise<void>;
|
|
210
|
+
get isPendingPresentation(): boolean;
|
|
209
211
|
startPresentation(stream: MediaStream, { isNeedReinvite, isP2P, maxBitrate, degradationPreference, }?: {
|
|
210
212
|
isNeedReinvite?: boolean;
|
|
211
213
|
isP2P?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SipConnector.d.ts","sourceRoot":"","sources":["../src/SipConnector.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SipConnector.d.ts","sourceRoot":"","sources":["../src/SipConnector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAU/B,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAkG5D,oBAAY,cAAc;IACxB,cAAc,iBAAiB;IAC/B,eAAe,kBAAkB;IACjC,uBAAuB,yBAAyB;IAChD,mBAAmB,qBAAqB;IACxC,oBAAoB,sBAAsB;CAC3C;AAED,oBAAY,UAAU;IACpB,cAAc,iBAAiB;IAC/B,eAAe,kBAAkB;CAClC;AAED,oBAAY,qBAAqB;IAC/B,iBAAiB,MAAM;IACvB,qBAAqB,MAAM;CAC5B;AAED,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,qBAAqB,0BAA0B;CAChD;AAED,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,oBAAoB,WAAW,YAAY,KAAiB,OAgBxE,CAAC;AAIF,MAAM,MAAM,MAAM,GAAG;IACnB,EAAE,EAAE,OAAO,EAAE,CAAC;IACd,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;CAC/C,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAiBF,KAAK,sBAAsB,GAAG;IAC5B,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,QAAA,MAAM,YAAY,YAAsB,CAAC;AACzC,QAAA,MAAM,mBAAmB,kBAA4B,CAAC;AAItD,QAAA,MAAM,4BAA4B,yBAAmC,CAAC;AACtE,QAAA,MAAM,gCAAgC,6BAAuC,CAAC;AAC9E,QAAA,MAAM,8BAA8B,gCAA0C,CAAC;AAC/E,QAAA,MAAM,2BAA2B,gCAA0C,CAAC;AAC5E,QAAA,MAAM,0BAA0B,6BAAuC,CAAC;AACxE,QAAA,MAAM,uCAAuC,oCAA8C,CAAC;AAE5F,KAAK,gCAAgC,GAAG;IACtC,GAAG,EAAE,OAAO,4BAA4B,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,KAAK,oCAAoC,GAAG;IAC1C,GAAG,EAAE,OAAO,gCAAgC,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,KAAK,kCAAkC,GAAG;IACxC,GAAG,EAAE,OAAO,8BAA8B,CAAC;IAC3C,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B,CAAC;AACF,KAAK,+BAA+B,GAAG;IACrC,GAAG,EAAE,OAAO,2BAA2B,CAAC;IACxC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B,CAAC;AACF,KAAK,8BAA8B,GAAG;IACpC,GAAG,EAAE,OAAO,0BAA0B,CAAC;IACvC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACvC,GAAG,EAAE,OAAO,uCAAuC,CAAC;IACpD,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAChE,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,GAAG,EAAE,OAAO,mBAAmB,CAAC;IAChC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C,CAAC;AACF,KAAK,mBAAmB,GAAG;IAAE,GAAG,EAAE,OAAO,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AACvF,KAAK,WAAW,GAAG,IAAI,CACrB,mBAAmB,GAAG,gCAAgC,GAAG,oCAAoC,EAC7F,KAAK,CACN,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpB,KAAK,oBAAoB,GAAG;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAE/C,KAAK,qBAAqB,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,QAAQ,GAAG,cAAc,CAAC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,oBAAoB,CAAC;AAEzB,KAAK,QAAQ,GAAG,CAAC,UAAU,EAAE,qBAAqB,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;AACnE,KAAK,SAAS,GAAG,CAAC,UAAU,EAAE,qBAAqB,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;AACpE,KAAK,MAAM,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,CAAC;AAChC,KAAK,IAAI,GAAG,CAAC,EACX,WAAW,EACX,QAAQ,GACT,EAAE;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEvB,KAAK,sBAAsB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,UAAU,CAAC;AACxF,KAAK,KAAK,GAAG,CAAC,EACZ,MAAM,EACN,WAAW,EACX,YAAY,EACZ,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GACtB,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACpD,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACjD,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACjD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;CAChD,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEjC,KAAK,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvC,KAAK,+BAA+B,GAAG;IACrC,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACpD,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACjD,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACjD,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;CAChD,CAAC;AAEF,KAAK,qBAAqB,GAAG,CAC3B,UAAU,EAAE,+BAA+B,KACxC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEhC,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1D,KAAK,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnC,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,wBAAwB,CAQzB;IAEP,OAAO,CAAC,cAAc,CAAsC;IAE5D,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,cAAc,CAAqC;IAE3D,OAAO,CAAC,SAAS,CAAgC;IAEjD,OAAO,CAAC,kBAAkB,CAAmE;IAE7F,OAAO,CAAC,mBAAmB,CAAqE;IAEhG,OAAO,CAAC,qBAAqB,CAAmD;IAEhF,OAAO,CAAC,cAAc,CAA2D;IAEjF,OAAO,CAAC,eAAe,CAA6D;IAEpF,OAAO,CAAC,iBAAiB,CAGvB;IAEF,OAAO,CAAC,mBAAmB,CAAqE;IAEhG,OAAO,CAAC,eAAe,CAErB;IAEF,+BAA+B,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,8BAA8B,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC;IAE7D,EAAE,CAAC,EAAE,EAAE,CAAC;IAER,OAAO,CAAC,EAAE,UAAU,CAAC;IAErB,eAAe,CAAC,EAAE,UAAU,CAAC;IAE7B,0BAA0B,CAAC,EAAE,WAAW,CAAC;IAEzC,MAAM,CAAC,EAAE,kBAAkB,CAAC;gBAEhB,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAsDxC,OAAO,EAAE,QAAQ,CAIf;IAEF,QAAQ,EAAE,SAAS,CAEjB;IAEF,GAAG,EAAE,IAAI,CAEP;IAEF,IAAI,EAAE,KAAK,CAET;IAEF,UAAU,EAAE,WAAW,CAIrB;IAEF,oBAAoB,EAAE,qBAAqB,CAEzC;IAEF,QAAQ,EAAE,SAAS,CAEjB;IAEF,MAAM,EAAE,OAAO,CAIb;IAEF,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC;IAYpC,UAAU,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAWxC,WAAW,mCAcT;IAEF,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBxF,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3D,kBAAkB,CAChB,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE;QACR,cAAc,EAAE,OAAO,CAAC;QACxB,UAAU,EAAE,OAAO,CAAC;QACpB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;KAChD,GACA,OAAO,CAAC,IAAI,CAAC;IAQhB,qBAAqB;;2BAoBnB;IAEF,gBAAgB,yBAEd;IAEF,qBAAqB,aAEnB;IAEF,wBAAwB,CACtB,OAAO,GAAE,sBAAuD,GAC/D,OAAO,CAAC,IAAI,CAAC;IAqBhB,IAAI,qBAAqB,IAAI,OAAO,CAEnC;IAED,iBAAiB,CACf,MAAM,EAAE,WAAW,EACnB,EACE,cAAqB,EACrB,KAAa,EACb,UAAU,EACV,qBAAqB,GACtB,GAAE;QACD,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;KAC3C,GACL,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;IA0D9B,gBAAgB,CAAC,EACf,KAAa,GACd,GAAE;QACD,KAAK,CAAC,EAAE,OAAO,CAAC;KACZ,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAqCpC,kBAAkB,IAAI,IAAI;IAO1B,mBAAmB,4BAA6B,uBAAuB,UAkBrE;IAEF,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,KAAA;IAI/B,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,KAAA;IAIjC,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,OAAO,KAAA;IAIxC,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,KAAA;IAIhC,SAAS,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,KAAA;IAI3C,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,KAAA;IAI7C,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,OAAO,KAAA;IAIpD,WAAW,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IAInD,UAAU,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,KAAA;IAI5C,YAAY;IAIZ,0BAA0B;;;;;;;;;IAI1B,gBAAgB,IAAI,WAAW,EAAE,GAAG,SAAS;IAiB7C,IAAI,UAAU,IAAI,iBAAiB,GAAG,SAAS,CAI9C;IAED,IAAI,gBAAgB;;;;;MAUnB;IAED,IAAI,SAAS,YAOZ;IAED,IAAI,kBAAkB,IAAI,UAAU,GAAG,SAAS,CAE/C;IAED,IAAI,YAAY,QAEf;IAED,IAAI,gBAAgB,YAEnB;IAED,IAAI,YAAY,YAEf;IAED,IAAI,uBAAuB,YAE1B;IAED,QAAQ,EAAE,QAAQ,CAIhB;IAEF,SAAS,EAAE,SAAS,CAwFlB;IAEF,KAAK,CAAC,EAAE,YAAY,EAAE,qBAAqB,EAAE;;;KAAA;IAK7C,MAAM,EAAE,MAAM,CAgCZ;IAEF,IAAI,EAAE,IAAI,CA6BR;IAEF,gCAAgC,EAAE,WAAW,CAE3C;IAEF,WAAW,sBAuBT;IAEF,KAAK,EAAE,KAAK,CAoCV;IAEF,OAAO,EAAE,qBAAqB,CA2D5B;IAEF,WAAW;;UAA0C,QAAQ,iBAAiB,CAAC,CAkD7E;IAEF,eAAe,EAAE,MAAM,IAAI,CAMzB;IAEF,SAAS,EAAE,SAAS,CAqBlB;IAEF,eAAe,CAAC,UAAU,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,gBAAgB,GAAG,WAAW;IAezF,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,GAAG,WAAW;IAY/D,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,WAAW,EAAE;IAwBjE,qBAAqB,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,WAAW,EAAE;IAQtE,4BAA4B,EAAE,OAAO,CAcnC;IAEF,eAAe;IAMf,sBAAsB;IAItB,mBAAmB;IAKnB,sBAAsB;IAKtB,iBAAiB,2BAef;IAEF,qBAAqB,YAAa,eAAe,UAY/C;IAEF,aAAa,WAAY,WAAW,UA0ClC;IAEF,uCAAuC,oBAEpC,oCAAoC,UASrC;IAEF,mCAAmC,mBAAoB,gCAAgC,UAMrF;IAEF,4BAA4B,mCAAoC,kBAAkB,UAOhF;IAEF,4BAA4B,mCAAoC,kBAAkB,UAOhF;IAEF,4BAA4B,aAE1B;IAEF,4BAA4B,aAE1B;IAEF,wCAAwC,gDAErC,iCAAiC,UAWlC;IAEF,sBAAsB,iBAAkB,mBAAmB,UAUzD;IAEF,0CAA0C,8BAEvC,kCAAkC,UAMnC;IAEF,uCAAuC,8BAEpC,+BAA+B,UAMhC;IAEF,sCAAsC,8BAEnC,8BAA8B,UAM/B;IAEF,iBAAiB,YAAa,eAAe,UAI3C;IAEF,kBAAkB,YAAa,eAAe,UAI5C;IAEF,sBAAsB,YAAa,eAAe,UAuBhD;IAEF,kBAAkB,YAAa,eAAe,UAU5C;IAEF,kBAAkB,YAAa,eAAe,UAI5C;IAEF,cAAc,SAAU,iBAAiB,GAAG,iBAAiB,UAoC3D;IAEF,eAAe;iBAA4B,eAAe;eAExD;IAEF,kBAAkB,YAAa,eAAe,UAQ5C;IAEF,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAIlC,kBAAkB,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;IAIxD,YAAY,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAezE,cAAc,CACZ,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,WAAW,EACzB,OAAO,GAAE,sBAAuD,GAC/D,OAAO,CAAC,IAAI,CAAC;IAiBhB,YAAY,UAAW,YAAY,UAQjC;CACH"}
|
package/dist/SipConnector.js
CHANGED
|
@@ -34,23 +34,23 @@ var EEventsMainCAM;
|
|
|
34
34
|
EEventsMainCAM["MAX_MAIN_CAM_RESOLUTION"] = "MAXMAINCAMRESOLUTION";
|
|
35
35
|
EEventsMainCAM["ADMIN_STOP_MAIN_CAM"] = "ADMINSTOPMAINCAM";
|
|
36
36
|
EEventsMainCAM["ADMIN_START_MAIN_CAM"] = "ADMINSTARTMAINCAM";
|
|
37
|
-
})(EEventsMainCAM
|
|
37
|
+
})(EEventsMainCAM || (exports.EEventsMainCAM = EEventsMainCAM = {}));
|
|
38
38
|
var EEventsMic;
|
|
39
39
|
(function (EEventsMic) {
|
|
40
40
|
EEventsMic["ADMIN_STOP_MIC"] = "ADMINSTOPMIC";
|
|
41
41
|
EEventsMic["ADMIN_START_MIC"] = "ADMINSTARTMIC";
|
|
42
|
-
})(EEventsMic
|
|
42
|
+
})(EEventsMic || (exports.EEventsMic = EEventsMic = {}));
|
|
43
43
|
var EEventsSyncMediaState;
|
|
44
44
|
(function (EEventsSyncMediaState) {
|
|
45
45
|
EEventsSyncMediaState["ADMIN_SYNC_FORCED"] = "1";
|
|
46
46
|
EEventsSyncMediaState["ADMIN_SYNC_NOT_FORCED"] = "0";
|
|
47
|
-
})(EEventsSyncMediaState
|
|
47
|
+
})(EEventsSyncMediaState || (exports.EEventsSyncMediaState = EEventsSyncMediaState = {}));
|
|
48
48
|
var EUseLicense;
|
|
49
49
|
(function (EUseLicense) {
|
|
50
50
|
EUseLicense["AUDIO"] = "AUDIO";
|
|
51
51
|
EUseLicense["VIDEO"] = "VIDEO";
|
|
52
52
|
EUseLicense["AUDIOPLUSPRESENTATION"] = "AUDIOPLUSPRESENTATION";
|
|
53
|
-
})(EUseLicense
|
|
53
|
+
})(EUseLicense || (exports.EUseLicense = EUseLicense = {}));
|
|
54
54
|
const hasCanceledCallError = (error = new Error()) => {
|
|
55
55
|
const { originator, cause } = error;
|
|
56
56
|
if ((0, cancelable_promise_1.isCanceledError)(error)) {
|
|
@@ -84,7 +84,6 @@ class SipConnector {
|
|
|
84
84
|
this.getSipServerUrl = (id) => {
|
|
85
85
|
return id;
|
|
86
86
|
};
|
|
87
|
-
this.isPendingPresentation = false;
|
|
88
87
|
this.connect = (data) => {
|
|
89
88
|
this._cancelRequests();
|
|
90
89
|
return this._cancelableConnect.request(data);
|
|
@@ -788,19 +787,23 @@ class SipConnector {
|
|
|
788
787
|
return;
|
|
789
788
|
});
|
|
790
789
|
}
|
|
790
|
+
get isPendingPresentation() {
|
|
791
|
+
return !!this.promisePendingStartPresentation || !!this.promisePendingStopPresentation;
|
|
792
|
+
}
|
|
791
793
|
startPresentation(stream, { isNeedReinvite = true, isP2P = false, maxBitrate, degradationPreference, } = {}) {
|
|
792
794
|
const session = this.establishedSession;
|
|
793
795
|
if (!session) {
|
|
794
796
|
return Promise.reject(new Error('No session established'));
|
|
795
797
|
}
|
|
796
|
-
this.
|
|
798
|
+
if (this._streamPresentationCurrent) {
|
|
799
|
+
return Promise.reject(new Error('Presentation is already started'));
|
|
800
|
+
}
|
|
797
801
|
const streamPresentationCurrent = (0, utils_1.prepareMediaStream)(stream);
|
|
798
802
|
this._streamPresentationCurrent = streamPresentationCurrent;
|
|
799
|
-
let result = Promise.resolve();
|
|
800
803
|
const preparatoryHeaders = isP2P
|
|
801
804
|
? [headers_1.HEADER_START_PRESENTATION_P2P]
|
|
802
805
|
: [headers_1.HEADER_START_PRESENTATION];
|
|
803
|
-
result = session
|
|
806
|
+
const result = session
|
|
804
807
|
.sendInfo(headers_1.CONTENT_TYPE_SHARE_STATE, undefined, {
|
|
805
808
|
extraHeaders: preparatoryHeaders,
|
|
806
809
|
})
|
|
@@ -823,20 +826,22 @@ class SipConnector {
|
|
|
823
826
|
this._sessionEvents.trigger(constants_1.PRESENTATION_FAILED, error);
|
|
824
827
|
throw error;
|
|
825
828
|
});
|
|
829
|
+
this.promisePendingStartPresentation = result;
|
|
826
830
|
return result.finally(() => {
|
|
827
|
-
this.
|
|
831
|
+
this.promisePendingStartPresentation = undefined;
|
|
828
832
|
});
|
|
829
833
|
}
|
|
830
834
|
stopPresentation({ isP2P = false, } = {}) {
|
|
831
|
-
this.isPendingPresentation = true;
|
|
832
835
|
const streamPresentationPrev = this._streamPresentationCurrent;
|
|
833
|
-
let result = Promise.resolve();
|
|
836
|
+
let result = this.promisePendingStartPresentation || Promise.resolve();
|
|
834
837
|
const preparatoryHeaders = isP2P ? [headers_1.HEADER_STOP_PRESENTATION_P2P] : [headers_1.HEADER_STOP_PRESENTATION];
|
|
835
838
|
const session = this.establishedSession;
|
|
836
839
|
if (session && streamPresentationPrev) {
|
|
837
|
-
result =
|
|
838
|
-
.
|
|
839
|
-
|
|
840
|
+
result = result
|
|
841
|
+
.then(() => {
|
|
842
|
+
return session.sendInfo(headers_1.CONTENT_TYPE_SHARE_STATE, undefined, {
|
|
843
|
+
extraHeaders: preparatoryHeaders,
|
|
844
|
+
});
|
|
840
845
|
})
|
|
841
846
|
.then(() => {
|
|
842
847
|
return session.stopPresentation(streamPresentationPrev);
|
|
@@ -849,13 +854,15 @@ class SipConnector {
|
|
|
849
854
|
if (!session && streamPresentationPrev) {
|
|
850
855
|
this._sessionEvents.trigger(constants_1.PRESENTATION_ENDED, streamPresentationPrev);
|
|
851
856
|
}
|
|
857
|
+
this.promisePendingStopPresentation = result;
|
|
852
858
|
return result.finally(() => {
|
|
853
859
|
this._resetPresentation();
|
|
854
860
|
});
|
|
855
861
|
}
|
|
856
862
|
_resetPresentation() {
|
|
857
863
|
delete this._streamPresentationCurrent;
|
|
858
|
-
this.
|
|
864
|
+
this.promisePendingStartPresentation = undefined;
|
|
865
|
+
this.promisePendingStopPresentation = undefined;
|
|
859
866
|
}
|
|
860
867
|
on(eventName, handler) {
|
|
861
868
|
return this._uaEvents.on(eventName, handler);
|
package/dist/SipConnector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SipConnector.js","sourceRoot":"","sources":["../src/SipConnector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SipConnector.js","sourceRoot":"","sources":["../src/SipConnector.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import getCodecFromSender from './utils/getCodecFromSender';
|
|
2
|
-
import SipConnector, { hasCanceledCallError } from './SipConnector';
|
|
2
|
+
import SipConnector, { hasCanceledCallError, EUseLicense } from './SipConnector';
|
|
3
3
|
import resolveVideoSendingBalancer from './videoSendingBalancer';
|
|
4
4
|
import * as causes from './causes';
|
|
5
5
|
import * as eventNames from './eventNames';
|
|
6
|
-
export { causes, eventNames, hasCanceledCallError, resolveVideoSendingBalancer, getCodecFromSender, };
|
|
6
|
+
export { causes, eventNames, hasCanceledCallError, EUseLicense, resolveVideoSendingBalancer, getCodecFromSender, };
|
|
7
7
|
export default SipConnector;
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,YAAY,EAAE,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,YAAY,EAAE,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,2BAA2B,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,OAAO,EACL,MAAM,EACN,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,2BAA2B,EAC3B,kBAAkB,GACnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
package/dist/index.es5.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{CancelableRequest as e,isCanceledError as t}from"@krivega/cancelable-promise";import i from"events-constructor";import n from"stack-promises";const s=e=>e.getStats().then((e=>{const t=(i="codec",(e=>[...e.keys()].map((t=>e.get(t))))(e).find((e=>e.type===i)));var i;return null==t?void 0:t.mimeType}));function r(e,t,i,n){return new(i||(i=Promise))((function(s,r){function o(e){try{c(n.next(e))}catch(e){r(e)}}function a(e){try{c(n.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))}const o=e=>(t,i)=>void 0!==i&&t!==i||void 0===i&&t!==e,a=o(1),c=o(void 0),d=(e,t,i)=>{const n=e.getParameters();n.encodings&&0!==n.encodings.length||(n.encodings=[{}]);const[s]=n.encodings,r=s.scaleResolutionDownBy,o=((e,t)=>{const i=void 0!==e?Math.max(e,1):null;if(null!==i&&a(i,t))return i})(t.scaleResolutionDownBy,r);let d=!1;void 0!==o&&(n.encodings[0].scaleResolutionDownBy=o,d=!0);const h=s.maxBitrate,l=((e,t)=>{if(c(e,t))return e})(t.maxBitrate,h);return void 0!==l&&(n.encodings[0].maxBitrate=l,d=!0),d?(i&&i(n),e.setParameters(n).then((()=>({parameters:n,isChanged:d})))):Promise.resolve({parameters:n,isChanged:d})},h=["incomingCall","declinedIncomingCall","terminatedIncomingCall","failedIncomingCall","participant:canceling-word-request","participant:move-request-to-stream","participant:move-request-to-conference","channels:notify","conference:participant-token-issued","account:changed","account:deleted","webcast:started","webcast:stopped","participant:added-to-list-moderators","participant:removed-from-list-moderators"],l=["connecting","connected","disconnected","newRTCSession","registered","unregistered","registrationFailed","newMessage","sipEvent"],u=["availableSecondRemoteStream","notAvailableSecondRemoteStream","mustStopPresentation","shareState","enterRoom","useLicense","peerconnection:confirmed","peerconnection:ontrack","channels","ended:fromserver","main-cam-control","admin-start-main-cam","admin-stop-main-cam","admin-stop-mic","admin-start-mic","admin-force-sync-media-state"],g=["ended","connecting","sending","reinvite","replaces","refer","progress","accepted","confirmed","peerconnection","failed","muted","unmuted","newDTMF","newInfo","hold","unhold","update","sdp","icecandidate","getusermediafailed","peerconnection:createofferfailed","peerconnection:createanswerfailed","peerconnection:setlocaldescriptionfailed","peerconnection:setremotedescriptionfailed","presentation:start","presentation:started","presentation:end","presentation:ended","presentation:failed"],m=[...l,...h],_=[...g,...u];var S=Object.freeze({__proto__:null,UA_SYNTHETICS_EVENT_NAMES:h,UA_JSSIP_EVENT_NAMES:l,SESSION_SYNTHETICS_EVENT_NAMES:u,SESSION_JSSIP_EVENT_NAMES:g,UA_EVENT_NAMES:m,SESSION_EVENT_NAMES:_});const f="Terminated";var E=Object.freeze({__proto__:null,CONNECTION_ERROR:"Connection Error",REQUEST_TIMEOUT:"Request Timeout",SIP_FAILURE_CODE:"SIP Failure Code",INTERNAL_ERROR:"Internal Error",BUSY:"Busy",REJECTED:"Rejected",REDIRECTED:"Redirected",UNAVAILABLE:"Unavailable",NOT_FOUND:"Not Found",ADDRESS_INCOMPLETE:"Address Incomplete",INCOMPATIBLE_SDP:"Incompatible SDP",MISSING_SDP:"Missing SDP",AUTHENTICATION_ERROR:"Authentication Error",BYE:f,WEBRTC_ERROR:"WebRTC Error",CANCELED:"Canceled",NO_ANSWER:"No Answer",EXPIRES:"Expires",NO_ACK:"No ACK",DIALOG_ERROR:"Dialog Error",USER_DENIED_MEDIA_ACCESS:"User Denied Media Access",BAD_MEDIA_DESCRIPTION:"Bad Media Description",RTP_TIMEOUT:"RTP Timeout"});const v=e=>e.trim().replace(/ /g,"_"),C=(p=1e5,N=99999999,()=>Math.floor(Math.random()*(N-p))+p);var p,N;const R=(e,{videoMode:t,audioMode:i}={})=>{if(!e||"recvonly"===t&&"recvonly"===i)return;const n=[..."recvonly"===i?[]:e.getAudioTracks(),..."recvonly"===t?[]:e.getVideoTracks()],s=new MediaStream(n);return s.getTracks=()=>[...s.getAudioTracks(),...s.getVideoTracks()],s};var T,A,M,w;!function(e){e.PAUSE_MAIN_CAM="PAUSEMAINCAM",e.RESUME_MAIN_CAM="RESUMEMAINCAM",e.MAX_MAIN_CAM_RESOLUTION="MAXMAINCAMRESOLUTION",e.ADMIN_STOP_MAIN_CAM="ADMINSTOPMAINCAM",e.ADMIN_START_MAIN_CAM="ADMINSTARTMAINCAM"}(T||(T={})),function(e){e.ADMIN_STOP_MIC="ADMINSTOPMIC",e.ADMIN_START_MIC="ADMINSTARTMIC"}(A||(A={})),function(e){e.ADMIN_SYNC_FORCED="1",e.ADMIN_SYNC_NOT_FORCED="0"}(M||(M={})),function(e){e.AUDIO="AUDIO",e.VIDEO="VIDEO",e.AUDIOPLUSPRESENTATION="AUDIOPLUSPRESENTATION"}(w||(w={}));const I=(e=new Error)=>{const{originator:i,cause:n}=e;return!!t(e)||"string"==typeof n&&("Request Timeout"===n||"Rejected"===n||"local"===i&&("Canceled"===n||n===f))},b="SipConnector";class P{constructor({JsSIP:t}){this._isRegisterConfig=!1,this._connectionConfiguration={},this._remoteStreams={},this.getSipServerUrl=e=>e,this.isPendingPresentation=!1,this.connect=e=>(this._cancelRequests(),this._cancelableConnect.request(e)),this.createUa=e=>this._cancelableCreateUa.request(e),this.set=e=>this._cancelableSet.request(e),this.call=e=>this._cancelableCall.request(e),this.disconnect=()=>(this._cancelRequests(),this._disconnectWithoutCancelRequests()),this.answerToIncomingCall=e=>this._cancelableAnswer.request(e),this.sendDTMF=e=>this._cancelableSendDTMF.request(e),this.hangUp=()=>(this._cancelRequests(),this._hangUpWithoutCancelRequests()),this.tryRegister=()=>this.isRegisterConfig?(this._uaEvents.trigger("connecting",void 0),this.unregister().finally((()=>this.register())).finally((()=>{}))):Promise.reject(new Error("Config is not registered")),this.declineToIncomingCall=({statusCode:e=487}={})=>new Promise(((t,i)=>{if(!this.isAvailableIncomingCall)return void i(new Error("no incomingSession"));const n=this.incomingSession,s=this.remoteCallerData;this._cancelableCall.cancelRequest(),this._cancelableAnswer.cancelRequest(),this.removeIncomingSession(),this._uaEvents.trigger("declinedIncomingCall",s),t(n.terminate({status_code:e}))})),this.busyIncomingCall=()=>this.declineToIncomingCall({statusCode:486}),this.removeIncomingSession=()=>{delete this.incomingSession},this.handleNewRTCSession=({originator:e,session:t})=>{if("remote"===e){this.incomingSession=t;const e=this.remoteCallerData;t.on("failed",(({originator:t})=>{this.removeIncomingSession(),"local"!==t?this._uaEvents.trigger("failedIncomingCall",e):this._uaEvents.trigger("terminatedIncomingCall",e)})),this._uaEvents.trigger("incomingCall",e)}},this._connect=e=>this.createUa(e).then((()=>this._start())),this._createUa=({displayName:e="",user:t,password:i,register:n=!1,sipServerUrl:s,sipWebSocketServerURL:o,remoteAddress:a,extraHeaders:c=[],sdpSemantics:d="plan-b",sessionTimers:h=!1,registerExpires:u=300,connectionRecoveryMinInterval:g=2,connectionRecoveryMaxInterval:m=6,userAgent:_})=>r(this,void 0,void 0,(function*(){if(!s)throw new Error("sipServerUrl is required");if(!o)throw new Error("sipWebSocketServerURL is required");if(n&&!t)throw new Error("user is required for authorized connection");if(n&&!i)throw new Error("password is required for authorized connection");let r;this._connectionConfiguration={sipServerUrl:s,displayName:e,register:n,user:t,password:i},this._init({sipServerUrl:s,sipWebSocketServerURL:o}),r=n&&t?t.trim():C();const S={password:i,register:n,display_name:v(e),user_agent:_,sdp_semantics:d,sockets:[this.socket],uri:this.getSipServerUrl(r),session_timers:h,register_expires:u,connection_recovery_min_interval:g,connection_recovery_max_interval:m};this.ua&&(yield this._disconnectWithoutCancelRequests()),this._isRegisterConfig=!!S.register,this.ua=new this.JsSIP.UA(S),this._uaEvents.eachTriggers(((e,t)=>{const i=l.find((e=>e===t));i&&this.ua.on(i,e)}));const f=(e=>{const t=[];return e&&t.push(`X-Vinteo-Remote: ${e}`),t})(a),E=[...f,...c];return this.ua.registrator().setExtraHeaders(E),this.ua})),this._start=()=>new Promise(((e,t)=>{const i=()=>{s(),e(this.ua)},n=e=>{s(),t(e)},s=()=>{this.off("registered",i),this.off("registrationFailed",n),this.off("connected",i),this.off("disconnected",n)};(()=>{this.isRegisterConfig?(this.on("registered",i),this.on("registrationFailed",n)):this.on("connected",i),this.on("disconnected",n)})(),this.on("newRTCSession",this.handleNewRTCSession),this.ua.start()})),this._set=({displayName:e,password:t})=>new Promise(((i,n)=>{let s=!1,r=!1;void 0!==e&&e!==this._connectionConfiguration.displayName&&(s=this.ua.set("display_name",v(e)),this._connectionConfiguration.displayName=e),void 0!==t&&t!==this._connectionConfiguration.password&&(r=this.ua.set("password",t),this._connectionConfiguration.password=t);const o=s||r;r&&this.isRegisterConfig?this.register().then((()=>i(o))).catch(n):o?i(o):n(o)})),this._disconnectWithoutCancelRequests=()=>this._cancelableDisconnect.request(),this._disconnect=()=>r(this,void 0,void 0,(function*(){this.off("newRTCSession",this.handleNewRTCSession);const e=new Promise((e=>{this.once("disconnected",(()=>{delete this.ua,e()}))}));return this.ua?(yield this._hangUpWithoutCancelRequests(),this.ua?this.ua.stop():this._uaEvents.trigger("disconnected",void 0)):this._uaEvents.trigger("disconnected",void 0),e})),this._call=({number:e,mediaStream:t,extraHeaders:i=[],ontrack:n,iceServers:s,videoMode:r,audioMode:o,degradationPreference:a,offerToReceiveAudio:c=!0,offerToReceiveVideo:d=!0})=>new Promise(((h,l)=>{this._connectionConfiguration.number=e,this._connectionConfiguration.answer=!1,this._handleCall({ontrack:n}).then(h).catch(l),this.session=this.ua.call(this.getSipServerUrl(e),{extraHeaders:i,mediaStream:R(t,{videoMode:r,audioMode:o}),eventHandlers:this._sessionEvents.triggers,videoMode:r,audioMode:o,degradationPreference:a,pcConfig:{iceServers:s},rtcOfferConstraints:{offerToReceiveAudio:c,offerToReceiveVideo:d}})})),this._answer=({mediaStream:e,ontrack:t,extraHeaders:i=[],iceServers:n,videoMode:s,audioMode:r,degradationPreference:o})=>new Promise(((a,c)=>{if(!this.isAvailableIncomingCall)return void c(new Error("no incomingSession"));this.session=this.incomingSession,this.removeIncomingSession();const d=this.session;if(!d)return void c(new Error("No session established"));this._sessionEvents.eachTriggers(((e,t)=>{const i=g.find((e=>e===t));i&&d.on(i,e)})),this._connectionConfiguration.answer=!0,this._connectionConfiguration.number=d.remote_identity.uri.user,this._handleCall({ontrack:t}).then(a).catch(c);const h=R(e,{videoMode:s,audioMode:r});d.answer({extraHeaders:i,videoMode:s,audioMode:r,degradationPreference:o,mediaStream:h,pcConfig:{iceServers:n}})})),this._handleCall=({ontrack:e})=>new Promise(((t,i)=>{const n=()=>{this.offSession("peerconnection",a),this.offSession("confirmed",c)},s=()=>{this.offSession("failed",r),this.offSession("ended",r)},r=e=>{n(),s(),i(e)};let o;const a=({peerconnection:t})=>{o=t,o.ontrack=t=>{this._sessionEvents.trigger("peerconnection:ontrack",o),e&&e(t)}},c=()=>{o&&this._sessionEvents.trigger("peerconnection:confirmed",o),n(),s(),t(o)};(()=>{this.onSession("peerconnection",a),this.onSession("confirmed",c)})(),(()=>{this.onSession("failed",r),this.onSession("ended",r)})()})),this._restoreSession=()=>{this._resetPresentation(),delete this._connectionConfiguration.number,delete this.session,this._remoteStreams={}},this._sendDTMF=e=>new Promise(((t,i)=>{const n=this.session;n?(this.onceSession("newDTMF",(({originator:e})=>{"local"===e&&t()})),n.sendDTMF(e,{duration:120,interToneGap:600})):i(new Error("No session established"))})),this._hangUpWithoutCancelRequests=()=>r(this,void 0,void 0,(function*(){if(this.ua&&this.session){const{session:e}=this;this._streamPresentationCurrent&&(yield this.stopPresentation()),this._restoreSession(),e.isEnded()||e.terminate()}})),this._handleShareState=e=>{switch(e){case"YOUCANRECEIVECONTENT":this._sessionEvents.trigger("availableSecondRemoteStream",void 0);break;case"CONTENTEND":this._sessionEvents.trigger("notAvailableSecondRemoteStream",void 0);break;case"YOUMUSTSTOPSENDCONTENT":this._sessionEvents.trigger("mustStopPresentation",void 0)}},this._maybeTriggerChannels=e=>{const t=e.getHeader("X-WEBRTC-INPUT-CHANNELS"),i=e.getHeader("X-WEBRTC-OUTPUT-CHANNELS");if(t&&i){const e={inputChannels:t,outputChannels:i};this._sessionEvents.trigger("channels",e)}},this._handleNotify=e=>{if("channels"===e.cmd){const t=e;this._triggerChannelsNotify(t)}else if("WebcastStarted"===e.cmd){const t=e;this._triggerWebcastStartedNotify(t)}else if("WebcastStopped"===e.cmd){const t=e;this._triggerWebcastStoppedNotify(t)}else if("addedToListModerators"===e.cmd){const t=e;this._triggerAddedToListModeratorsNotify(t)}else if("removedFromListModerators"===e.cmd){const t=e;this._triggerRemovedFromListModeratorsNotify(t)}else if("WebcastParticipationAccepted"===e.cmd){const t=e;this._triggerParticipantMoveRequestToConference(t)}else if("WebcastParticipationRejected"===e.cmd){const t=e;this._triggerParticipantCancelingWordRequest(t)}else if("ParticipantMovedToWebcast"===e.cmd){const t=e;this._triggerParticipantMoveRequestToStream(t)}else if("accountChanged"===e.cmd)this._triggerAccountChangedNotify();else if("accountDeleted"===e.cmd)this._triggerAccountDeletedNotify();else if("ConferenceParticipantTokenIssued"===e.cmd){const t=e;this._triggerConferenceParticipantTokenIssued(t)}},this._triggerRemovedFromListModeratorsNotify=({conference:e})=>{const t={conference:e};this._uaEvents.trigger("participant:removed-from-list-moderators",t)},this._triggerAddedToListModeratorsNotify=({conference:e})=>{const t={conference:e};this._uaEvents.trigger("participant:added-to-list-moderators",t)},this._triggerWebcastStartedNotify=({body:{conference:e,type:t}})=>{const i={conference:e,type:t};this._uaEvents.trigger("webcast:started",i)},this._triggerWebcastStoppedNotify=({body:{conference:e,type:t}})=>{const i={conference:e,type:t};this._uaEvents.trigger("webcast:stopped",i)},this._triggerAccountChangedNotify=()=>{this._uaEvents.trigger("account:changed",void 0)},this._triggerAccountDeletedNotify=()=>{this._uaEvents.trigger("account:deleted",void 0)},this._triggerConferenceParticipantTokenIssued=({body:{conference:e,participant:t,jwt:i}})=>{const n={conference:e,participant:t,jwt:i};this._uaEvents.trigger("conference:participant-token-issued",n)},this._triggerChannelsNotify=e=>{const t={inputChannels:e.input,outputChannels:e.output};this._uaEvents.trigger("channels:notify",t)},this._triggerParticipantMoveRequestToConference=({body:{conference:e}})=>{const t={conference:e};this._uaEvents.trigger("participant:move-request-to-conference",t)},this._triggerParticipantCancelingWordRequest=({body:{conference:e}})=>{const t={conference:e};this._uaEvents.trigger("participant:canceling-word-request",t)},this._triggerParticipantMoveRequestToStream=({body:{conference:e}})=>{const t={conference:e};this._uaEvents.trigger("participant:move-request-to-stream",t)},this._triggerEnterRoom=e=>{const t=e.getHeader("x-webrtc-enter-room");this._sessionEvents.trigger("enterRoom",t)},this._triggerShareState=e=>{const t=e.getHeader("x-webrtc-share-state");this._sessionEvents.trigger("shareState",t)},this._triggerMainCamControl=e=>{const t=e.getHeader("X-WEBRTC-MAINCAM"),i=e.getHeader("X-WEBRTC-SYNC"),n=i===M.ADMIN_SYNC_FORCED;if(t===T.ADMIN_START_MAIN_CAM)this._sessionEvents.trigger("admin-start-main-cam",{isSyncForced:n});else if(t===T.ADMIN_STOP_MAIN_CAM)this._sessionEvents.trigger("admin-stop-main-cam",{isSyncForced:n});else if(t!==T.RESUME_MAIN_CAM&&t!==T.PAUSE_MAIN_CAM||!i){const i=e.getHeader("X-WEBRTC-MAINCAM-RESOLUTION");this._sessionEvents.trigger("main-cam-control",{mainCam:t,resolutionMainCam:i})}else this._sessionEvents.trigger("admin-force-sync-media-state",{isSyncForced:n})},this._triggerMicControl=e=>{const t=e.getHeader("X-WEBRTC-MIC"),i=e.getHeader("X-WEBRTC-SYNC")===M.ADMIN_SYNC_FORCED;t===A.ADMIN_START_MIC?this._sessionEvents.trigger("admin-start-mic",{isSyncForced:i}):t===A.ADMIN_STOP_MIC&&this._sessionEvents.trigger("admin-stop-mic",{isSyncForced:i})},this._triggerUseLicense=e=>{const t=e.getHeader("X-WEBRTC-USE-LICENSE");this._sessionEvents.trigger("useLicense",t)},this._handleNewInfo=e=>{const{originator:t}=e;if("remote"!==t)return;const i=e.request,n=i.getHeader("content-type");if(n)switch(n){case"application/vinteo.webrtc.roomname":this._triggerEnterRoom(i),this._maybeTriggerChannels(i);break;case"application/vinteo.webrtc.notify":this._maybeHandleNotify(i);break;case"application/vinteo.webrtc.sharedesktop":this._triggerShareState(i);break;case"application/vinteo.webrtc.maincam":this._triggerMainCamControl(i);break;case"application/vinteo.webrtc.mic":this._triggerMicControl(i);break;case"application/vinteo.webrtc.uselic":this._triggerUseLicense(i)}},this._handleSipEvent=({request:e})=>{this._maybeHandleNotify(e)},this._maybeHandleNotify=e=>{const t=e.getHeader("X-VINTEO-NOTIFY");if(t){const e=JSON.parse(t);this._handleNotify(e)}},this._handleEnded=e=>{const{originator:t}=e;"remote"===t&&this._sessionEvents.trigger("ended:fromserver",e),this._restoreSession()},this.JsSIP=t,this._sessionEvents=new i(_),this._uaEvents=new i(m),this._cancelableConnect=new e(this._connect,{moduleName:b,afterCancelRequest:()=>{this._cancelableCreateUa.cancelRequest(),this._cancelableDisconnect.cancelRequest()}}),this._cancelableCreateUa=new e(this._createUa,{moduleName:b}),this._cancelableDisconnect=new e(this._disconnect,{moduleName:b}),this._cancelableSet=new e(this._set,{moduleName:b}),this._cancelableCall=new e(this._call,{moduleName:b}),this._cancelableAnswer=new e(this._answer,{moduleName:b}),this._cancelableSendDTMF=new e(this._sendDTMF,{moduleName:b}),this.onSession("shareState",this._handleShareState),this.onSession("newInfo",this._handleNewInfo),this.on("sipEvent",this._handleSipEvent),this.onSession("failed",this._handleEnded),this.onSession("ended",this._handleEnded)}register(){return new Promise(((e,t)=>{this.isRegisterConfig?(this.ua.on("registered",e),this.ua.on("registrationFailed",t),this.ua.register()):t(new Error("Config is not registered"))}))}unregister(){return new Promise(((e,t)=>{this.isRegistered?(this.ua.on("unregistered",e),this.ua.unregister()):t(new Error("ua is not registered"))}))}sendOptions(e,t,i){return this.ua?new Promise(((n,s)=>{try{this.ua.sendOptions(e,t,{extraHeaders:i,eventHandlers:{succeeded:()=>{n()},failed:e=>{s(e)}}})}catch(e){s(e)}})):Promise.reject(new Error("is not connected"))}ping(e,t){if(!this.ua||!this.ua.configuration||!this.ua.configuration.uri)return Promise.reject(new Error("is not connected"));const i=this.ua.configuration.uri;return this.sendOptions(i,e,t)}replaceMediaStream(e,t){if(!this.session)throw new Error("No session established");return this.session.replaceMediaStream(e,t)}askPermissionToEnableCam(e={noTerminateWhenError:!0}){if(!this.session)throw new Error("No session established");const t=["X-WEBRTC-REQUEST-ENABLE-MEDIA-DEVICE: LETMESTARTMAINCAM"];return this.session.sendInfo("application/vinteo.webrtc.maincam",void 0,Object.assign(Object.assign({},e),{extraHeaders:t})).catch((e=>{if((e=>"Error decline with 603"===e.message)(e))throw e}))}startPresentation(e,{isNeedReinvite:t=!0,isP2P:i=!1,maxBitrate:n,degradationPreference:s}={}){const r=this.establishedSession;if(!r)return Promise.reject(new Error("No session established"));this.isPendingPresentation=!0;const o=R(e);this._streamPresentationCurrent=o;let a=Promise.resolve();const c=i?["x-webrtc-share-state: YOUCANRECEIVECONTENT"]:["x-webrtc-share-state: LETMESTARTPRESENTATION"];return a=r.sendInfo("application/vinteo.webrtc.sharedesktop",void 0,{extraHeaders:c}).then((()=>r.startPresentation(o,t,s))).then((()=>{const{connection:t}=this;if(!t||void 0===n)return;return((e,t,i)=>{const n=((e,t)=>e.find((e=>e.track&&t.getTracks().includes(e.track))))(e,t);return n?d(n,{maxBitrate:i}):Promise.resolve()})(t.getSenders(),e,n)})).then((()=>e)).catch((e=>{throw this._sessionEvents.trigger("presentation:failed",e),e})),a.finally((()=>{this.isPendingPresentation=!1}))}stopPresentation({isP2P:e=!1}={}){this.isPendingPresentation=!0;const t=this._streamPresentationCurrent;let i=Promise.resolve();const n=e?["x-webrtc-share-state: CONTENTEND"]:["x-webrtc-share-state: STOPPRESENTATION"],s=this.establishedSession;return s&&t&&(i=s.sendInfo("application/vinteo.webrtc.sharedesktop",void 0,{extraHeaders:n}).then((()=>s.stopPresentation(t))).catch((e=>{throw this._sessionEvents.trigger("presentation:failed",e),e}))),!s&&t&&this._sessionEvents.trigger("presentation:ended",t),i.finally((()=>{this._resetPresentation()}))}_resetPresentation(){delete this._streamPresentationCurrent,this.isPendingPresentation=!1}on(e,t){return this._uaEvents.on(e,t)}once(e,t){return this._uaEvents.once(e,t)}onceRace(e,t){return this._uaEvents.onceRace(e,t)}wait(e){return this._uaEvents.wait(e)}off(e,t){this._uaEvents.off(e,t)}onSession(e,t){return this._sessionEvents.on(e,t)}onceSession(e,t){return this._sessionEvents.once(e,t)}onceRaceSession(e,t){return this._sessionEvents.onceRace(e,t)}waitSession(e){return this._sessionEvents.wait(e)}offSession(e,t){this._sessionEvents.off(e,t)}isConfigured(){return!!this.ua}getConnectionConfiguration(){return Object.assign({},this._connectionConfiguration)}getRemoteStreams(){if(!this.connection)return;const e=this.connection.getReceivers().map((({track:e})=>e));return(e=>e.some((e=>{const{kind:t}=e;return"video"===t})))(e)?this._generateStreams(e):this._generateAudioStreams(e)}get connection(){var e;return null===(e=null==this?void 0:this.session)||void 0===e?void 0:e.connection}get remoteCallerData(){var e,t,i,n,s,r;return{displayName:null===(t=null===(e=null==this?void 0:this.incomingSession)||void 0===e?void 0:e.remote_identity)||void 0===t?void 0:t.display_name,host:null===(n=null===(i=null==this?void 0:this.incomingSession)||void 0===i?void 0:i.remote_identity)||void 0===n?void 0:n.uri.host,incomingNumber:null===(r=null===(s=null==this?void 0:this.incomingSession)||void 0===s?void 0:s.remote_identity)||void 0===r?void 0:r.uri.user,session:null==this?void 0:this.incomingSession}}get requested(){return this._cancelableConnect.requested||this._cancelableCreateUa.requested||this._cancelableCall.requested||this._cancelableAnswer.requested}get establishedSession(){return this.session&&this.session.isEstablished()?this.session:void 0}get isRegistered(){return!!this.ua&&this.ua.isRegistered()}get isRegisterConfig(){return!!this.ua&&this._isRegisterConfig}get isCallActive(){return!(!this.ua||!this.session)}get isAvailableIncomingCall(){return!!this.incomingSession}_init({sipServerUrl:e,sipWebSocketServerURL:t}){var i;this.getSipServerUrl=(i=e,e=>`sip:${e}@${i}`),this.socket=new this.JsSIP.WebSocketInterface(t)}_generateStream(e,t){const i=e.id,n=this._remoteStreams[i]||new MediaStream;return t&&n.addTrack(t),n.addTrack(e),this._remoteStreams[i]=n,n}_generateAudioStream(e){const t=e.id,i=this._remoteStreams[t]||new MediaStream;return i.addTrack(e),this._remoteStreams[t]=i,i}_generateStreams(e){const t=[];return e.forEach(((i,n)=>{if("audio"===i.kind)return;const s=i,r=e[n-1];let o;r&&"audio"===r.kind&&(o=r);const a=this._generateStream(s,o);t.push(a)}),[]),t}_generateAudioStreams(e){return e.map((e=>this._generateAudioStream(e)))}_cancelRequests(){this._cancelActionsRequests(),this._cancelCallRequests(),this._cancelConnectRequests()}_cancelConnectRequests(){this._cancelableConnect.cancelRequest()}_cancelCallRequests(){this._cancelableCall.cancelRequest(),this._cancelableAnswer.cancelRequest()}_cancelActionsRequests(){this._cancelableAnswer.cancelRequest(),this._cancelableSendDTMF.cancelRequest()}waitChannels(){return this.waitSession("channels")}waitSyncMediaState(){return this.waitSession("admin-force-sync-media-state")}sendChannels({inputChannels:e,outputChannels:t}){if(!this.session)throw new Error("No session established");const i=[`X-WEBRTC-INPUT-CHANNELS: ${e}`,`X-WEBRTC-OUTPUT-CHANNELS: ${t}`];return this.session.sendInfo("application/vinteo.webrtc.channels",void 0,{extraHeaders:i})}sendMediaState({cam:e,mic:t},i={noTerminateWhenError:!0}){if(!this.session)throw new Error("No session established");const n=["X-WEBRTC-MEDIA-STATE: currentstate","X-Vinteo-MainCam-State: "+ +e,"X-Vinteo-Mic-State: "+ +t];return this.session.sendInfo("application/vinteo.webrtc.mediastate",void 0,Object.assign(Object.assign({},i),{extraHeaders:n}))}}const y=e=>1e6*e,D=y(.06),O=y(4),U=n(),k=e=>(U.add(e),U().catch((e=>{console.debug("videoSendingBalancer: error",e)}))),q=({sender:e,scaleResolutionDownBy:t,maxBitrate:i,onSetParameters:n})=>k((()=>d(e,{scaleResolutionDownBy:t,maxBitrate:i},n))),B=(e,{track:t,resolution:i},n)=>{const s=t.getSettings(),r=s.width,o=s.height,[a,c]=i.split("x"),d=r/+a,h=o/+c,l=Math.max(d,h,1),u=(g=+a)<=64?D:g<=128?y(.12):g<=256?y(.25):g<=384?y(.32):g<=426?y(.38):g<=640?y(.5):g<=848?y(.7):g<=1280?y(1):g<=1920?y(2):O;var g;return q({sender:e,maxBitrate:u,onSetParameters:n,scaleResolutionDownBy:l})},x=({mainCam:e,resolutionMainCam:t,sender:i,track:n},s)=>{switch(e){case T.PAUSE_MAIN_CAM:return((e,t)=>q({sender:e,maxBitrate:D,onSetParameters:t,scaleResolutionDownBy:200}))(i,s);case T.RESUME_MAIN_CAM:return((e,t)=>q({sender:e,maxBitrate:O,onSetParameters:t,scaleResolutionDownBy:1}))(i,s);case T.MAX_MAIN_CAM_RESOLUTION:if(t)return B(i,{track:n,resolution:t},s)}return Promise.resolve({isChanged:!1,parameters:{encodings:[{}],transactionId:"0",codecs:[],headerExtensions:[],rtcp:{}}})},W=(e,{ignoreForCodec:t,onSetParameters:i}={})=>{let n=()=>{};const o=o=>{n=()=>{const{mainCam:n,resolutionMainCam:a}=o,{connection:c}=e;c&&void 0!==n&&(({mainCam:e,resolutionMainCam:t,connection:i,onSetParameters:n,ignoreForCodec:o})=>{r(void 0,void 0,void 0,(function*(){const r=i.getSenders().find((e=>{var t;return"video"===(null===(t=null==e?void 0:e.track)||void 0===t?void 0:t.kind)}));if(r&&r.track){if(o){const e=yield s(r);if(c=o,(a=e)&&c&&a.toLowerCase().includes(c.toLowerCase()))return}var a,c;x({mainCam:e,resolutionMainCam:t,sender:r,track:r.track},n)}}))})({mainCam:n,resolutionMainCam:a,connection:c,onSetParameters:i,ignoreForCodec:t})},n()};return{subscribe:()=>{e.onSession("main-cam-control",o)},unsubscribe:()=>{e.offSession("main-cam-control",o)},reBalance:n}};export{E as causes,P as default,S as eventNames,s as getCodecFromSender,I as hasCanceledCallError,W as resolveVideoSendingBalancer};
|
|
1
|
+
import{CancelableRequest as e,isCanceledError as t}from"@krivega/cancelable-promise";import n from"events-constructor";import i from"stack-promises";const s=e=>e.getStats().then((e=>{const t=(n="codec",(e=>[...e.keys()].map((t=>e.get(t))))(e).find((e=>e.type===n)));var n;return null==t?void 0:t.mimeType}));function r(e,t,n,i){return new(n||(n=Promise))((function(s,r){function o(e){try{c(i.next(e))}catch(e){r(e)}}function a(e){try{c(i.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}c((i=i.apply(e,t||[])).next())}))}const o=e=>(t,n)=>void 0!==n&&t!==n||void 0===n&&t!==e,a=o(1),c=o(void 0),d=(e,t,n)=>{const i=e.getParameters();i.encodings&&0!==i.encodings.length||(i.encodings=[{}]);const[s]=i.encodings,r=s.scaleResolutionDownBy,o=((e,t)=>{const n=void 0!==e?Math.max(e,1):null;if(null!==n&&a(n,t))return n})(t.scaleResolutionDownBy,r);let d=!1;void 0!==o&&(i.encodings[0].scaleResolutionDownBy=o,d=!0);const h=s.maxBitrate,l=((e,t)=>{if(c(e,t))return e})(t.maxBitrate,h);return void 0!==l&&(i.encodings[0].maxBitrate=l,d=!0),d?(n&&n(i),e.setParameters(i).then((()=>({parameters:i,isChanged:d})))):Promise.resolve({parameters:i,isChanged:d})},h=["incomingCall","declinedIncomingCall","terminatedIncomingCall","failedIncomingCall","participant:canceling-word-request","participant:move-request-to-stream","participant:move-request-to-conference","channels:notify","conference:participant-token-issued","account:changed","account:deleted","webcast:started","webcast:stopped","participant:added-to-list-moderators","participant:removed-from-list-moderators"],l=["connecting","connected","disconnected","newRTCSession","registered","unregistered","registrationFailed","newMessage","sipEvent"],u=["availableSecondRemoteStream","notAvailableSecondRemoteStream","mustStopPresentation","shareState","enterRoom","useLicense","peerconnection:confirmed","peerconnection:ontrack","channels","ended:fromserver","main-cam-control","admin-start-main-cam","admin-stop-main-cam","admin-stop-mic","admin-start-mic","admin-force-sync-media-state"],g=["ended","connecting","sending","reinvite","replaces","refer","progress","accepted","confirmed","peerconnection","failed","muted","unmuted","newDTMF","newInfo","hold","unhold","update","sdp","icecandidate","getusermediafailed","peerconnection:createofferfailed","peerconnection:createanswerfailed","peerconnection:setlocaldescriptionfailed","peerconnection:setremotedescriptionfailed","presentation:start","presentation:started","presentation:end","presentation:ended","presentation:failed"],m=[...l,...h],_=[...g,...u];var S=Object.freeze({__proto__:null,UA_SYNTHETICS_EVENT_NAMES:h,UA_JSSIP_EVENT_NAMES:l,SESSION_SYNTHETICS_EVENT_NAMES:u,SESSION_JSSIP_EVENT_NAMES:g,UA_EVENT_NAMES:m,SESSION_EVENT_NAMES:_});const f="Terminated";var E=Object.freeze({__proto__:null,CONNECTION_ERROR:"Connection Error",REQUEST_TIMEOUT:"Request Timeout",SIP_FAILURE_CODE:"SIP Failure Code",INTERNAL_ERROR:"Internal Error",BUSY:"Busy",REJECTED:"Rejected",REDIRECTED:"Redirected",UNAVAILABLE:"Unavailable",NOT_FOUND:"Not Found",ADDRESS_INCOMPLETE:"Address Incomplete",INCOMPATIBLE_SDP:"Incompatible SDP",MISSING_SDP:"Missing SDP",AUTHENTICATION_ERROR:"Authentication Error",BYE:f,WEBRTC_ERROR:"WebRTC Error",CANCELED:"Canceled",NO_ANSWER:"No Answer",EXPIRES:"Expires",NO_ACK:"No ACK",DIALOG_ERROR:"Dialog Error",USER_DENIED_MEDIA_ACCESS:"User Denied Media Access",BAD_MEDIA_DESCRIPTION:"Bad Media Description",RTP_TIMEOUT:"RTP Timeout"});const v=e=>e.trim().replace(/ /g,"_"),C=(p=1e5,N=99999999,()=>Math.floor(Math.random()*(N-p))+p);var p,N;const R=(e,{videoMode:t,audioMode:n}={})=>{if(!e||"recvonly"===t&&"recvonly"===n)return;const i=[..."recvonly"===n?[]:e.getAudioTracks(),..."recvonly"===t?[]:e.getVideoTracks()],s=new MediaStream(i);return s.getTracks=()=>[...s.getAudioTracks(),...s.getVideoTracks()],s};var T,A,M,w;!function(e){e.PAUSE_MAIN_CAM="PAUSEMAINCAM",e.RESUME_MAIN_CAM="RESUMEMAINCAM",e.MAX_MAIN_CAM_RESOLUTION="MAXMAINCAMRESOLUTION",e.ADMIN_STOP_MAIN_CAM="ADMINSTOPMAINCAM",e.ADMIN_START_MAIN_CAM="ADMINSTARTMAINCAM"}(T||(T={})),function(e){e.ADMIN_STOP_MIC="ADMINSTOPMIC",e.ADMIN_START_MIC="ADMINSTARTMIC"}(A||(A={})),function(e){e.ADMIN_SYNC_FORCED="1",e.ADMIN_SYNC_NOT_FORCED="0"}(M||(M={})),function(e){e.AUDIO="AUDIO",e.VIDEO="VIDEO",e.AUDIOPLUSPRESENTATION="AUDIOPLUSPRESENTATION"}(w||(w={}));const I=(e=new Error)=>{const{originator:n,cause:i}=e;return!!t(e)||"string"==typeof i&&("Request Timeout"===i||"Rejected"===i||"local"===n&&("Canceled"===i||i===f))},P="SipConnector";class b{constructor({JsSIP:t}){this._isRegisterConfig=!1,this._connectionConfiguration={},this._remoteStreams={},this.getSipServerUrl=e=>e,this.connect=e=>(this._cancelRequests(),this._cancelableConnect.request(e)),this.createUa=e=>this._cancelableCreateUa.request(e),this.set=e=>this._cancelableSet.request(e),this.call=e=>this._cancelableCall.request(e),this.disconnect=()=>(this._cancelRequests(),this._disconnectWithoutCancelRequests()),this.answerToIncomingCall=e=>this._cancelableAnswer.request(e),this.sendDTMF=e=>this._cancelableSendDTMF.request(e),this.hangUp=()=>(this._cancelRequests(),this._hangUpWithoutCancelRequests()),this.tryRegister=()=>this.isRegisterConfig?(this._uaEvents.trigger("connecting",void 0),this.unregister().finally((()=>this.register())).finally((()=>{}))):Promise.reject(new Error("Config is not registered")),this.declineToIncomingCall=({statusCode:e=487}={})=>new Promise(((t,n)=>{if(!this.isAvailableIncomingCall)return void n(new Error("no incomingSession"));const i=this.incomingSession,s=this.remoteCallerData;this._cancelableCall.cancelRequest(),this._cancelableAnswer.cancelRequest(),this.removeIncomingSession(),this._uaEvents.trigger("declinedIncomingCall",s),t(i.terminate({status_code:e}))})),this.busyIncomingCall=()=>this.declineToIncomingCall({statusCode:486}),this.removeIncomingSession=()=>{delete this.incomingSession},this.handleNewRTCSession=({originator:e,session:t})=>{if("remote"===e){this.incomingSession=t;const e=this.remoteCallerData;t.on("failed",(({originator:t})=>{this.removeIncomingSession(),"local"!==t?this._uaEvents.trigger("failedIncomingCall",e):this._uaEvents.trigger("terminatedIncomingCall",e)})),this._uaEvents.trigger("incomingCall",e)}},this._connect=e=>this.createUa(e).then((()=>this._start())),this._createUa=({displayName:e="",user:t,password:n,register:i=!1,sipServerUrl:s,sipWebSocketServerURL:o,remoteAddress:a,extraHeaders:c=[],sdpSemantics:d="plan-b",sessionTimers:h=!1,registerExpires:u=300,connectionRecoveryMinInterval:g=2,connectionRecoveryMaxInterval:m=6,userAgent:_})=>r(this,void 0,void 0,(function*(){if(!s)throw new Error("sipServerUrl is required");if(!o)throw new Error("sipWebSocketServerURL is required");if(i&&!t)throw new Error("user is required for authorized connection");if(i&&!n)throw new Error("password is required for authorized connection");let r;this._connectionConfiguration={sipServerUrl:s,displayName:e,register:i,user:t,password:n},this._init({sipServerUrl:s,sipWebSocketServerURL:o}),r=i&&t?t.trim():C();const S={password:n,register:i,display_name:v(e),user_agent:_,sdp_semantics:d,sockets:[this.socket],uri:this.getSipServerUrl(r),session_timers:h,register_expires:u,connection_recovery_min_interval:g,connection_recovery_max_interval:m};this.ua&&(yield this._disconnectWithoutCancelRequests()),this._isRegisterConfig=!!S.register,this.ua=new this.JsSIP.UA(S),this._uaEvents.eachTriggers(((e,t)=>{const n=l.find((e=>e===t));n&&this.ua.on(n,e)}));const f=(e=>{const t=[];return e&&t.push(`X-Vinteo-Remote: ${e}`),t})(a),E=[...f,...c];return this.ua.registrator().setExtraHeaders(E),this.ua})),this._start=()=>new Promise(((e,t)=>{const n=()=>{s(),e(this.ua)},i=e=>{s(),t(e)},s=()=>{this.off("registered",n),this.off("registrationFailed",i),this.off("connected",n),this.off("disconnected",i)};(()=>{this.isRegisterConfig?(this.on("registered",n),this.on("registrationFailed",i)):this.on("connected",n),this.on("disconnected",i)})(),this.on("newRTCSession",this.handleNewRTCSession),this.ua.start()})),this._set=({displayName:e,password:t})=>new Promise(((n,i)=>{let s=!1,r=!1;void 0!==e&&e!==this._connectionConfiguration.displayName&&(s=this.ua.set("display_name",v(e)),this._connectionConfiguration.displayName=e),void 0!==t&&t!==this._connectionConfiguration.password&&(r=this.ua.set("password",t),this._connectionConfiguration.password=t);const o=s||r;r&&this.isRegisterConfig?this.register().then((()=>n(o))).catch(i):o?n(o):i(o)})),this._disconnectWithoutCancelRequests=()=>this._cancelableDisconnect.request(),this._disconnect=()=>r(this,void 0,void 0,(function*(){this.off("newRTCSession",this.handleNewRTCSession);const e=new Promise((e=>{this.once("disconnected",(()=>{delete this.ua,e()}))}));return this.ua?(yield this._hangUpWithoutCancelRequests(),this.ua?this.ua.stop():this._uaEvents.trigger("disconnected",void 0)):this._uaEvents.trigger("disconnected",void 0),e})),this._call=({number:e,mediaStream:t,extraHeaders:n=[],ontrack:i,iceServers:s,videoMode:r,audioMode:o,degradationPreference:a,offerToReceiveAudio:c=!0,offerToReceiveVideo:d=!0})=>new Promise(((h,l)=>{this._connectionConfiguration.number=e,this._connectionConfiguration.answer=!1,this._handleCall({ontrack:i}).then(h).catch(l),this.session=this.ua.call(this.getSipServerUrl(e),{extraHeaders:n,mediaStream:R(t,{videoMode:r,audioMode:o}),eventHandlers:this._sessionEvents.triggers,videoMode:r,audioMode:o,degradationPreference:a,pcConfig:{iceServers:s},rtcOfferConstraints:{offerToReceiveAudio:c,offerToReceiveVideo:d}})})),this._answer=({mediaStream:e,ontrack:t,extraHeaders:n=[],iceServers:i,videoMode:s,audioMode:r,degradationPreference:o})=>new Promise(((a,c)=>{if(!this.isAvailableIncomingCall)return void c(new Error("no incomingSession"));this.session=this.incomingSession,this.removeIncomingSession();const d=this.session;if(!d)return void c(new Error("No session established"));this._sessionEvents.eachTriggers(((e,t)=>{const n=g.find((e=>e===t));n&&d.on(n,e)})),this._connectionConfiguration.answer=!0,this._connectionConfiguration.number=d.remote_identity.uri.user,this._handleCall({ontrack:t}).then(a).catch(c);const h=R(e,{videoMode:s,audioMode:r});d.answer({extraHeaders:n,videoMode:s,audioMode:r,degradationPreference:o,mediaStream:h,pcConfig:{iceServers:i}})})),this._handleCall=({ontrack:e})=>new Promise(((t,n)=>{const i=()=>{this.offSession("peerconnection",a),this.offSession("confirmed",c)},s=()=>{this.offSession("failed",r),this.offSession("ended",r)},r=e=>{i(),s(),n(e)};let o;const a=({peerconnection:t})=>{o=t,o.ontrack=t=>{this._sessionEvents.trigger("peerconnection:ontrack",o),e&&e(t)}},c=()=>{o&&this._sessionEvents.trigger("peerconnection:confirmed",o),i(),s(),t(o)};(()=>{this.onSession("peerconnection",a),this.onSession("confirmed",c)})(),(()=>{this.onSession("failed",r),this.onSession("ended",r)})()})),this._restoreSession=()=>{this._resetPresentation(),delete this._connectionConfiguration.number,delete this.session,this._remoteStreams={}},this._sendDTMF=e=>new Promise(((t,n)=>{const i=this.session;i?(this.onceSession("newDTMF",(({originator:e})=>{"local"===e&&t()})),i.sendDTMF(e,{duration:120,interToneGap:600})):n(new Error("No session established"))})),this._hangUpWithoutCancelRequests=()=>r(this,void 0,void 0,(function*(){if(this.ua&&this.session){const{session:e}=this;this._streamPresentationCurrent&&(yield this.stopPresentation()),this._restoreSession(),e.isEnded()||e.terminate()}})),this._handleShareState=e=>{switch(e){case"YOUCANRECEIVECONTENT":this._sessionEvents.trigger("availableSecondRemoteStream",void 0);break;case"CONTENTEND":this._sessionEvents.trigger("notAvailableSecondRemoteStream",void 0);break;case"YOUMUSTSTOPSENDCONTENT":this._sessionEvents.trigger("mustStopPresentation",void 0)}},this._maybeTriggerChannels=e=>{const t=e.getHeader("X-WEBRTC-INPUT-CHANNELS"),n=e.getHeader("X-WEBRTC-OUTPUT-CHANNELS");if(t&&n){const e={inputChannels:t,outputChannels:n};this._sessionEvents.trigger("channels",e)}},this._handleNotify=e=>{if("channels"===e.cmd){const t=e;this._triggerChannelsNotify(t)}else if("WebcastStarted"===e.cmd){const t=e;this._triggerWebcastStartedNotify(t)}else if("WebcastStopped"===e.cmd){const t=e;this._triggerWebcastStoppedNotify(t)}else if("addedToListModerators"===e.cmd){const t=e;this._triggerAddedToListModeratorsNotify(t)}else if("removedFromListModerators"===e.cmd){const t=e;this._triggerRemovedFromListModeratorsNotify(t)}else if("WebcastParticipationAccepted"===e.cmd){const t=e;this._triggerParticipantMoveRequestToConference(t)}else if("WebcastParticipationRejected"===e.cmd){const t=e;this._triggerParticipantCancelingWordRequest(t)}else if("ParticipantMovedToWebcast"===e.cmd){const t=e;this._triggerParticipantMoveRequestToStream(t)}else if("accountChanged"===e.cmd)this._triggerAccountChangedNotify();else if("accountDeleted"===e.cmd)this._triggerAccountDeletedNotify();else if("ConferenceParticipantTokenIssued"===e.cmd){const t=e;this._triggerConferenceParticipantTokenIssued(t)}},this._triggerRemovedFromListModeratorsNotify=({conference:e})=>{const t={conference:e};this._uaEvents.trigger("participant:removed-from-list-moderators",t)},this._triggerAddedToListModeratorsNotify=({conference:e})=>{const t={conference:e};this._uaEvents.trigger("participant:added-to-list-moderators",t)},this._triggerWebcastStartedNotify=({body:{conference:e,type:t}})=>{const n={conference:e,type:t};this._uaEvents.trigger("webcast:started",n)},this._triggerWebcastStoppedNotify=({body:{conference:e,type:t}})=>{const n={conference:e,type:t};this._uaEvents.trigger("webcast:stopped",n)},this._triggerAccountChangedNotify=()=>{this._uaEvents.trigger("account:changed",void 0)},this._triggerAccountDeletedNotify=()=>{this._uaEvents.trigger("account:deleted",void 0)},this._triggerConferenceParticipantTokenIssued=({body:{conference:e,participant:t,jwt:n}})=>{const i={conference:e,participant:t,jwt:n};this._uaEvents.trigger("conference:participant-token-issued",i)},this._triggerChannelsNotify=e=>{const t={inputChannels:e.input,outputChannels:e.output};this._uaEvents.trigger("channels:notify",t)},this._triggerParticipantMoveRequestToConference=({body:{conference:e}})=>{const t={conference:e};this._uaEvents.trigger("participant:move-request-to-conference",t)},this._triggerParticipantCancelingWordRequest=({body:{conference:e}})=>{const t={conference:e};this._uaEvents.trigger("participant:canceling-word-request",t)},this._triggerParticipantMoveRequestToStream=({body:{conference:e}})=>{const t={conference:e};this._uaEvents.trigger("participant:move-request-to-stream",t)},this._triggerEnterRoom=e=>{const t=e.getHeader("x-webrtc-enter-room");this._sessionEvents.trigger("enterRoom",t)},this._triggerShareState=e=>{const t=e.getHeader("x-webrtc-share-state");this._sessionEvents.trigger("shareState",t)},this._triggerMainCamControl=e=>{const t=e.getHeader("X-WEBRTC-MAINCAM"),n=e.getHeader("X-WEBRTC-SYNC"),i=n===M.ADMIN_SYNC_FORCED;if(t===T.ADMIN_START_MAIN_CAM)this._sessionEvents.trigger("admin-start-main-cam",{isSyncForced:i});else if(t===T.ADMIN_STOP_MAIN_CAM)this._sessionEvents.trigger("admin-stop-main-cam",{isSyncForced:i});else if(t!==T.RESUME_MAIN_CAM&&t!==T.PAUSE_MAIN_CAM||!n){const n=e.getHeader("X-WEBRTC-MAINCAM-RESOLUTION");this._sessionEvents.trigger("main-cam-control",{mainCam:t,resolutionMainCam:n})}else this._sessionEvents.trigger("admin-force-sync-media-state",{isSyncForced:i})},this._triggerMicControl=e=>{const t=e.getHeader("X-WEBRTC-MIC"),n=e.getHeader("X-WEBRTC-SYNC")===M.ADMIN_SYNC_FORCED;t===A.ADMIN_START_MIC?this._sessionEvents.trigger("admin-start-mic",{isSyncForced:n}):t===A.ADMIN_STOP_MIC&&this._sessionEvents.trigger("admin-stop-mic",{isSyncForced:n})},this._triggerUseLicense=e=>{const t=e.getHeader("X-WEBRTC-USE-LICENSE");this._sessionEvents.trigger("useLicense",t)},this._handleNewInfo=e=>{const{originator:t}=e;if("remote"!==t)return;const n=e.request,i=n.getHeader("content-type");if(i)switch(i){case"application/vinteo.webrtc.roomname":this._triggerEnterRoom(n),this._maybeTriggerChannels(n);break;case"application/vinteo.webrtc.notify":this._maybeHandleNotify(n);break;case"application/vinteo.webrtc.sharedesktop":this._triggerShareState(n);break;case"application/vinteo.webrtc.maincam":this._triggerMainCamControl(n);break;case"application/vinteo.webrtc.mic":this._triggerMicControl(n);break;case"application/vinteo.webrtc.uselic":this._triggerUseLicense(n)}},this._handleSipEvent=({request:e})=>{this._maybeHandleNotify(e)},this._maybeHandleNotify=e=>{const t=e.getHeader("X-VINTEO-NOTIFY");if(t){const e=JSON.parse(t);this._handleNotify(e)}},this._handleEnded=e=>{const{originator:t}=e;"remote"===t&&this._sessionEvents.trigger("ended:fromserver",e),this._restoreSession()},this.JsSIP=t,this._sessionEvents=new n(_),this._uaEvents=new n(m),this._cancelableConnect=new e(this._connect,{moduleName:P,afterCancelRequest:()=>{this._cancelableCreateUa.cancelRequest(),this._cancelableDisconnect.cancelRequest()}}),this._cancelableCreateUa=new e(this._createUa,{moduleName:P}),this._cancelableDisconnect=new e(this._disconnect,{moduleName:P}),this._cancelableSet=new e(this._set,{moduleName:P}),this._cancelableCall=new e(this._call,{moduleName:P}),this._cancelableAnswer=new e(this._answer,{moduleName:P}),this._cancelableSendDTMF=new e(this._sendDTMF,{moduleName:P}),this.onSession("shareState",this._handleShareState),this.onSession("newInfo",this._handleNewInfo),this.on("sipEvent",this._handleSipEvent),this.onSession("failed",this._handleEnded),this.onSession("ended",this._handleEnded)}register(){return new Promise(((e,t)=>{this.isRegisterConfig?(this.ua.on("registered",e),this.ua.on("registrationFailed",t),this.ua.register()):t(new Error("Config is not registered"))}))}unregister(){return new Promise(((e,t)=>{this.isRegistered?(this.ua.on("unregistered",e),this.ua.unregister()):t(new Error("ua is not registered"))}))}sendOptions(e,t,n){return this.ua?new Promise(((i,s)=>{try{this.ua.sendOptions(e,t,{extraHeaders:n,eventHandlers:{succeeded:()=>{i()},failed:e=>{s(e)}}})}catch(e){s(e)}})):Promise.reject(new Error("is not connected"))}ping(e,t){if(!this.ua||!this.ua.configuration||!this.ua.configuration.uri)return Promise.reject(new Error("is not connected"));const n=this.ua.configuration.uri;return this.sendOptions(n,e,t)}replaceMediaStream(e,t){if(!this.session)throw new Error("No session established");return this.session.replaceMediaStream(e,t)}askPermissionToEnableCam(e={noTerminateWhenError:!0}){if(!this.session)throw new Error("No session established");const t=["X-WEBRTC-REQUEST-ENABLE-MEDIA-DEVICE: LETMESTARTMAINCAM"];return this.session.sendInfo("application/vinteo.webrtc.maincam",void 0,Object.assign(Object.assign({},e),{extraHeaders:t})).catch((e=>{if((e=>"Error decline with 603"===e.message)(e))throw e}))}get isPendingPresentation(){return!!this.promisePendingStartPresentation||!!this.promisePendingStopPresentation}startPresentation(e,{isNeedReinvite:t=!0,isP2P:n=!1,maxBitrate:i,degradationPreference:s}={}){const r=this.establishedSession;if(!r)return Promise.reject(new Error("No session established"));if(this._streamPresentationCurrent)return Promise.reject(new Error("Presentation is already started"));const o=R(e);this._streamPresentationCurrent=o;const a=n?["x-webrtc-share-state: YOUCANRECEIVECONTENT"]:["x-webrtc-share-state: LETMESTARTPRESENTATION"],c=r.sendInfo("application/vinteo.webrtc.sharedesktop",void 0,{extraHeaders:a}).then((()=>r.startPresentation(o,t,s))).then((()=>{const{connection:t}=this;if(!t||void 0===i)return;return((e,t,n)=>{const i=((e,t)=>e.find((e=>e.track&&t.getTracks().includes(e.track))))(e,t);return i?d(i,{maxBitrate:n}):Promise.resolve()})(t.getSenders(),e,i)})).then((()=>e)).catch((e=>{throw this._sessionEvents.trigger("presentation:failed",e),e}));return this.promisePendingStartPresentation=c,c.finally((()=>{this.promisePendingStartPresentation=void 0}))}stopPresentation({isP2P:e=!1}={}){const t=this._streamPresentationCurrent;let n=this.promisePendingStartPresentation||Promise.resolve();const i=e?["x-webrtc-share-state: CONTENTEND"]:["x-webrtc-share-state: STOPPRESENTATION"],s=this.establishedSession;return s&&t&&(n=n.then((()=>s.sendInfo("application/vinteo.webrtc.sharedesktop",void 0,{extraHeaders:i}))).then((()=>s.stopPresentation(t))).catch((e=>{throw this._sessionEvents.trigger("presentation:failed",e),e}))),!s&&t&&this._sessionEvents.trigger("presentation:ended",t),this.promisePendingStopPresentation=n,n.finally((()=>{this._resetPresentation()}))}_resetPresentation(){delete this._streamPresentationCurrent,this.promisePendingStartPresentation=void 0,this.promisePendingStopPresentation=void 0}on(e,t){return this._uaEvents.on(e,t)}once(e,t){return this._uaEvents.once(e,t)}onceRace(e,t){return this._uaEvents.onceRace(e,t)}wait(e){return this._uaEvents.wait(e)}off(e,t){this._uaEvents.off(e,t)}onSession(e,t){return this._sessionEvents.on(e,t)}onceSession(e,t){return this._sessionEvents.once(e,t)}onceRaceSession(e,t){return this._sessionEvents.onceRace(e,t)}waitSession(e){return this._sessionEvents.wait(e)}offSession(e,t){this._sessionEvents.off(e,t)}isConfigured(){return!!this.ua}getConnectionConfiguration(){return Object.assign({},this._connectionConfiguration)}getRemoteStreams(){if(!this.connection)return;const e=this.connection.getReceivers().map((({track:e})=>e));return(e=>e.some((e=>{const{kind:t}=e;return"video"===t})))(e)?this._generateStreams(e):this._generateAudioStreams(e)}get connection(){var e;return null===(e=null==this?void 0:this.session)||void 0===e?void 0:e.connection}get remoteCallerData(){var e,t,n,i,s,r;return{displayName:null===(t=null===(e=null==this?void 0:this.incomingSession)||void 0===e?void 0:e.remote_identity)||void 0===t?void 0:t.display_name,host:null===(i=null===(n=null==this?void 0:this.incomingSession)||void 0===n?void 0:n.remote_identity)||void 0===i?void 0:i.uri.host,incomingNumber:null===(r=null===(s=null==this?void 0:this.incomingSession)||void 0===s?void 0:s.remote_identity)||void 0===r?void 0:r.uri.user,session:null==this?void 0:this.incomingSession}}get requested(){return this._cancelableConnect.requested||this._cancelableCreateUa.requested||this._cancelableCall.requested||this._cancelableAnswer.requested}get establishedSession(){return this.session&&this.session.isEstablished()?this.session:void 0}get isRegistered(){return!!this.ua&&this.ua.isRegistered()}get isRegisterConfig(){return!!this.ua&&this._isRegisterConfig}get isCallActive(){return!(!this.ua||!this.session)}get isAvailableIncomingCall(){return!!this.incomingSession}_init({sipServerUrl:e,sipWebSocketServerURL:t}){var n;this.getSipServerUrl=(n=e,e=>`sip:${e}@${n}`),this.socket=new this.JsSIP.WebSocketInterface(t)}_generateStream(e,t){const n=e.id,i=this._remoteStreams[n]||new MediaStream;return t&&i.addTrack(t),i.addTrack(e),this._remoteStreams[n]=i,i}_generateAudioStream(e){const t=e.id,n=this._remoteStreams[t]||new MediaStream;return n.addTrack(e),this._remoteStreams[t]=n,n}_generateStreams(e){const t=[];return e.forEach(((n,i)=>{if("audio"===n.kind)return;const s=n,r=e[i-1];let o;r&&"audio"===r.kind&&(o=r);const a=this._generateStream(s,o);t.push(a)}),[]),t}_generateAudioStreams(e){return e.map((e=>this._generateAudioStream(e)))}_cancelRequests(){this._cancelActionsRequests(),this._cancelCallRequests(),this._cancelConnectRequests()}_cancelConnectRequests(){this._cancelableConnect.cancelRequest()}_cancelCallRequests(){this._cancelableCall.cancelRequest(),this._cancelableAnswer.cancelRequest()}_cancelActionsRequests(){this._cancelableAnswer.cancelRequest(),this._cancelableSendDTMF.cancelRequest()}waitChannels(){return this.waitSession("channels")}waitSyncMediaState(){return this.waitSession("admin-force-sync-media-state")}sendChannels({inputChannels:e,outputChannels:t}){if(!this.session)throw new Error("No session established");const n=[`X-WEBRTC-INPUT-CHANNELS: ${e}`,`X-WEBRTC-OUTPUT-CHANNELS: ${t}`];return this.session.sendInfo("application/vinteo.webrtc.channels",void 0,{extraHeaders:n})}sendMediaState({cam:e,mic:t},n={noTerminateWhenError:!0}){if(!this.session)throw new Error("No session established");const i=["X-WEBRTC-MEDIA-STATE: currentstate","X-Vinteo-MainCam-State: "+ +e,"X-Vinteo-Mic-State: "+ +t];return this.session.sendInfo("application/vinteo.webrtc.mediastate",void 0,Object.assign(Object.assign({},n),{extraHeaders:i}))}}const y=e=>1e6*e,D=y(.06),O=y(4),U=i(),k=e=>(U.add(e),U().catch((e=>{console.debug("videoSendingBalancer: error",e)}))),q=({sender:e,scaleResolutionDownBy:t,maxBitrate:n,onSetParameters:i})=>k((()=>d(e,{scaleResolutionDownBy:t,maxBitrate:n},i))),B=(e,{track:t,resolution:n},i)=>{const s=t.getSettings(),r=s.width,o=s.height,[a,c]=n.split("x"),d=r/+a,h=o/+c,l=Math.max(d,h,1),u=(g=+a)<=64?D:g<=128?y(.12):g<=256?y(.25):g<=384?y(.32):g<=426?y(.38):g<=640?y(.5):g<=848?y(.7):g<=1280?y(1):g<=1920?y(2):O;var g;return q({sender:e,maxBitrate:u,onSetParameters:i,scaleResolutionDownBy:l})},x=({mainCam:e,resolutionMainCam:t,sender:n,track:i},s)=>{switch(e){case T.PAUSE_MAIN_CAM:return((e,t)=>q({sender:e,maxBitrate:D,onSetParameters:t,scaleResolutionDownBy:200}))(n,s);case T.RESUME_MAIN_CAM:return((e,t)=>q({sender:e,maxBitrate:O,onSetParameters:t,scaleResolutionDownBy:1}))(n,s);case T.MAX_MAIN_CAM_RESOLUTION:if(t)return B(n,{track:i,resolution:t},s)}return Promise.resolve({isChanged:!1,parameters:{encodings:[{}],transactionId:"0",codecs:[],headerExtensions:[],rtcp:{}}})},W=(e,{ignoreForCodec:t,onSetParameters:n}={})=>{let i=()=>{};const o=o=>{i=()=>{const{mainCam:i,resolutionMainCam:a}=o,{connection:c}=e;c&&void 0!==i&&(({mainCam:e,resolutionMainCam:t,connection:n,onSetParameters:i,ignoreForCodec:o})=>{r(void 0,void 0,void 0,(function*(){const r=n.getSenders().find((e=>{var t;return"video"===(null===(t=null==e?void 0:e.track)||void 0===t?void 0:t.kind)}));if(r&&r.track){if(o){const e=yield s(r);if(c=o,(a=e)&&c&&a.toLowerCase().includes(c.toLowerCase()))return}var a,c;x({mainCam:e,resolutionMainCam:t,sender:r,track:r.track},i)}}))})({mainCam:i,resolutionMainCam:a,connection:c,onSetParameters:n,ignoreForCodec:t})},i()};return{subscribe:()=>{e.onSession("main-cam-control",o)},unsubscribe:()=>{e.offSession("main-cam-control",o)},reBalance:i}};export{w as EUseLicense,E as causes,b as default,S as eventNames,s as getCodecFromSender,I as hasCanceledCallError,W as resolveVideoSendingBalancer};
|
|
2
2
|
//# sourceMappingURL=index.es5.js.map
|