sip-connector 18.0.0 → 19.0.0
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/README.md +123 -29
- package/dist/@SipConnector-DNQcZdY9.cjs +1 -0
- package/dist/{@SipConnector-UTHCoMXw.js → @SipConnector-Wp8bjnnP.js} +832 -473
- package/dist/AutoConnectorManager/@AutoConnectorManager.d.ts +41 -0
- package/dist/AutoConnectorManager/AttemptsState.d.ts +21 -0
- package/dist/AutoConnectorManager/CheckTelephonyRequester.d.ts +19 -0
- package/dist/AutoConnectorManager/PingServerIfNotActiveCallRequester.d.ts +18 -0
- package/dist/AutoConnectorManager/PingServerRequester.d.ts +13 -0
- package/dist/AutoConnectorManager/RegistrationFailedOutOfCallSubscriber.d.ts +18 -0
- package/dist/AutoConnectorManager/eventNames.d.ts +18 -0
- package/dist/AutoConnectorManager/index.d.ts +3 -0
- package/dist/AutoConnectorManager/types.d.ts +22 -0
- package/dist/AutoConnectorManager/utils/errors.d.ts +2 -0
- package/dist/AutoConnectorManager/utils/index.d.ts +1 -0
- package/dist/CallManager/@CallManager.d.ts +3 -0
- package/dist/CallManager/eventNames.d.ts +6 -2
- package/dist/ConnectionManager/@ConnectionManager.d.ts +10 -1
- package/dist/ConnectionManager/eventNames.d.ts +6 -2
- package/dist/ConnectionManager/index.d.ts +1 -0
- package/dist/ConnectionManager/utils/errors.d.ts +2 -0
- package/dist/ConnectionManager/utils/index.d.ts +2 -0
- package/dist/ConnectionManager/utils/resolveParameters.d.ts +2 -0
- package/dist/ConnectionQueueManager/@ConnectionQueueManager.d.ts +1 -7
- package/dist/ConnectionQueueManager/index.d.ts +1 -0
- package/dist/SipConnector/@SipConnector.d.ts +8 -4
- package/dist/SipConnector/eventNames.d.ts +1 -1
- package/dist/SipConnectorFacade/@SipConnectorFacade.d.ts +16 -10
- package/dist/doMock.cjs +1 -1
- package/dist/doMock.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +227 -213
- package/package.json +5 -5
- package/dist/@SipConnector-CFYT0HQB.cjs +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("events-constructor");const r=require("./@SipConnector-CFYT0HQB.cjs"),x=require("@krivega/cancelable-promise"),j=require("repeated-calls"),K=require("ts-debounce"),X=require("ua-parser-js"),Y=require("sequent-promises"),G=n=>n instanceof Object&&("originator"in n||"cause"in n),J=n=>{if(x.isCanceledError(n))return!0;if(!G(n))return!1;const{originator:e,cause:t}=n;return typeof t=="string"?t===r.ECallCause.REQUEST_TIMEOUT||t===r.ECallCause.REJECTED||e==="local"&&(t===r.ECallCause.CANCELED||t===r.ECallCause.BYE):!1},z=()=>globalThis.process?.versions?.electron!==void 0,B=()=>{const n=new X.UAParser,{name:e}=n.getBrowser(),t=z();return{isChrome:e==="Chrome"||t}},A=n=>{const{url:e,cause:t}=n;let o=e;return(t===r.ECallCause.BAD_MEDIA_DESCRIPTION||t===r.ECallCause.NOT_FOUND)&&(o=`${n.message.to.uri.user}@${n.message.to.uri.host}`),o};var $=(n=>(n.CONNECT_SERVER_FAILED="CONNECT_SERVER_FAILED",n.WRONG_USER_OR_PASSWORD="WRONG_USER_OR_PASSWORD",n.BAD_MEDIA_ERROR="BAD_MEDIA_ERROR",n.NOT_FOUND_ERROR="NOT_FOUND_ERROR",n.WS_CONNECTION_FAILED="WS_CONNECTION_FAILED",n.CONNECT_SERVER_FAILED_BY_LINK="CONNECT_SERVER_FAILED_BY_LINK",n))($||{});const Q=new Error("Unknown error"),Z=(n=Q)=>{const{cause:e,socket:t}=n;let o="CONNECT_SERVER_FAILED";switch(e){case"Forbidden":{o="WRONG_USER_OR_PASSWORD";break}case r.ECallCause.BAD_MEDIA_DESCRIPTION:{o="BAD_MEDIA_ERROR";break}case r.ECallCause.NOT_FOUND:{o="NOT_FOUND_ERROR";break}default:t!==void 0&&t._ws?.readyState===3?o="WS_CONNECTION_FAILED":A(n)!==void 0&&A(n)!==""&&(o="CONNECT_SERVER_FAILED_BY_LINK")}return o},ee=n=>{let e="";try{e=JSON.stringify(n)}catch(t){r.logger("failed to stringify message",t)}return e},ne=new Error("Unknown error"),te=(n=ne)=>{const{code:e,cause:t,message:o}=n,a=A(n),s={code:"",cause:"",message:""};return typeof o=="object"&&o!==null?s.message=ee(o):o&&(s.message=String(o)),a!==void 0&&a!==""&&(s.link=a),e!==void 0&&e!==""&&(s.code=e),t!==void 0&&t!==""&&(s.cause=t),s},re=Object.freeze(Object.defineProperty({__proto__:null,EErrorTypes:$,getLinkError:A,getTypeFromError:Z,getValuesFromError:te},Symbol.toStringTag,{value:"Module"})),oe=({sessionId:n,remoteAddress:e,isMutedAudio:t,isMutedVideo:o,isRegistered:a,isPresentationCall:s})=>{const c=[],l=t?"0":"1",u=o?"0":"1";return c.push(`X-Vinteo-Mic-State: ${l}`,`X-Vinteo-MainCam-State: ${u}`),(a===!1||a===void 0)&&c.push("X-Vinteo-Purgatory-Call: yes"),n!==void 0&&n!==""&&c.push(`X-Vinteo-Session: ${n}`),s===!0&&c.push("X-Vinteo-Presentation-Call: yes"),e!==void 0&&e!==""&&c.push(`X-Vinteo-Remote: ${e}`),c},se="[@*!|]",ae="_",ce=n=>{let e=n;return e=e.replaceAll(new RegExp(se,"g"),ae),e},ie=({appName:n,appVersion:e,browserName:t,browserVersion:o})=>{const s=`${ce(n)} ${e}`;return`ChromeNew - ${t===void 0?s:`${t} ${o}, ${s}`}`},le=({isUnifiedSdpSemantic:n,appVersion:e,browserName:t,browserVersion:o,appName:a})=>n?ie({appVersion:e,browserName:t,browserVersion:o,appName:a}):"Chrome",H="purgatory",D=n=>n===H,ue=n=>e=>[...e].map(o=>async()=>n(o)),de=async({accumulatedKeys:n,sendKey:e,canRunTask:t})=>{const a=ue(e)(n);return Y.sequentPromises(a,t)},ge=n=>t=>(r.logger("onStartMainCam"),n.on("api:admin-start-main-cam",t)),Se=n=>t=>(r.logger("onStartMic"),n.on("api:admin-start-mic",t)),Ce=n=>t=>(r.logger("onStopMainCam"),n.on("api:admin-stop-main-cam",t)),me=n=>t=>(r.logger("onStopMic"),n.on("api:admin-stop-mic",t)),fe=({sipConnector:n})=>{const e=(g,C)=>({isSyncForced:S})=>{if(S===!0){g();return}C()},t=ge(n),o=Ce(n),a=Se(n),s=me(n);let c,l,u,f;const h=({onStartMainCamForced:g,onStartMainCamNotForced:C,onStopMainCamForced:S,onStopMainCamNotForced:p,onStartMicForced:E,onStartMicNotForced:b,onStopMicForced:P,onStopMicNotForced:v})=>{const T=e(g,C);c=t(T);const O=e(S,p);l=o(O);const _=e(E,b);u=a(_);const m=e(P,v);f=s(m)},d=()=>{c?.(),l?.(),u?.(),f?.()};return{start:g=>{h(g)},stop:()=>{d()}}},he=Object.freeze(Object.defineProperty({__proto__:null,PURGATORY_CONFERENCE_NUMBER:H,createSyncMediaState:fe,createUaParser:B,error:re,getExtraHeaders:oe,getUserAgent:le,hasPurgatory:D,prepareMediaStream:r.prepareMediaStream,sendDtmfAccumulated:de,setEncodingsToSender:r.setEncodingsToSender,setParametersToSender:r.setParametersToSender},Symbol.toStringTag,{value:"Module"})),pe=()=>B().isChrome,U=n=>{if(!x.isCanceledError(n)&&!j.hasCanceledError(n))throw n;return{isSuccessful:!1}},Re=({kind:n,readyState:e})=>n==="video"&&e==="live",k=(n,e,{onEnterPurgatory:t,onEnterConference:o})=>{D(n)?t&&t():o&&o({isSuccessProgressCall:e})},L=(n,e)=>{n(),e&&e()},V=(n,e,t)=>{throw n&&n(),e(),t},Ee=new Set(["on","once","onceRace","wait","off","sendDTMF","hangUp","declineToIncomingCall","sendChannels","checkTelephony","waitChannels","ping","connection","isConfigured","isRegistered"]);class be{on;once;onceRace;wait;off;sendDTMF;hangUp;declineToIncomingCall;sendChannels;checkTelephony;waitChannels;ping;connection;isConfigured;isRegistered;sipConnector;constructor(e){return this.sipConnector=e,new Proxy(this,{get:(t,o,a)=>{if(typeof o=="string"&&Ee.has(o)&&o in this.sipConnector){const c=Reflect.get(this.sipConnector,o,this.sipConnector);return typeof c=="function"?c.bind(this.sipConnector):c}const s=Reflect.get(t,o,a);return typeof s=="function"?s.bind(t):s}})}connectToServer=async e=>{const{userAgent:t,sipWebSocketServerURL:o,sipServerUrl:a,remoteAddress:s,displayName:c,name:l,password:u,isRegisteredUser:f,isDisconnectOnFail:h}=e;return r.logger("connectToServer",e),this.sipConnector.connect({userAgent:t,sipWebSocketServerURL:o,sipServerUrl:a,remoteAddress:s,displayName:c,password:u,user:l,register:f}).then(d=>(r.logger("connectToServer then"),{ua:d,isSuccessful:!0})).catch(async d=>(r.logger("connectToServer catch: error",d),h===!0?this.sipConnector.disconnect().then(()=>U(d)).catch(()=>U(d)):U(d)))};callToServer=async e=>{const{conference:t,mediaStream:o,extraHeaders:a,iceServers:s,contentHint:c,degradationPreference:l,sendEncodings:u,offerToReceiveAudio:f,offerToReceiveVideo:h,directionVideo:d,directionAudio:N,setRemoteStreams:y,onBeforeProgressCall:g,onSuccessProgressCall:C,onEnterPurgatory:S,onEnterConference:p,onFailProgressCall:E,onFinishProgressCall:b,onEndedCall:P,onAddedTransceiver:v}=e,T=this.resolveHandleReadyRemoteStreamsDebounced({onReadyRemoteStreams:y}),O=this.resolveHandleReadyRemoteStreams({onReadyRemoteStreams:()=>{T().catch(r.logger)}});r.logger("callToServer",e);const _=async()=>(r.logger("startCall"),this.sipConnector.call({mediaStream:o,extraHeaders:a,iceServers:s,contentHint:c,offerToReceiveAudio:f,offerToReceiveVideo:h,directionVideo:d,directionAudio:N,degradationPreference:l,onAddedTransceiver:v,sendEncodings:u,number:t,ontrack:O}));let m=!1,R;const M=(r.logger("subscribeEnterConference: onEnterConference",p),this.sipConnector.on("api:enterRoom",({room:i})=>{r.logger("enterRoom",{_room:i,isSuccessProgressCall:m}),R=i,(S??p)&&k(R,m,{onEnterPurgatory:S,onEnterConference:p})})),F=i=>(r.logger("onSuccess"),m=!0,T().catch(r.logger),C&&C({isPurgatory:D(R)}),this.sipConnector.onceRace(["call:ended","call:failed"],()=>{L(M,P)}),i),w=i=>(r.logger("onFail"),V(E,M,i)),I=()=>{r.logger("onFinish"),b&&b()};return r.logger("onBeforeProgressCall"),g&&g(t),_().then(F).catch(i=>w(i)).finally(I)};disconnectFromServer=async()=>this.sipConnector.disconnect().then(()=>(r.logger("disconnectFromServer: then"),{isSuccessful:!0})).catch(e=>(r.logger("disconnectFromServer: catch",e),{isSuccessful:!1}));answerToIncomingCall=async e=>{const{mediaStream:t,extraHeaders:o,iceServers:a,contentHint:s,degradationPreference:c,sendEncodings:l,offerToReceiveAudio:u,offerToReceiveVideo:f,directionVideo:h,directionAudio:d,setRemoteStreams:N,onBeforeProgressCall:y,onSuccessProgressCall:g,onEnterPurgatory:C,onEnterConference:S,onFailProgressCall:p,onFinishProgressCall:E,onEndedCall:b,onAddedTransceiver:P}=e,v=this.resolveHandleReadyRemoteStreamsDebounced({onReadyRemoteStreams:N}),T=this.resolveHandleReadyRemoteStreams({onReadyRemoteStreams:()=>{v().catch(r.logger)}});r.logger("answerToIncomingCall",e);const O=async()=>this.sipConnector.answerToIncomingCall({mediaStream:t,extraHeaders:o,iceServers:a,contentHint:s,offerToReceiveAudio:u,offerToReceiveVideo:f,directionVideo:h,directionAudio:d,degradationPreference:c,onAddedTransceiver:P,sendEncodings:l,ontrack:T}),_=()=>{const{remoteCallerData:i}=this.sipConnector;return i.incomingNumber};let m=!1,R;const M=(r.logger("subscribeEnterConference: onEnterConference",S),this.sipConnector.on("api:enterRoom",i=>{r.logger("enterRoom",{_room:i,isSuccessProgressCall:m}),R=i,(C??S)&&k(R,m,{onEnterPurgatory:C,onEnterConference:S})})),F=i=>(r.logger("onSuccess"),m=!0,v().catch(r.logger),g&&g({isPurgatory:D(R)}),this.sipConnector.onceRace(["call:ended","call:failed"],()=>{L(M,b)}),i),w=i=>(r.logger("onFail"),V(p,M,i)),I=()=>{r.logger("onFinish"),E&&E()};if(r.logger("onBeforeProgressCall"),y){const i=_();y(i)}return O().then(F).catch(i=>w(i)).finally(I)};updatePresentation=async({mediaStream:e,isP2P:t,contentHint:o,degradationPreference:a,sendEncodings:s,onAddedTransceiver:c})=>(r.logger("updatePresentation"),this.sipConnector.updatePresentation(e,{isP2P:t,contentHint:o,degradationPreference:a,onAddedTransceiver:c,sendEncodings:s}));startPresentation=async({mediaStream:e,isP2P:t,contentHint:o,degradationPreference:a,sendEncodings:s,callLimit:c,onAddedTransceiver:l})=>(r.logger("startPresentation"),this.sipConnector.startPresentation(e,{isP2P:t,contentHint:o,callLimit:c,degradationPreference:a,onAddedTransceiver:l,sendEncodings:s}));stopShareSipConnector=async({isP2P:e=!1}={})=>(r.logger("stopShareSipConnector"),this.sipConnector.stopPresentation({isP2P:e}).catch(t=>{r.logger(t)}));sendRefusalToTurnOnMic=async()=>{r.logger("sendRefusalToTurnOnMic"),await this.sipConnector.sendRefusalToTurnOnMic().catch(e=>{r.logger("sendRefusalToTurnOnMic: error",e)})};sendRefusalToTurnOnCam=async()=>{r.logger("sendRefusalToTurnOnCam"),await this.sipConnector.sendRefusalToTurnOnCam().catch(e=>{r.logger("sendRefusalToTurnOnCam: error",e)})};sendMediaState=async({isEnabledCam:e,isEnabledMic:t})=>{r.logger("sendMediaState"),await this.sipConnector.sendMediaState({cam:e,mic:t})};replaceMediaStream=async(e,{deleteExisting:t,addMissing:o,forceRenegotiation:a,contentHint:s,degradationPreference:c,sendEncodings:l,onAddedTransceiver:u})=>(r.logger("replaceMediaStream"),this.sipConnector.replaceMediaStream(e,{deleteExisting:t,addMissing:o,forceRenegotiation:a,contentHint:s,degradationPreference:c,onAddedTransceiver:u,sendEncodings:l}));askPermissionToEnableCam=async()=>{r.logger("askPermissionToEnableCam"),await this.sipConnector.askPermissionToEnableCam()};resolveHandleReadyRemoteStreamsDebounced=({onReadyRemoteStreams:e})=>K.debounce(()=>{const t=this.sipConnector.getRemoteStreams();r.logger("remoteStreams",t),t&&e(t)},200);resolveHandleReadyRemoteStreams=({onReadyRemoteStreams:e})=>({track:t})=>{Re(t)&&e()};getRemoteStreams=()=>(r.logger("getRemoteStreams"),this.sipConnector.getRemoteStreams());onUseLicense=e=>(r.logger("onUseLicense"),this.sipConnector.on("api:useLicense",e));onMustStopPresentation=e=>(r.logger("onMustStopPresentation"),this.sipConnector.on("api:mustStopPresentation",e));onMoveToSpectators=e=>(r.logger("onMoveToSpectators"),this.sipConnector.on("api:participant:move-request-to-spectators",e));onMoveToParticipants=e=>(r.logger("onMoveToParticipants"),this.sipConnector.on("api:participant:move-request-to-participants",e));onStats=e=>(r.logger("onStats"),this.sipConnector.on("stats:collected",e));offStats=e=>{r.logger("offStats"),this.sipConnector.off("stats:collected",e)}}var W=(n=>(n.VP8="video/VP8",n.VP9="video/VP9",n.H264="video/H264",n.AV1="video/AV1",n.rtx="video/rtx",n.red="video/red",n.flexfec03="video/flexfec-03",n))(W||{});exports.ECallCause=r.ECallCause;exports.EStatsTypes=r.EStatsTypes;exports.EUseLicense=r.EUseLicense;exports.SipConnector=r.SipConnector;exports.StatsPeerConnection=r.StatsPeerConnection;exports.disableDebug=r.disableDebug;exports.enableDebug=r.enableDebug;exports.getCodecFromSender=r.getCodecFromSender;exports.hasCanceledStartPresentationError=r.hasCanceledStartPresentationError;exports.EMimeTypesVideoCodecs=W;exports.SipConnectorFacade=be;exports.hasAvailableStats=pe;exports.hasCanceledCallError=J;exports.tools=he;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("events-constructor");const t=require("./@SipConnector-DNQcZdY9.cjs"),x=require("@krivega/cancelable-promise"),W=require("repeated-calls"),j=require("ts-debounce"),K=require("ua-parser-js"),X=require("sequent-promises"),Y=require("stack-promises");require("@krivega/timeout-requester");const G=n=>n instanceof Object&&("originator"in n||"cause"in n),J=n=>{if(x.isCanceledError(n))return!0;if(!G(n))return!1;const{originator:e,cause:r}=n;return typeof r=="string"?r===t.ECallCause.REQUEST_TIMEOUT||r===t.ECallCause.REJECTED||e==="local"&&(r===t.ECallCause.CANCELED||r===t.ECallCause.BYE):!1},z=()=>globalThis.process?.versions?.electron!==void 0,V=()=>{const n=new K.UAParser,{name:e}=n.getBrowser(),r=z();return{isChrome:e==="Chrome"||r}},A=n=>{const{url:e,cause:r}=n;let o=e;return(r===t.ECallCause.BAD_MEDIA_DESCRIPTION||r===t.ECallCause.NOT_FOUND)&&(o=`${n.message.to.uri.user}@${n.message.to.uri.host}`),o};var B=(n=>(n.CONNECT_SERVER_FAILED="CONNECT_SERVER_FAILED",n.WRONG_USER_OR_PASSWORD="WRONG_USER_OR_PASSWORD",n.BAD_MEDIA_ERROR="BAD_MEDIA_ERROR",n.NOT_FOUND_ERROR="NOT_FOUND_ERROR",n.WS_CONNECTION_FAILED="WS_CONNECTION_FAILED",n.CONNECT_SERVER_FAILED_BY_LINK="CONNECT_SERVER_FAILED_BY_LINK",n))(B||{});const Q=new Error("Unknown error"),Z=(n=Q)=>{const{cause:e,socket:r}=n;let o="CONNECT_SERVER_FAILED";switch(e){case"Forbidden":{o="WRONG_USER_OR_PASSWORD";break}case t.ECallCause.BAD_MEDIA_DESCRIPTION:{o="BAD_MEDIA_ERROR";break}case t.ECallCause.NOT_FOUND:{o="NOT_FOUND_ERROR";break}default:r!==void 0&&r._ws?.readyState===3?o="WS_CONNECTION_FAILED":A(n)!==void 0&&A(n)!==""&&(o="CONNECT_SERVER_FAILED_BY_LINK")}return o},ee=n=>{let e="";try{e=JSON.stringify(n)}catch(r){t.logger("failed to stringify message",r)}return e},ne=new Error("Unknown error"),te=(n=ne)=>{const{code:e,cause:r,message:o}=n,s=A(n),a={code:"",cause:"",message:""};return typeof o=="object"&&o!==null?a.message=ee(o):o&&(a.message=String(o)),s!==void 0&&s!==""&&(a.link=s),e!==void 0&&e!==""&&(a.code=e),r!==void 0&&r!==""&&(a.cause=r),a},re=Object.freeze(Object.defineProperty({__proto__:null,EErrorTypes:B,getLinkError:A,getTypeFromError:Z,getValuesFromError:te},Symbol.toStringTag,{value:"Module"})),oe=({sessionId:n,remoteAddress:e,isMutedAudio:r,isMutedVideo:o,isRegistered:s,isPresentationCall:a})=>{const c=[],l=r?"0":"1",u=o?"0":"1";return c.push(`X-Vinteo-Mic-State: ${l}`,`X-Vinteo-MainCam-State: ${u}`),(s===!1||s===void 0)&&c.push("X-Vinteo-Purgatory-Call: yes"),n!==void 0&&n!==""&&c.push(`X-Vinteo-Session: ${n}`),a===!0&&c.push("X-Vinteo-Presentation-Call: yes"),e!==void 0&&e!==""&&c.push(`X-Vinteo-Remote: ${e}`),c},se="[@*!|]",ae="_",ce=n=>{let e=n;return e=e.replaceAll(new RegExp(se,"g"),ae),e},ie=({appName:n,appVersion:e,browserName:r,browserVersion:o})=>{const a=`${ce(n)} ${e}`;return`ChromeNew - ${r===void 0?a:`${r} ${o}, ${a}`}`},le=({isUnifiedSdpSemantic:n,appVersion:e,browserName:r,browserVersion:o,appName:s})=>n?ie({appVersion:e,browserName:r,browserVersion:o,appName:s}):"Chrome",$="purgatory",D=n=>n===$,ue=n=>e=>[...e].map(o=>async()=>n(o)),de=async({accumulatedKeys:n,sendKey:e,canRunTask:r})=>{const s=ue(e)(n);return X.sequentPromises(s,r)},ge=n=>r=>(t.logger("onStartMainCam"),n.on("api:admin-start-main-cam",r)),Ce=n=>r=>(t.logger("onStartMic"),n.on("api:admin-start-mic",r)),Se=n=>r=>(t.logger("onStopMainCam"),n.on("api:admin-stop-main-cam",r)),me=n=>r=>(t.logger("onStopMic"),n.on("api:admin-stop-mic",r)),fe=({sipConnector:n})=>{const e=(d,C)=>({isSyncForced:g})=>{if(g===!0){d();return}C()},r=ge(n),o=Se(n),s=Ce(n),a=me(n);let c,l,u,m;const f=({onStartMainCamForced:d,onStartMainCamNotForced:C,onStopMainCamForced:g,onStopMainCamNotForced:h,onStartMicForced:b,onStartMicNotForced:P,onStopMicForced:O,onStopMicNotForced:v})=>{const y=e(d,C);c=r(y);const _=e(g,h);l=o(_);const M=e(b,P);u=s(M);const S=e(O,v);m=a(S)},p=()=>{c?.(),l?.(),u?.(),m?.()};return{start:d=>{f(d)},stop:()=>{p()}}},pe=Object.freeze(Object.defineProperty({__proto__:null,PURGATORY_CONFERENCE_NUMBER:$,createSyncMediaState:fe,createUaParser:V,error:re,getExtraHeaders:oe,getUserAgent:le,hasPurgatory:D,prepareMediaStream:t.prepareMediaStream,sendDtmfAccumulated:de,setEncodingsToSender:t.setEncodingsToSender,setParametersToSender:t.setParametersToSender},Symbol.toStringTag,{value:"Module"})),he=()=>V().isChrome,Re=n=>{if(!x.isCanceledError(n)&&!W.hasCanceledError(n)&&!t.hasNotReadyForConnectionError(n))throw n;return{isSuccessful:!1}},Ee=({kind:n,readyState:e})=>n==="video"&&e==="live",U=(n,e,{onEnterPurgatory:r,onEnterConference:o})=>{D(n)?r&&r():o&&o({isSuccessProgressCall:e})},k=(n,e)=>{n(),e&&e()},L=(n,e,r)=>{throw n&&n(),e(),r},be=new Set(["on","once","onceRace","wait","off","sendDTMF","hangUp","declineToIncomingCall","sendChannels","checkTelephony","waitChannels","ping","startAutoConnect","stopAutoConnect","connection","isConfigured","isRegistered"]);class Pe{on;once;onceRace;wait;off;sendDTMF;hangUp;declineToIncomingCall;sendChannels;checkTelephony;waitChannels;ping;startAutoConnect;stopAutoConnect;connection;isConfigured;isRegistered;sipConnector;constructor(e){return this.sipConnector=e,new Proxy(this,{get:(r,o,s)=>{if(typeof o=="string"&&be.has(o)&&o in this.sipConnector){const c=Reflect.get(this.sipConnector,o,this.sipConnector);return typeof c=="function"?c.bind(this.sipConnector):c}const a=Reflect.get(r,o,s);return typeof a=="function"?a.bind(r):a}})}connectToServer=async(e,r)=>{const o=async()=>{const s=await t.resolveParameters(e);t.logger("connectToServer",s);const{userAgent:a,sipWebSocketServerURL:c,sipServerUrl:l,remoteAddress:u,displayName:m,name:f,password:p,isRegisteredUser:E}=s;return{userAgent:a,sipWebSocketServerURL:c,sipServerUrl:l,remoteAddress:u,displayName:m,password:p,user:f,register:E}};return this.sipConnector.connect(o,r).then(s=>(t.logger("connectToServer then"),{ua:s,isSuccessful:!0})).catch(async s=>(t.logger("connectToServer catch: error",s),Re(s)))};callToServer=async e=>{const{conference:r,mediaStream:o,extraHeaders:s,iceServers:a,contentHint:c,degradationPreference:l,sendEncodings:u,offerToReceiveAudio:m,offerToReceiveVideo:f,directionVideo:p,directionAudio:E,setRemoteStreams:T,onBeforeProgressCall:d,onSuccessProgressCall:C,onEnterPurgatory:g,onEnterConference:h,onFailProgressCall:b,onFinishProgressCall:P,onEndedCall:O,onAddedTransceiver:v}=e,y=this.resolveHandleReadyRemoteStreamsDebounced({onReadyRemoteStreams:T}),_=this.resolveHandleReadyRemoteStreams({onReadyRemoteStreams:()=>{y().catch(t.logger)}});t.logger("callToServer",e);const M=async()=>(t.logger("startCall"),this.sipConnector.call({mediaStream:o,extraHeaders:s,iceServers:a,contentHint:c,offerToReceiveAudio:m,offerToReceiveVideo:f,directionVideo:p,directionAudio:E,degradationPreference:l,onAddedTransceiver:v,sendEncodings:u,number:r,ontrack:_}));let S=!1,R;const N=(t.logger("subscribeEnterConference: onEnterConference",h),this.sipConnector.on("api:enterRoom",({room:i})=>{t.logger("enterRoom",{_room:i,isSuccessProgressCall:S}),R=i,(g??h)&&U(R,S,{onEnterPurgatory:g,onEnterConference:h})})),F=i=>(t.logger("onSuccess"),S=!0,y().catch(t.logger),C&&C({isPurgatory:D(R)}),this.sipConnector.onceRace(["call:ended","call:failed"],()=>{k(N,O)}),i),w=i=>(t.logger("onFail"),L(b,N,i)),I=()=>{t.logger("onFinish"),P&&P()};return t.logger("onBeforeProgressCall"),d&&d(r),M().then(F).catch(i=>w(i)).finally(I)};disconnectFromServer=async()=>this.sipConnector.disconnect().then(()=>(t.logger("disconnectFromServer: then"),{isSuccessful:!0})).catch(e=>(t.logger("disconnectFromServer: catch",e),{isSuccessful:!1}));answerToIncomingCall=async e=>{const{mediaStream:r,extraHeaders:o,iceServers:s,contentHint:a,degradationPreference:c,sendEncodings:l,offerToReceiveAudio:u,offerToReceiveVideo:m,directionVideo:f,directionAudio:p,setRemoteStreams:E,onBeforeProgressCall:T,onSuccessProgressCall:d,onEnterPurgatory:C,onEnterConference:g,onFailProgressCall:h,onFinishProgressCall:b,onEndedCall:P,onAddedTransceiver:O}=e,v=this.resolveHandleReadyRemoteStreamsDebounced({onReadyRemoteStreams:E}),y=this.resolveHandleReadyRemoteStreams({onReadyRemoteStreams:()=>{v().catch(t.logger)}});t.logger("answerToIncomingCall",e);const _=async()=>this.sipConnector.answerToIncomingCall({mediaStream:r,extraHeaders:o,iceServers:s,contentHint:a,offerToReceiveAudio:u,offerToReceiveVideo:m,directionVideo:f,directionAudio:p,degradationPreference:c,onAddedTransceiver:O,sendEncodings:l,ontrack:y}),M=()=>{const{remoteCallerData:i}=this.sipConnector;return i.incomingNumber};let S=!1,R;const N=(t.logger("subscribeEnterConference: onEnterConference",g),this.sipConnector.on("api:enterRoom",i=>{t.logger("enterRoom",{_room:i,isSuccessProgressCall:S}),R=i,(C??g)&&U(R,S,{onEnterPurgatory:C,onEnterConference:g})})),F=i=>(t.logger("onSuccess"),S=!0,v().catch(t.logger),d&&d({isPurgatory:D(R)}),this.sipConnector.onceRace(["call:ended","call:failed"],()=>{k(N,P)}),i),w=i=>(t.logger("onFail"),L(h,N,i)),I=()=>{t.logger("onFinish"),b&&b()};if(t.logger("onBeforeProgressCall"),T){const i=M();T(i)}return _().then(F).catch(i=>w(i)).finally(I)};updatePresentation=async({mediaStream:e,isP2P:r,contentHint:o,degradationPreference:s,sendEncodings:a,onAddedTransceiver:c})=>(t.logger("updatePresentation"),this.sipConnector.updatePresentation(e,{isP2P:r,contentHint:o,degradationPreference:s,onAddedTransceiver:c,sendEncodings:a}));startPresentation=async({mediaStream:e,isP2P:r,contentHint:o,degradationPreference:s,sendEncodings:a,callLimit:c,onAddedTransceiver:l})=>(t.logger("startPresentation"),this.sipConnector.startPresentation(e,{isP2P:r,contentHint:o,callLimit:c,degradationPreference:s,onAddedTransceiver:l,sendEncodings:a}));stopShareSipConnector=async({isP2P:e=!1}={})=>(t.logger("stopShareSipConnector"),this.sipConnector.stopPresentation({isP2P:e}).catch(r=>{t.logger(r)}));sendRefusalToTurnOnMic=async()=>{t.logger("sendRefusalToTurnOnMic"),await this.sipConnector.sendRefusalToTurnOnMic().catch(e=>{t.logger("sendRefusalToTurnOnMic: error",e)})};sendRefusalToTurnOnCam=async()=>{t.logger("sendRefusalToTurnOnCam"),await this.sipConnector.sendRefusalToTurnOnCam().catch(e=>{t.logger("sendRefusalToTurnOnCam: error",e)})};sendMediaState=async({isEnabledCam:e,isEnabledMic:r})=>{t.logger("sendMediaState"),await this.sipConnector.sendMediaState({cam:e,mic:r})};replaceMediaStream=async(e,{deleteExisting:r,addMissing:o,forceRenegotiation:s,contentHint:a,degradationPreference:c,sendEncodings:l,onAddedTransceiver:u})=>(t.logger("replaceMediaStream"),this.sipConnector.replaceMediaStream(e,{deleteExisting:r,addMissing:o,forceRenegotiation:s,contentHint:a,degradationPreference:c,onAddedTransceiver:u,sendEncodings:l}));askPermissionToEnableCam=async()=>{t.logger("askPermissionToEnableCam"),await this.sipConnector.askPermissionToEnableCam()};resolveHandleReadyRemoteStreamsDebounced=({onReadyRemoteStreams:e})=>j.debounce(()=>{const r=this.sipConnector.getRemoteStreams();t.logger("remoteStreams",r),r&&e(r)},200);resolveHandleReadyRemoteStreams=({onReadyRemoteStreams:e})=>({track:r})=>{Ee(r)&&e()};getRemoteStreams=()=>(t.logger("getRemoteStreams"),this.sipConnector.getRemoteStreams());onUseLicense=e=>(t.logger("onUseLicense"),this.sipConnector.on("api:useLicense",e));onMustStopPresentation=e=>(t.logger("onMustStopPresentation"),this.sipConnector.on("api:mustStopPresentation",e));onMoveToSpectators=e=>(t.logger("onMoveToSpectators"),this.sipConnector.on("api:participant:move-request-to-spectators",e));onMoveToParticipants=e=>(t.logger("onMoveToParticipants"),this.sipConnector.on("api:participant:move-request-to-participants",e));onStats=e=>(t.logger("onStats"),this.sipConnector.on("stats:collected",e));offStats=e=>{t.logger("offStats"),this.sipConnector.off("stats:collected",e)}}var q=(n=>(n.VP8="video/VP8",n.VP9="video/VP9",n.H264="video/H264",n.AV1="video/AV1",n.rtx="video/rtx",n.red="video/red",n.flexfec03="video/flexfec-03",n))(q||{});exports.ECallCause=t.ECallCause;exports.EStatsTypes=t.EStatsTypes;exports.EUseLicense=t.EUseLicense;exports.SipConnector=t.SipConnector;exports.StatsPeerConnection=t.StatsPeerConnection;exports.createParametersNotExistError=t.createParametersNotExistError;exports.disableDebug=t.disableDebug;exports.enableDebug=t.enableDebug;exports.getCodecFromSender=t.getCodecFromSender;exports.hasCanceledStartPresentationError=t.hasCanceledStartPresentationError;Object.defineProperty(exports,"hasConnectionPromiseIsNotActualError",{enumerable:!0,get:()=>Y.isPromiseIsNotActualError});exports.EMimeTypesVideoCodecs=q;exports.SipConnectorFacade=Pe;exports.hasAvailableStats=he;exports.hasCanceledCallError=J;exports.tools=pe;
|
package/dist/index.d.ts
CHANGED
|
@@ -12,3 +12,5 @@ export * as tools from './tools';
|
|
|
12
12
|
export { EMimeTypesVideoCodecs } from './types';
|
|
13
13
|
export type { TJsSIP } from './types';
|
|
14
14
|
export { default as getCodecFromSender } from './utils/getCodecFromSender';
|
|
15
|
+
export { hasConnectionPromiseIsNotActualError } from './ConnectionQueueManager';
|
|
16
|
+
export { createParametersNotExistError } from './AutoConnectorManager';
|