@webex/calling 3.0.0-next.18 → 3.0.0-next.19

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.
@@ -319,7 +319,7 @@ describe('Call Manager Tests with respect to calls', function () {
319
319
  return (0, _Utils.waitForMsecs)(50);
320
320
  case 12:
321
321
  expect(patchMock).toHaveBeenCalledWith(_types2.MobiusCallState.ALERTING);
322
- expect(warnSpy).toHaveBeenCalledWith('Call Progress failed with Mobius', {
322
+ expect(warnSpy).toHaveBeenCalledWith('Failed to signal call progression', {
323
323
  file: 'call',
324
324
  method: 'handleOutgoingCallAlerting'
325
325
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_Utils","require","_types","_testUtil","_callManager","_types2","_call","_Logger","_interopRequireDefault","_types3","webex","getTestUtilsWebex","defaultServiceIndicator","ServiceIndicator","CALLING","mediaEvent","id","data","message","messageType","sdp","seq","version","callId","callUrl","deviceId","correlationId","eventType","timestamp","trackingId","alertType","headers","sequenceNumber","filterMessage","setupEvent","callerId","from","broadworksCorrelationInfo","disconnectEvent","causecode","cause","dest","type","CallType","URI","address","successResponseBody","statusCode","body","device","callData","callState","MobiusCallState","PROCEEDING","mockLineId","mockLine","lineId","describe","dummyResponse","patchMock","jest","spyOn","Call","prototype","setDisconnectReasonMock","deleteCallMock","initMediaConnectionMock","mediaRoapEventsListenerMock","mediaTrackListenerMock","postMediaMock","mockResolvedValue","mockReturnValue","callManager","beforeEach","getCallManager","removeAllListeners","LINE_EVENT_KEYS","INCOMING_CALL","expect","_keys","default","getActiveCalls","length","toBe","afterEach","calls","_values","forEach","call","end","it","toBeTruthy","callManagerNew","toMatchObject","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","updateLine","request","mockReturnValueOnce","createCall","CallDirection","OUTBOUND","sent","setCallId","getCallId","toStrictEqual","stop","_callee2","_callee2$","_context2","on","callObj","getBroadworksCorrelationInfo","waitForMsecs","toHaveBeenCalledWith","ALERTING","_callee3","_callee3$","_context3","_callee4","_callee4$","_context4","getCorrelationId","toHaveBeenCalled","_callee5","_callee5$","_context5","not","_callee6","warnSpy","_callee6$","_context6","mockRejectedValue","log","file","method","_callee8","_callee8$","_context8","_ref8","_callee7","mediaSpy","mediaClose","track","_callee7$","_context7","state","value","answer","localAudioTrack","CONNECTED","_x","apply","arguments","dummyCallId","funcSpy","callSpy","logSpy","_callee9","eventData","_callee9$","_context9","toHaveBeenLastCalledWith","_callee10","_callee10$","_context10","_callee11","_callee11$","_context11","_callee12","mediaOK","_callee12$","_context12","received","_callee13","_callee13$","_context13","_callee14","_callee14$","_context14","_callee15","_callee15$","_context15","_callee16","connectEvent","_callee16$","_context16","JSON","parse","_stringify","_callee17","answerEvent","_callee17$","_context17","_callee18","_callee18$","_context18"],"sources":["callManager.test.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable dot-notation */\nimport {waitForMsecs} from '../../common/Utils';\nimport {CallDirection, CallType, ServiceIndicator} from '../../common/types';\nimport {getTestUtilsWebex} from '../../common/testUtil';\nimport {getCallManager} from './callManager';\nimport {ICall, ICallManager, MobiusCallState} from './types';\nimport {Call} from './call';\nimport log from '../../Logger';\nimport {ILine} from '../line/types';\nimport {LINE_EVENT_KEYS} from '../../Events/types';\n\nconst webex = getTestUtilsWebex();\nconst defaultServiceIndicator = ServiceIndicator.CALLING;\n\nconst mediaEvent = {\n id: '73e6a2b2-968c-44ea-a536-e7702722f8d8',\n data: {\n message: {\n messageType: 'OFFER',\n sdp: 'v=0\\r\\no=BroadWorks 175625 1653906127914 IN IP4 207.182.171.180\\r\\ns=-\\r\\nc=IN IP4 207.182.171.180\\r\\nt=0 0\\r\\na=ice-lite\\r\\nm=audio 19564 UDP/TLS/RTP/SAVPF 99 9 0 8 18 102 101\\r\\na=sendrecv\\r\\na=rtpmap:99 opus/48000/2\\r\\na=rtpmap:9 G722/8000\\r\\na=rtpmap:0 PCMU/8000\\r\\na=rtpmap:8 PCMA/8000\\r\\na=rtpmap:18 G729/8000\\r\\na=fmtp:18 annexb=no\\r\\na=rtpmap:102 iLBC/8000\\r\\na=fmtp:102 mode=30\\r\\na=rtpmap:101 telephone-event/8000\\r\\na=rtcp-mux\\r\\na=setup:actpass\\r\\na=ssrc:379289707 cname:HC3h2tromqGgnGaf\\r\\na=ice-ufrag:mLbW\\r\\na=ice-pwd:Hct9MYtML1sedttd8fLCg9aJ\\r\\na=fingerprint:sha-256 5E:F5:3D:98:57:03:D7:73:8F:C3:D4:FC:EC:FE:7F:4D:04:D8:EE:2A:29:C4:9F:35:C5:0F:D1:2D:CE:E4:AE:AA\\r\\na=candidate:mse 1 UDP 2130706431 207.182.171.180 19564 typ host\\r\\na=candidate:mse 2 UDP 2130706430 207.182.171.180 19565 typ host',\n seq: 1,\n version: '2',\n },\n callId: 'f2e89262-7d9a-489f-b65d-3b56a31c7bfe',\n callUrl:\n '[https://wdm-intb.ciscospark.com/wdm/api/v1/devices/14ef3832-a7af-4457-a660-fd1918d627d0]',\n deviceId: '375b8503-f716-3407-853b-cd9a8c4419a7',\n correlationId: '',\n eventType: 'mobius.media',\n },\n timestamp: 1653906128188,\n trackingId: 'ROUTER_62949AD0-DB6E-01BB-595A-03158964595A',\n alertType: 'full',\n headers: {},\n sequenceNumber: 7,\n filterMessage: false,\n};\n\nconst setupEvent = {\n id: '3ee919c7-202d-4f8c-9b74-e5ee8a693dfa',\n data: {\n callerId: {\n 'x-broadworks-remote-party-info':\n 'userId=\"hkkcq0ekby@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865895;ext=5008;country-code=1\";externalId=652fe0c7-05ce-4acd-8bda-9a080830187f',\n from: '\"Bob Marley\" <sip:5008@207.182.171.130;user=phone>;tag=379221777-1653906128003-',\n },\n callId: 'f2e89262-7d9a-489f-b65d-3b56a31c7bfe',\n callUrl:\n '[https://wdm-intb.ciscospark.com/wdm/api/v1/devices/14ef3832-a7af-4457-a660-fd1918d627d0]',\n deviceId: '375b8503-f716-3407-853b-cd9a8c4419a7',\n correlationId: '',\n eventType: 'mobius.call',\n broadworksCorrelationInfo: 'Sample_broadworksCorrelationInfo',\n },\n timestamp: 1653906128159,\n trackingId: 'ROUTER_62949AD0-DB6E-01BB-595A-03158964595A',\n alertType: 'full',\n headers: {},\n sequenceNumber: 6,\n filterMessage: false,\n};\n\nconst disconnectEvent = {\n id: 'f3e37504-5867-48ea-8d67-4e82b3ce1755',\n data: {\n causecode: 0,\n cause: 'Normal disconnect',\n callId: 'cbfe802c-cc8d-407f-863d-0abf8d6cc497',\n callUrl:\n '[https://wdm-intb.ciscospark.com/wdm/api/v1/devices/5691641c-7f0c-47a4-b248-e585ebcf653d]',\n deviceId: 'b9270663-54c8-3540-b01f-ed807dc5f9e8',\n correlationId: '',\n eventType: 'mobius.calldisconnected',\n },\n timestamp: 1653925625934,\n trackingId: 'NA_fe7efbbc-de52-438c-a6c3-58e96db230ba',\n alertType: 'full',\n headers: {},\n sequenceNumber: 6,\n filterMessage: false,\n};\nconst deviceId = '55dfb53f-bed2-36da-8e85-cee7f02aa68e';\nconst dest = {\n type: CallType.URI,\n address: 'tel:5003',\n};\n\nconst successResponseBody = {\n statusCode: 200,\n body: {\n device: {\n deviceId: '8a67806f-fc4d-446b-a131-31e71ea5b010',\n correlationId: '8a67806f-fc4d-446b-a131-31e71ea5b011',\n },\n callId: '8a67806f-fc4d-446b-a131-31e71ea5b020',\n callData: {\n callState: MobiusCallState.PROCEEDING,\n },\n },\n};\n\nconst mockLineId = 'e4e8ee2a-a154-4e52-8f11-ef4cde2dce72';\nconst mockLine = {\n lineId: mockLineId,\n} as ILine;\n\ndescribe('Call Manager Tests with respect to calls', () => {\n const dummyResponse = {\n statusCode: 200,\n body: {\n device: {\n deviceId: '8a67806f-fc4d-446b-a131-31e71ea5b010',\n correlationId: '8a67806f-fc4d-446b-a131-31e71ea5b011',\n },\n },\n };\n\n const patchMock = jest.spyOn(Call.prototype as any, 'patch');\n const setDisconnectReasonMock = jest.spyOn(Call.prototype as any, 'setDisconnectReason');\n const deleteCallMock = jest.spyOn(Call.prototype as any, 'delete');\n const initMediaConnectionMock = jest.spyOn(Call.prototype as any, 'initMediaConnection');\n const mediaRoapEventsListenerMock = jest.spyOn(Call.prototype as any, 'mediaRoapEventsListener');\n const mediaTrackListenerMock = jest.spyOn(Call.prototype as any, 'mediaTrackListener');\n const postMediaMock = jest.spyOn(Call.prototype as any, 'postMedia');\n\n deleteCallMock.mockResolvedValue(dummyResponse); // Both are using dummy response\n setDisconnectReasonMock.mockReturnValue({});\n initMediaConnectionMock.mockReturnValue({});\n mediaRoapEventsListenerMock.mockReturnValue({});\n mediaTrackListenerMock.mockReturnValue({});\n postMediaMock.mockResolvedValue({});\n\n let callManager: ICallManager;\n\n beforeEach(() => {\n callManager = getCallManager(webex, defaultServiceIndicator);\n callManager.removeAllListeners(LINE_EVENT_KEYS.INCOMING_CALL);\n /* expect 0 calls at the beginning of each test as we are clearing calls at the end of every test case */\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(0);\n });\n\n afterEach(() => {\n /* lets clear all calls at the end of every test case */\n const calls = Object.values(callManager.getActiveCalls());\n\n calls.forEach((call) => {\n call.end();\n });\n });\n\n it('check instance of call manager', () => {\n expect(callManager).toBeTruthy();\n });\n\n it('Check whether callManager is singleton', () => {\n const callManagerNew = getCallManager(webex, defaultServiceIndicator);\n\n expect(callManager).toMatchObject(callManagerNew);\n });\n\n it('create a call using call manager', async () => {\n callManager.updateLine('8a67806f-fc4d-446b-a131-31e71ea5b010', mockLine);\n webex.request.mockReturnValueOnce({\n statusCode: 200,\n body: {\n device: {\n deviceId: '8a67806f-fc4d-446b-a131-31e71ea5b010',\n correlationId: '8a67806f-fc4d-446b-a131-31e71ea5b011',\n },\n callId: '8a67806f-fc4d-446b-a131-31e71ea5b020',\n callData: {\n callState: MobiusCallState.PROCEEDING,\n },\n },\n });\n\n expect(callManager).toBeTruthy();\n const call = await callManager.createCall(dest, CallDirection.OUTBOUND, deviceId, mockLineId);\n\n call.setCallId('8a67806f-fc4d-446b-a131-31e71ea5b020');\n\n expect(call).toBeTruthy();\n expect(call.getCallId()).toStrictEqual('8a67806f-fc4d-446b-a131-31e71ea5b020');\n expect(call.lineId).toStrictEqual(mockLineId);\n });\n\n it('Accept an incoming call from Mobius where Call Setup was the first message', async () => {\n callManager.updateLine('375b8503-f716-3407-853b-cd9a8c4419a7', mockLine);\n callManager.on(LINE_EVENT_KEYS.INCOMING_CALL, (callObj: ICall) => {\n expect(callObj.getCallId()).toStrictEqual(setupEvent.data.callId);\n expect(callObj.getBroadworksCorrelationInfo()).toStrictEqual(\n setupEvent.data.broadworksCorrelationInfo\n );\n expect(callObj.lineId).toStrictEqual(mockLineId);\n });\n patchMock.mockResolvedValue(dummyResponse);\n\n await callManager['dequeueWsEvents'](setupEvent);\n await waitForMsecs(50);\n await callManager['dequeueWsEvents'](mediaEvent);\n await waitForMsecs(50);\n\n expect(patchMock).toHaveBeenCalledWith(MobiusCallState.ALERTING);\n /* setUp event should create the call and count will be 1 for new call */\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(1);\n });\n\n it('Accept an incoming call from Mobius where Media Event was the first message', async () => {\n callManager.updateLine('8a67806f-fc4d-446b-a131-31e71ea5b010', mockLine);\n patchMock.mockResolvedValue(dummyResponse);\n callManager.on(LINE_EVENT_KEYS.INCOMING_CALL, (callObj: ICall) => {\n expect(callObj.getCallId()).toStrictEqual(setupEvent.data.callId);\n expect(callObj['remoteRoapMessage'].sdp).toStrictEqual(mediaEvent.data.message.sdp);\n });\n\n await callManager['dequeueWsEvents'](mediaEvent);\n /* check whether SDP is buffered */\n await callManager['dequeueWsEvents'](setupEvent);\n expect(patchMock).toHaveBeenCalledWith(MobiusCallState.ALERTING);\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(1);\n });\n\n it('Disconnect a call if received a Call Disconnect event', async () => {\n webex.request.mockReturnValueOnce(successResponseBody);\n\n /* lets add a call to disconnect it later */\n const call = await callManager.createCall(dest, CallDirection.OUTBOUND, deviceId, mockLineId);\n\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(1);\n /* clear the last added call */\n\n patchMock.mockResolvedValue(dummyResponse);\n disconnectEvent.data.correlationId = call.getCorrelationId();\n callManager['dequeueWsEvents'](disconnectEvent);\n\n /* Add a small delay , to simulate sending of Delete request and clearing from Call records */\n await waitForMsecs(50);\n\n expect(deleteCallMock).toHaveBeenCalled();\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(0);\n });\n\n it('Do not Disconnect a call if call has been disconnected already', async () => {\n webex.request.mockReturnValueOnce(successResponseBody);\n\n /* lets add a call to disconnect it later */\n await callManager.createCall(dest, CallDirection.OUTBOUND, deviceId, mockLineId);\n\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(1);\n /* clear the last added call */\n\n patchMock.mockResolvedValue(dummyResponse);\n disconnectEvent.data.correlationId = '1234';\n callManager['dequeueWsEvents'](disconnectEvent);\n\n /* Add a small delay , to simulate sending of Delete request and clearing from Call records */\n await waitForMsecs(50);\n\n expect(deleteCallMock).not.toHaveBeenCalled();\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(1);\n });\n\n it('Accept an incoming call but Outgoing patch request fails', async () => {\n callManager.updateLine('8a67806f-fc4d-446b-a131-31e71ea5b010', mockLine);\n /* Intentionally failing the Patch with 503 */\n dummyResponse.statusCode = 503;\n patchMock.mockRejectedValue(dummyResponse);\n\n const warnSpy = jest.spyOn(log, 'warn');\n\n await callManager['dequeueWsEvents'](mediaEvent);\n await waitForMsecs(50);\n await callManager['dequeueWsEvents'](setupEvent);\n await waitForMsecs(50);\n\n expect(patchMock).toHaveBeenCalledWith(MobiusCallState.ALERTING);\n expect(warnSpy).toHaveBeenCalledWith('Call Progress failed with Mobius', {\n file: 'call',\n method: 'handleOutgoingCallAlerting',\n });\n /* No calls should have been added as call progress failed */\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(0);\n });\n\n it('Walk through an End to End call', async () => {\n callManager.updateLine('8a67806f-fc4d-446b-a131-31e71ea5b010', mockLine);\n let call: ICall;\n\n callManager.on(LINE_EVENT_KEYS.INCOMING_CALL, async (callObj: ICall) => {\n expect(callObj.getCallId()).toStrictEqual(setupEvent.data.callId);\n call = callObj;\n await waitForMsecs(50);\n\n const mediaSpy = jest.spyOn(call['mediaConnection'], 'roapMessageReceived');\n const mediaClose = jest.spyOn(call['mediaConnection'], 'close').mockReturnValue({});\n\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(3);\n expect(call['callStateMachine'].state.value).toStrictEqual('S_SEND_CALL_PROGRESS');\n expect(patchMock).toHaveBeenCalledWith(MobiusCallState.ALERTING);\n\n /* Receive ROAP Offer */\n await callManager['dequeueWsEvents'](mediaEvent);\n await waitForMsecs(50);\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_RECV_ROAP_OFFER');\n\n const track = {} as MediaStreamTrack;\n\n /* User answers the call */\n await call.answer({localAudioTrack: track});\n await waitForMsecs(50);\n\n expect(call['callStateMachine'].state.value).toStrictEqual('S_SEND_CALL_CONNECT');\n expect(patchMock).toHaveBeenCalledWith(MobiusCallState.CONNECTED);\n expect(mediaSpy).toHaveBeenCalled(); /* We pass the offer to media connection */\n\n /* We are manually sending this event , ideally it will sent by MediaConnection. */\n call['sendMediaStateMachineEvt']({type: 'E_SEND_ROAP_ANSWER'});\n\n await waitForMsecs(50);\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_SEND_ROAP_ANSWER');\n\n /* Simulate ROAP_OK */\n mediaEvent.data.message.messageType = 'OK';\n await callManager['dequeueWsEvents'](mediaEvent);\n await waitForMsecs(50);\n\n expect(mediaSpy).toHaveBeenCalled();\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_ROAP_OK');\n expect(call['callStateMachine'].state.value).toStrictEqual('S_CALL_ESTABLISHED');\n\n /* Simulate ROAP Offer_request */\n mediaEvent.data.message.messageType = 'OFFER_REQUEST';\n await callManager['dequeueWsEvents'](mediaEvent);\n await waitForMsecs(50);\n expect(mediaSpy).toHaveBeenCalled();\n\n /* We are manually sending this event , ideally it will sent by Media Connection. */\n call['sendMediaStateMachineEvt']({type: 'E_SEND_ROAP_OFFER'});\n\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_SEND_ROAP_OFFER');\n\n /* Simulate ROAP Answer */\n mediaEvent.data.message.messageType = 'ANSWER';\n await callManager['dequeueWsEvents'](mediaEvent);\n await waitForMsecs(50);\n expect(mediaSpy).toHaveBeenCalled();\n\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_ROAP_OK');\n expect(call['callStateMachine'].state.value).toStrictEqual('S_CALL_ESTABLISHED');\n\n /* Start Call disconnect */\n disconnectEvent.data.correlationId = call.getCorrelationId();\n callManager['dequeueWsEvents'](disconnectEvent);\n await waitForMsecs(50);\n\n expect(deleteCallMock).toHaveBeenCalled();\n expect(mediaClose).toHaveBeenCalled();\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_ROAP_TEARDOWN');\n expect(call['callStateMachine'].state.value).toStrictEqual('S_CALL_CLEARED');\n\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(2);\n });\n\n patchMock.mockResolvedValue(dummyResponse);\n await callManager['dequeueWsEvents'](setupEvent);\n });\n});\n\ndescribe('Coverage for Events listener', () => {\n let callManager: ICallManager;\n let call: ICall;\n const dummyCallId = '8a67806f-fc4d-4469-a131-31e71ec5b011';\n\n webex.request.mockReturnValueOnce({\n statusCode: 200,\n body: {\n device: {\n deviceId: '8a67806f-fc4d-446b-a131-31e71ea5b010',\n correlationId: '8a67806f-fc4d-446b-a131-31e71ea5b011',\n },\n callId: '8a67806f-fc4d-446b-a131-31e71ea5b020',\n callData: {\n callState: MobiusCallState.PROCEEDING,\n },\n },\n });\n\n beforeEach(() => {\n callManager = getCallManager(webex, defaultServiceIndicator);\n callManager.removeAllListeners(LINE_EVENT_KEYS.INCOMING_CALL);\n call = callManager.createCall(dest, CallDirection.OUTBOUND, deviceId, mockLineId);\n call.setCallId(dummyCallId);\n setupEvent.data.correlationId = call.getCorrelationId();\n });\n\n const funcSpy = jest.spyOn(Call.prototype as any, 'sendMediaStateMachineEvt');\n const callSpy = jest.spyOn(Call.prototype as any, 'sendCallStateMachineEvt');\n const logSpy = jest.spyOn(log, 'log');\n\n it('When Offer is received', async () => {\n mediaEvent.data.callId = dummyCallId;\n\n await callManager['dequeueWsEvents'](mediaEvent);\n const eventData = {data: mediaEvent.data.message, type: 'E_RECV_ROAP_OFFER'};\n\n expect(funcSpy).toHaveBeenLastCalledWith(eventData);\n });\n\n it('When Answer is received', async () => {\n mediaEvent.data.message.messageType = 'ANSWER';\n await callManager['dequeueWsEvents'](mediaEvent);\n\n const eventData = {data: mediaEvent.data.message, type: 'E_RECV_ROAP_ANSWER'};\n\n expect(funcSpy).toHaveBeenCalledWith(eventData);\n });\n\n it('When Offer Request is received', async () => {\n mediaEvent.data.message.messageType = 'OFFER_REQUEST';\n await callManager['dequeueWsEvents'](mediaEvent);\n\n const eventData = {data: mediaEvent.data.message, type: 'E_RECV_ROAP_OFFER_REQUEST'};\n\n expect(funcSpy).toHaveBeenCalledWith(eventData);\n });\n\n it('When OK is received', async () => {\n mediaEvent.data.message.messageType = 'OK';\n await callManager['dequeueWsEvents'](mediaEvent);\n\n const mediaOK = {received: true, message: mediaEvent.data.message};\n const eventData = {data: mediaOK, type: 'E_ROAP_OK'};\n\n expect(funcSpy).toHaveBeenCalledWith(eventData);\n });\n\n it('When Error is Received', async () => {\n mediaEvent.data.message.messageType = 'ERROR';\n await callManager['dequeueWsEvents'](mediaEvent);\n\n expect(logSpy).toHaveBeenCalledWith('Received Error...', {\n file: 'callManager',\n method: 'dequeueWsEvents',\n });\n });\n\n it('When Unknown event is Received', async () => {\n mediaEvent.data.message.messageType = 'UNKNOWN';\n await callManager['dequeueWsEvents'](mediaEvent);\n\n expect(logSpy).toHaveBeenCalledWith('Unknown Media mobiusEvent: UNKNOWN ', {\n file: 'callManager',\n method: 'dequeueWsEvents',\n });\n });\n\n it('When Progress/Connect event is Received', async () => {\n setupEvent.data.eventType = 'mobius.callprogress';\n await callManager['dequeueWsEvents'](setupEvent);\n expect(callSpy).toHaveBeenCalledWith({type: 'E_RECV_CALL_PROGRESS', data: setupEvent.data});\n });\n\n it('Silently discard an event in the state machine', async () => {\n call['callStateMachine'].state.value = 'S_SEND_CALL_CONNECT';\n expect(call['callStateMachine'].state.value).toStrictEqual('S_SEND_CALL_CONNECT');\n\n const connectEvent = JSON.parse(JSON.stringify(setupEvent));\n\n connectEvent.data.eventType = 'mobius.callconnected';\n await callManager['dequeueWsEvents'](connectEvent);\n\n /* There should not be any state change */\n expect(call['callStateMachine'].state.value).toStrictEqual('S_SEND_CALL_CONNECT');\n });\n\n it('Silently discard an ROAP_ANSWER after being in ROAP_OK state', async () => {\n call['mediaStateMachine'].state.value = 'S_ROAP_OK';\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_ROAP_OK');\n\n const answerEvent = JSON.parse(JSON.stringify(mediaEvent));\n\n answerEvent.data.message.messageType = 'ANSWER';\n await callManager['dequeueWsEvents'](answerEvent);\n\n /* There should not be any state change */\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_ROAP_OK');\n });\n\n it('When Unknown Call event is Received', async () => {\n setupEvent.data.eventType = 'mobius.callunknown';\n await callManager['dequeueWsEvents'](setupEvent);\n expect(logSpy).toHaveBeenCalledWith('Unknown Call Event mobiusEvent: mobius.callunknown', {\n file: 'callManager',\n method: 'dequeueWsEvents',\n });\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_Utils","require","_types","_testUtil","_callManager","_types2","_call","_Logger","_interopRequireDefault","_types3","webex","getTestUtilsWebex","defaultServiceIndicator","ServiceIndicator","CALLING","mediaEvent","id","data","message","messageType","sdp","seq","version","callId","callUrl","deviceId","correlationId","eventType","timestamp","trackingId","alertType","headers","sequenceNumber","filterMessage","setupEvent","callerId","from","broadworksCorrelationInfo","disconnectEvent","causecode","cause","dest","type","CallType","URI","address","successResponseBody","statusCode","body","device","callData","callState","MobiusCallState","PROCEEDING","mockLineId","mockLine","lineId","describe","dummyResponse","patchMock","jest","spyOn","Call","prototype","setDisconnectReasonMock","deleteCallMock","initMediaConnectionMock","mediaRoapEventsListenerMock","mediaTrackListenerMock","postMediaMock","mockResolvedValue","mockReturnValue","callManager","beforeEach","getCallManager","removeAllListeners","LINE_EVENT_KEYS","INCOMING_CALL","expect","_keys","default","getActiveCalls","length","toBe","afterEach","calls","_values","forEach","call","end","it","toBeTruthy","callManagerNew","toMatchObject","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","updateLine","request","mockReturnValueOnce","createCall","CallDirection","OUTBOUND","sent","setCallId","getCallId","toStrictEqual","stop","_callee2","_callee2$","_context2","on","callObj","getBroadworksCorrelationInfo","waitForMsecs","toHaveBeenCalledWith","ALERTING","_callee3","_callee3$","_context3","_callee4","_callee4$","_context4","getCorrelationId","toHaveBeenCalled","_callee5","_callee5$","_context5","not","_callee6","warnSpy","_callee6$","_context6","mockRejectedValue","log","file","method","_callee8","_callee8$","_context8","_ref8","_callee7","mediaSpy","mediaClose","track","_callee7$","_context7","state","value","answer","localAudioTrack","CONNECTED","_x","apply","arguments","dummyCallId","funcSpy","callSpy","logSpy","_callee9","eventData","_callee9$","_context9","toHaveBeenLastCalledWith","_callee10","_callee10$","_context10","_callee11","_callee11$","_context11","_callee12","mediaOK","_callee12$","_context12","received","_callee13","_callee13$","_context13","_callee14","_callee14$","_context14","_callee15","_callee15$","_context15","_callee16","connectEvent","_callee16$","_context16","JSON","parse","_stringify","_callee17","answerEvent","_callee17$","_context17","_callee18","_callee18$","_context18"],"sources":["callManager.test.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable dot-notation */\nimport {waitForMsecs} from '../../common/Utils';\nimport {CallDirection, CallType, ServiceIndicator} from '../../common/types';\nimport {getTestUtilsWebex} from '../../common/testUtil';\nimport {getCallManager} from './callManager';\nimport {ICall, ICallManager, MobiusCallState} from './types';\nimport {Call} from './call';\nimport log from '../../Logger';\nimport {ILine} from '../line/types';\nimport {LINE_EVENT_KEYS} from '../../Events/types';\n\nconst webex = getTestUtilsWebex();\nconst defaultServiceIndicator = ServiceIndicator.CALLING;\n\nconst mediaEvent = {\n id: '73e6a2b2-968c-44ea-a536-e7702722f8d8',\n data: {\n message: {\n messageType: 'OFFER',\n sdp: 'v=0\\r\\no=BroadWorks 175625 1653906127914 IN IP4 207.182.171.180\\r\\ns=-\\r\\nc=IN IP4 207.182.171.180\\r\\nt=0 0\\r\\na=ice-lite\\r\\nm=audio 19564 UDP/TLS/RTP/SAVPF 99 9 0 8 18 102 101\\r\\na=sendrecv\\r\\na=rtpmap:99 opus/48000/2\\r\\na=rtpmap:9 G722/8000\\r\\na=rtpmap:0 PCMU/8000\\r\\na=rtpmap:8 PCMA/8000\\r\\na=rtpmap:18 G729/8000\\r\\na=fmtp:18 annexb=no\\r\\na=rtpmap:102 iLBC/8000\\r\\na=fmtp:102 mode=30\\r\\na=rtpmap:101 telephone-event/8000\\r\\na=rtcp-mux\\r\\na=setup:actpass\\r\\na=ssrc:379289707 cname:HC3h2tromqGgnGaf\\r\\na=ice-ufrag:mLbW\\r\\na=ice-pwd:Hct9MYtML1sedttd8fLCg9aJ\\r\\na=fingerprint:sha-256 5E:F5:3D:98:57:03:D7:73:8F:C3:D4:FC:EC:FE:7F:4D:04:D8:EE:2A:29:C4:9F:35:C5:0F:D1:2D:CE:E4:AE:AA\\r\\na=candidate:mse 1 UDP 2130706431 207.182.171.180 19564 typ host\\r\\na=candidate:mse 2 UDP 2130706430 207.182.171.180 19565 typ host',\n seq: 1,\n version: '2',\n },\n callId: 'f2e89262-7d9a-489f-b65d-3b56a31c7bfe',\n callUrl:\n '[https://wdm-intb.ciscospark.com/wdm/api/v1/devices/14ef3832-a7af-4457-a660-fd1918d627d0]',\n deviceId: '375b8503-f716-3407-853b-cd9a8c4419a7',\n correlationId: '',\n eventType: 'mobius.media',\n },\n timestamp: 1653906128188,\n trackingId: 'ROUTER_62949AD0-DB6E-01BB-595A-03158964595A',\n alertType: 'full',\n headers: {},\n sequenceNumber: 7,\n filterMessage: false,\n};\n\nconst setupEvent = {\n id: '3ee919c7-202d-4f8c-9b74-e5ee8a693dfa',\n data: {\n callerId: {\n 'x-broadworks-remote-party-info':\n 'userId=\"hkkcq0ekby@64941297.int10.bcld.webex.com\";userDn=\"tel:+12142865895;ext=5008;country-code=1\";externalId=652fe0c7-05ce-4acd-8bda-9a080830187f',\n from: '\"Bob Marley\" <sip:5008@207.182.171.130;user=phone>;tag=379221777-1653906128003-',\n },\n callId: 'f2e89262-7d9a-489f-b65d-3b56a31c7bfe',\n callUrl:\n '[https://wdm-intb.ciscospark.com/wdm/api/v1/devices/14ef3832-a7af-4457-a660-fd1918d627d0]',\n deviceId: '375b8503-f716-3407-853b-cd9a8c4419a7',\n correlationId: '',\n eventType: 'mobius.call',\n broadworksCorrelationInfo: 'Sample_broadworksCorrelationInfo',\n },\n timestamp: 1653906128159,\n trackingId: 'ROUTER_62949AD0-DB6E-01BB-595A-03158964595A',\n alertType: 'full',\n headers: {},\n sequenceNumber: 6,\n filterMessage: false,\n};\n\nconst disconnectEvent = {\n id: 'f3e37504-5867-48ea-8d67-4e82b3ce1755',\n data: {\n causecode: 0,\n cause: 'Normal disconnect',\n callId: 'cbfe802c-cc8d-407f-863d-0abf8d6cc497',\n callUrl:\n '[https://wdm-intb.ciscospark.com/wdm/api/v1/devices/5691641c-7f0c-47a4-b248-e585ebcf653d]',\n deviceId: 'b9270663-54c8-3540-b01f-ed807dc5f9e8',\n correlationId: '',\n eventType: 'mobius.calldisconnected',\n },\n timestamp: 1653925625934,\n trackingId: 'NA_fe7efbbc-de52-438c-a6c3-58e96db230ba',\n alertType: 'full',\n headers: {},\n sequenceNumber: 6,\n filterMessage: false,\n};\nconst deviceId = '55dfb53f-bed2-36da-8e85-cee7f02aa68e';\nconst dest = {\n type: CallType.URI,\n address: 'tel:5003',\n};\n\nconst successResponseBody = {\n statusCode: 200,\n body: {\n device: {\n deviceId: '8a67806f-fc4d-446b-a131-31e71ea5b010',\n correlationId: '8a67806f-fc4d-446b-a131-31e71ea5b011',\n },\n callId: '8a67806f-fc4d-446b-a131-31e71ea5b020',\n callData: {\n callState: MobiusCallState.PROCEEDING,\n },\n },\n};\n\nconst mockLineId = 'e4e8ee2a-a154-4e52-8f11-ef4cde2dce72';\nconst mockLine = {\n lineId: mockLineId,\n} as ILine;\n\ndescribe('Call Manager Tests with respect to calls', () => {\n const dummyResponse = {\n statusCode: 200,\n body: {\n device: {\n deviceId: '8a67806f-fc4d-446b-a131-31e71ea5b010',\n correlationId: '8a67806f-fc4d-446b-a131-31e71ea5b011',\n },\n },\n };\n\n const patchMock = jest.spyOn(Call.prototype as any, 'patch');\n const setDisconnectReasonMock = jest.spyOn(Call.prototype as any, 'setDisconnectReason');\n const deleteCallMock = jest.spyOn(Call.prototype as any, 'delete');\n const initMediaConnectionMock = jest.spyOn(Call.prototype as any, 'initMediaConnection');\n const mediaRoapEventsListenerMock = jest.spyOn(Call.prototype as any, 'mediaRoapEventsListener');\n const mediaTrackListenerMock = jest.spyOn(Call.prototype as any, 'mediaTrackListener');\n const postMediaMock = jest.spyOn(Call.prototype as any, 'postMedia');\n\n deleteCallMock.mockResolvedValue(dummyResponse); // Both are using dummy response\n setDisconnectReasonMock.mockReturnValue({});\n initMediaConnectionMock.mockReturnValue({});\n mediaRoapEventsListenerMock.mockReturnValue({});\n mediaTrackListenerMock.mockReturnValue({});\n postMediaMock.mockResolvedValue({});\n\n let callManager: ICallManager;\n\n beforeEach(() => {\n callManager = getCallManager(webex, defaultServiceIndicator);\n callManager.removeAllListeners(LINE_EVENT_KEYS.INCOMING_CALL);\n /* expect 0 calls at the beginning of each test as we are clearing calls at the end of every test case */\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(0);\n });\n\n afterEach(() => {\n /* lets clear all calls at the end of every test case */\n const calls = Object.values(callManager.getActiveCalls());\n\n calls.forEach((call) => {\n call.end();\n });\n });\n\n it('check instance of call manager', () => {\n expect(callManager).toBeTruthy();\n });\n\n it('Check whether callManager is singleton', () => {\n const callManagerNew = getCallManager(webex, defaultServiceIndicator);\n\n expect(callManager).toMatchObject(callManagerNew);\n });\n\n it('create a call using call manager', async () => {\n callManager.updateLine('8a67806f-fc4d-446b-a131-31e71ea5b010', mockLine);\n webex.request.mockReturnValueOnce({\n statusCode: 200,\n body: {\n device: {\n deviceId: '8a67806f-fc4d-446b-a131-31e71ea5b010',\n correlationId: '8a67806f-fc4d-446b-a131-31e71ea5b011',\n },\n callId: '8a67806f-fc4d-446b-a131-31e71ea5b020',\n callData: {\n callState: MobiusCallState.PROCEEDING,\n },\n },\n });\n\n expect(callManager).toBeTruthy();\n const call = await callManager.createCall(dest, CallDirection.OUTBOUND, deviceId, mockLineId);\n\n call.setCallId('8a67806f-fc4d-446b-a131-31e71ea5b020');\n\n expect(call).toBeTruthy();\n expect(call.getCallId()).toStrictEqual('8a67806f-fc4d-446b-a131-31e71ea5b020');\n expect(call.lineId).toStrictEqual(mockLineId);\n });\n\n it('Accept an incoming call from Mobius where Call Setup was the first message', async () => {\n callManager.updateLine('375b8503-f716-3407-853b-cd9a8c4419a7', mockLine);\n callManager.on(LINE_EVENT_KEYS.INCOMING_CALL, (callObj: ICall) => {\n expect(callObj.getCallId()).toStrictEqual(setupEvent.data.callId);\n expect(callObj.getBroadworksCorrelationInfo()).toStrictEqual(\n setupEvent.data.broadworksCorrelationInfo\n );\n expect(callObj.lineId).toStrictEqual(mockLineId);\n });\n patchMock.mockResolvedValue(dummyResponse);\n\n await callManager['dequeueWsEvents'](setupEvent);\n await waitForMsecs(50);\n await callManager['dequeueWsEvents'](mediaEvent);\n await waitForMsecs(50);\n\n expect(patchMock).toHaveBeenCalledWith(MobiusCallState.ALERTING);\n /* setUp event should create the call and count will be 1 for new call */\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(1);\n });\n\n it('Accept an incoming call from Mobius where Media Event was the first message', async () => {\n callManager.updateLine('8a67806f-fc4d-446b-a131-31e71ea5b010', mockLine);\n patchMock.mockResolvedValue(dummyResponse);\n callManager.on(LINE_EVENT_KEYS.INCOMING_CALL, (callObj: ICall) => {\n expect(callObj.getCallId()).toStrictEqual(setupEvent.data.callId);\n expect(callObj['remoteRoapMessage'].sdp).toStrictEqual(mediaEvent.data.message.sdp);\n });\n\n await callManager['dequeueWsEvents'](mediaEvent);\n /* check whether SDP is buffered */\n await callManager['dequeueWsEvents'](setupEvent);\n expect(patchMock).toHaveBeenCalledWith(MobiusCallState.ALERTING);\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(1);\n });\n\n it('Disconnect a call if received a Call Disconnect event', async () => {\n webex.request.mockReturnValueOnce(successResponseBody);\n\n /* lets add a call to disconnect it later */\n const call = await callManager.createCall(dest, CallDirection.OUTBOUND, deviceId, mockLineId);\n\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(1);\n /* clear the last added call */\n\n patchMock.mockResolvedValue(dummyResponse);\n disconnectEvent.data.correlationId = call.getCorrelationId();\n callManager['dequeueWsEvents'](disconnectEvent);\n\n /* Add a small delay , to simulate sending of Delete request and clearing from Call records */\n await waitForMsecs(50);\n\n expect(deleteCallMock).toHaveBeenCalled();\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(0);\n });\n\n it('Do not Disconnect a call if call has been disconnected already', async () => {\n webex.request.mockReturnValueOnce(successResponseBody);\n\n /* lets add a call to disconnect it later */\n await callManager.createCall(dest, CallDirection.OUTBOUND, deviceId, mockLineId);\n\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(1);\n /* clear the last added call */\n\n patchMock.mockResolvedValue(dummyResponse);\n disconnectEvent.data.correlationId = '1234';\n callManager['dequeueWsEvents'](disconnectEvent);\n\n /* Add a small delay , to simulate sending of Delete request and clearing from Call records */\n await waitForMsecs(50);\n\n expect(deleteCallMock).not.toHaveBeenCalled();\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(1);\n });\n\n it('Accept an incoming call but Outgoing patch request fails', async () => {\n callManager.updateLine('8a67806f-fc4d-446b-a131-31e71ea5b010', mockLine);\n /* Intentionally failing the Patch with 503 */\n dummyResponse.statusCode = 503;\n patchMock.mockRejectedValue(dummyResponse);\n\n const warnSpy = jest.spyOn(log, 'warn');\n\n await callManager['dequeueWsEvents'](mediaEvent);\n await waitForMsecs(50);\n await callManager['dequeueWsEvents'](setupEvent);\n await waitForMsecs(50);\n\n expect(patchMock).toHaveBeenCalledWith(MobiusCallState.ALERTING);\n expect(warnSpy).toHaveBeenCalledWith('Failed to signal call progression', {\n file: 'call',\n method: 'handleOutgoingCallAlerting',\n });\n /* No calls should have been added as call progress failed */\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(0);\n });\n\n it('Walk through an End to End call', async () => {\n callManager.updateLine('8a67806f-fc4d-446b-a131-31e71ea5b010', mockLine);\n let call: ICall;\n\n callManager.on(LINE_EVENT_KEYS.INCOMING_CALL, async (callObj: ICall) => {\n expect(callObj.getCallId()).toStrictEqual(setupEvent.data.callId);\n call = callObj;\n await waitForMsecs(50);\n\n const mediaSpy = jest.spyOn(call['mediaConnection'], 'roapMessageReceived');\n const mediaClose = jest.spyOn(call['mediaConnection'], 'close').mockReturnValue({});\n\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(3);\n expect(call['callStateMachine'].state.value).toStrictEqual('S_SEND_CALL_PROGRESS');\n expect(patchMock).toHaveBeenCalledWith(MobiusCallState.ALERTING);\n\n /* Receive ROAP Offer */\n await callManager['dequeueWsEvents'](mediaEvent);\n await waitForMsecs(50);\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_RECV_ROAP_OFFER');\n\n const track = {} as MediaStreamTrack;\n\n /* User answers the call */\n await call.answer({localAudioTrack: track});\n await waitForMsecs(50);\n\n expect(call['callStateMachine'].state.value).toStrictEqual('S_SEND_CALL_CONNECT');\n expect(patchMock).toHaveBeenCalledWith(MobiusCallState.CONNECTED);\n expect(mediaSpy).toHaveBeenCalled(); /* We pass the offer to media connection */\n\n /* We are manually sending this event , ideally it will sent by MediaConnection. */\n call['sendMediaStateMachineEvt']({type: 'E_SEND_ROAP_ANSWER'});\n\n await waitForMsecs(50);\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_SEND_ROAP_ANSWER');\n\n /* Simulate ROAP_OK */\n mediaEvent.data.message.messageType = 'OK';\n await callManager['dequeueWsEvents'](mediaEvent);\n await waitForMsecs(50);\n\n expect(mediaSpy).toHaveBeenCalled();\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_ROAP_OK');\n expect(call['callStateMachine'].state.value).toStrictEqual('S_CALL_ESTABLISHED');\n\n /* Simulate ROAP Offer_request */\n mediaEvent.data.message.messageType = 'OFFER_REQUEST';\n await callManager['dequeueWsEvents'](mediaEvent);\n await waitForMsecs(50);\n expect(mediaSpy).toHaveBeenCalled();\n\n /* We are manually sending this event , ideally it will sent by Media Connection. */\n call['sendMediaStateMachineEvt']({type: 'E_SEND_ROAP_OFFER'});\n\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_SEND_ROAP_OFFER');\n\n /* Simulate ROAP Answer */\n mediaEvent.data.message.messageType = 'ANSWER';\n await callManager['dequeueWsEvents'](mediaEvent);\n await waitForMsecs(50);\n expect(mediaSpy).toHaveBeenCalled();\n\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_ROAP_OK');\n expect(call['callStateMachine'].state.value).toStrictEqual('S_CALL_ESTABLISHED');\n\n /* Start Call disconnect */\n disconnectEvent.data.correlationId = call.getCorrelationId();\n callManager['dequeueWsEvents'](disconnectEvent);\n await waitForMsecs(50);\n\n expect(deleteCallMock).toHaveBeenCalled();\n expect(mediaClose).toHaveBeenCalled();\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_ROAP_TEARDOWN');\n expect(call['callStateMachine'].state.value).toStrictEqual('S_CALL_CLEARED');\n\n expect(Object.keys(callManager.getActiveCalls()).length).toBe(2);\n });\n\n patchMock.mockResolvedValue(dummyResponse);\n await callManager['dequeueWsEvents'](setupEvent);\n });\n});\n\ndescribe('Coverage for Events listener', () => {\n let callManager: ICallManager;\n let call: ICall;\n const dummyCallId = '8a67806f-fc4d-4469-a131-31e71ec5b011';\n\n webex.request.mockReturnValueOnce({\n statusCode: 200,\n body: {\n device: {\n deviceId: '8a67806f-fc4d-446b-a131-31e71ea5b010',\n correlationId: '8a67806f-fc4d-446b-a131-31e71ea5b011',\n },\n callId: '8a67806f-fc4d-446b-a131-31e71ea5b020',\n callData: {\n callState: MobiusCallState.PROCEEDING,\n },\n },\n });\n\n beforeEach(() => {\n callManager = getCallManager(webex, defaultServiceIndicator);\n callManager.removeAllListeners(LINE_EVENT_KEYS.INCOMING_CALL);\n call = callManager.createCall(dest, CallDirection.OUTBOUND, deviceId, mockLineId);\n call.setCallId(dummyCallId);\n setupEvent.data.correlationId = call.getCorrelationId();\n });\n\n const funcSpy = jest.spyOn(Call.prototype as any, 'sendMediaStateMachineEvt');\n const callSpy = jest.spyOn(Call.prototype as any, 'sendCallStateMachineEvt');\n const logSpy = jest.spyOn(log, 'log');\n\n it('When Offer is received', async () => {\n mediaEvent.data.callId = dummyCallId;\n\n await callManager['dequeueWsEvents'](mediaEvent);\n const eventData = {data: mediaEvent.data.message, type: 'E_RECV_ROAP_OFFER'};\n\n expect(funcSpy).toHaveBeenLastCalledWith(eventData);\n });\n\n it('When Answer is received', async () => {\n mediaEvent.data.message.messageType = 'ANSWER';\n await callManager['dequeueWsEvents'](mediaEvent);\n\n const eventData = {data: mediaEvent.data.message, type: 'E_RECV_ROAP_ANSWER'};\n\n expect(funcSpy).toHaveBeenCalledWith(eventData);\n });\n\n it('When Offer Request is received', async () => {\n mediaEvent.data.message.messageType = 'OFFER_REQUEST';\n await callManager['dequeueWsEvents'](mediaEvent);\n\n const eventData = {data: mediaEvent.data.message, type: 'E_RECV_ROAP_OFFER_REQUEST'};\n\n expect(funcSpy).toHaveBeenCalledWith(eventData);\n });\n\n it('When OK is received', async () => {\n mediaEvent.data.message.messageType = 'OK';\n await callManager['dequeueWsEvents'](mediaEvent);\n\n const mediaOK = {received: true, message: mediaEvent.data.message};\n const eventData = {data: mediaOK, type: 'E_ROAP_OK'};\n\n expect(funcSpy).toHaveBeenCalledWith(eventData);\n });\n\n it('When Error is Received', async () => {\n mediaEvent.data.message.messageType = 'ERROR';\n await callManager['dequeueWsEvents'](mediaEvent);\n\n expect(logSpy).toHaveBeenCalledWith('Received Error...', {\n file: 'callManager',\n method: 'dequeueWsEvents',\n });\n });\n\n it('When Unknown event is Received', async () => {\n mediaEvent.data.message.messageType = 'UNKNOWN';\n await callManager['dequeueWsEvents'](mediaEvent);\n\n expect(logSpy).toHaveBeenCalledWith('Unknown Media mobiusEvent: UNKNOWN ', {\n file: 'callManager',\n method: 'dequeueWsEvents',\n });\n });\n\n it('When Progress/Connect event is Received', async () => {\n setupEvent.data.eventType = 'mobius.callprogress';\n await callManager['dequeueWsEvents'](setupEvent);\n expect(callSpy).toHaveBeenCalledWith({type: 'E_RECV_CALL_PROGRESS', data: setupEvent.data});\n });\n\n it('Silently discard an event in the state machine', async () => {\n call['callStateMachine'].state.value = 'S_SEND_CALL_CONNECT';\n expect(call['callStateMachine'].state.value).toStrictEqual('S_SEND_CALL_CONNECT');\n\n const connectEvent = JSON.parse(JSON.stringify(setupEvent));\n\n connectEvent.data.eventType = 'mobius.callconnected';\n await callManager['dequeueWsEvents'](connectEvent);\n\n /* There should not be any state change */\n expect(call['callStateMachine'].state.value).toStrictEqual('S_SEND_CALL_CONNECT');\n });\n\n it('Silently discard an ROAP_ANSWER after being in ROAP_OK state', async () => {\n call['mediaStateMachine'].state.value = 'S_ROAP_OK';\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_ROAP_OK');\n\n const answerEvent = JSON.parse(JSON.stringify(mediaEvent));\n\n answerEvent.data.message.messageType = 'ANSWER';\n await callManager['dequeueWsEvents'](answerEvent);\n\n /* There should not be any state change */\n expect(call['mediaStateMachine'].state.value).toStrictEqual('S_ROAP_OK');\n });\n\n it('When Unknown Call event is Received', async () => {\n setupEvent.data.eventType = 'mobius.callunknown';\n await callManager['dequeueWsEvents'](setupEvent);\n expect(logSpy).toHaveBeenCalledWith('Unknown Call Event mobiusEvent: mobius.callunknown', {\n file: 'callManager',\n method: 'dequeueWsEvents',\n });\n });\n});\n"],"mappings":"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"}
@@ -31,6 +31,7 @@ export class Call extends Eventing {
31
31
  mediaConnection;
32
32
  earlyMedia;
33
33
  connected;
34
+ mediaInactivity;
34
35
  callerInfo;
35
36
  localRoapMessage;
36
37
  mobiusUrl;
@@ -72,6 +73,7 @@ export class Call extends Eventing {
72
73
  this.correlationId = uuid();
73
74
  this.deleteCb = deleteCb;
74
75
  this.connected = false;
76
+ this.mediaInactivity = false;
75
77
  this.held = false;
76
78
  this.earlyMedia = false;
77
79
  this.callerInfo = {};
@@ -79,7 +81,7 @@ export class Call extends Eventing {
79
81
  this.mobiusUrl = activeUrl;
80
82
  this.receivedRoapOKSeq = 0;
81
83
  this.mediaNegotiationCompleted = false;
82
- log.info(`Mobius Url:- ${this.mobiusUrl}`, {
84
+ log.info(`Webex Calling Url:- ${this.mobiusUrl}`, {
83
85
  file: CALL_FILE,
84
86
  method: 'constructor',
85
87
  });
@@ -577,7 +579,7 @@ export class Call extends Eventing {
577
579
  this.setCallId(response.body.callId);
578
580
  }
579
581
  catch (e) {
580
- log.warn('Call setup failed with Mobius', {
582
+ log.warn('Failed to setup the call', {
581
583
  file: CALL_FILE,
582
584
  method: this.handleOutgoingCallSetup.name,
583
585
  });
@@ -614,7 +616,7 @@ export class Call extends Eventing {
614
616
  }
615
617
  }
616
618
  catch (e) {
617
- log.warn('Call Hold failed with Mobius', {
619
+ log.warn('Failed to put the call on hold', {
618
620
  file: CALL_FILE,
619
621
  method: this.handleCallHold.name,
620
622
  });
@@ -651,7 +653,7 @@ export class Call extends Eventing {
651
653
  }
652
654
  }
653
655
  catch (e) {
654
- log.warn('Call Resume failed with Mobius', {
656
+ log.warn('Failed to resume the call', {
655
657
  file: CALL_FILE,
656
658
  method: this.handleCallResume.name,
657
659
  });
@@ -735,7 +737,7 @@ export class Call extends Eventing {
735
737
  });
736
738
  }
737
739
  catch (err) {
738
- log.warn('Call Progress failed with Mobius', {
740
+ log.warn('Failed to signal call progression', {
739
741
  file: CALL_FILE,
740
742
  method: this.handleOutgoingCallAlerting.name,
741
743
  });
@@ -771,15 +773,15 @@ export class Call extends Eventing {
771
773
  return;
772
774
  }
773
775
  try {
776
+ this.mediaConnection.roapMessageReceived(this.remoteRoapMessage);
774
777
  const res = await this.patch(MobiusCallState.CONNECTED);
775
778
  log.log(`PATCH response: ${res.statusCode}`, {
776
779
  file: CALL_FILE,
777
780
  method: this.handleOutgoingCallConnect.name,
778
781
  });
779
- this.mediaConnection.roapMessageReceived(this.remoteRoapMessage);
780
782
  }
781
783
  catch (err) {
782
- log.warn('Call Connect failed with Mobius', {
784
+ log.warn('Failed to connect the call', {
783
785
  file: CALL_FILE,
784
786
  method: this.handleOutgoingCallConnect.name,
785
787
  });
@@ -805,7 +807,7 @@ export class Call extends Eventing {
805
807
  });
806
808
  }
807
809
  catch (e) {
808
- log.warn('Delete Call failed with Mobius', {
810
+ log.warn('Failed to delete the call', {
809
811
  file: CALL_FILE,
810
812
  method: this.handleIncomingCallDisconnect.name,
811
813
  });
@@ -832,7 +834,7 @@ export class Call extends Eventing {
832
834
  });
833
835
  }
834
836
  catch (e) {
835
- log.warn('Delete Call failed with Mobius', {
837
+ log.warn('Failed to delete the call', {
836
838
  file: CALL_FILE,
837
839
  method: this.handleOutgoingCallDisconnect.name,
838
840
  });
@@ -909,7 +911,7 @@ export class Call extends Eventing {
909
911
  });
910
912
  }
911
913
  catch (e) {
912
- log.warn('Delete Call failed with Mobius', {
914
+ log.warn('Failed to delete the call', {
913
915
  file: CALL_FILE,
914
916
  method: this.handleUnknownState.name,
915
917
  });
@@ -985,7 +987,7 @@ export class Call extends Eventing {
985
987
  }
986
988
  }
987
989
  catch (err) {
988
- log.warn('MediaOk failed with Mobius', {
990
+ log.warn('Failed to process MediaOk request', {
989
991
  file: CALL_FILE,
990
992
  method: 'handleRoapEstablished',
991
993
  });
@@ -1039,7 +1041,7 @@ export class Call extends Eventing {
1039
1041
  });
1040
1042
  }
1041
1043
  catch (err) {
1042
- log.warn('Failed to communicate ROAP error with Mobius', {
1044
+ log.warn('Failed to communicate ROAP error to Webex Calling', {
1043
1045
  file: CALL_FILE,
1044
1046
  method: this.handleRoapError.name,
1045
1047
  });
@@ -1080,7 +1082,7 @@ export class Call extends Eventing {
1080
1082
  });
1081
1083
  }
1082
1084
  catch (err) {
1083
- log.warn('MediaOk failed with Mobius', {
1085
+ log.warn('Failed to process MediaOk request', {
1084
1086
  file: CALL_FILE,
1085
1087
  method: this.handleOutgoingRoapOffer.name,
1086
1088
  });
@@ -1109,7 +1111,7 @@ export class Call extends Eventing {
1109
1111
  });
1110
1112
  }
1111
1113
  catch (err) {
1112
- log.warn('MediaAnswer failed with Mobius', {
1114
+ log.warn('Failed to send MediaAnswer request', {
1113
1115
  file: CALL_FILE,
1114
1116
  method: this.handleOutgoingRoapAnswer.name,
1115
1117
  });
@@ -1206,7 +1208,11 @@ export class Call extends Eventing {
1206
1208
  });
1207
1209
  };
1208
1210
  setDisconnectReason() {
1209
- if (this.connected || this.direction === CallDirection.OUTBOUND) {
1211
+ if (this.mediaInactivity) {
1212
+ this.disconnectReason.code = DisconnectCode.MEDIA_INACTIVITY;
1213
+ this.disconnectReason.cause = DisconnectCause.MEDIA_INACTIVITY;
1214
+ }
1215
+ else if (this.connected || this.direction === CallDirection.OUTBOUND) {
1210
1216
  this.disconnectReason.code = DisconnectCode.NORMAL;
1211
1217
  this.disconnectReason.cause = DisconnectCause.NORMAL;
1212
1218
  }
@@ -1220,6 +1226,15 @@ export class Call extends Eventing {
1220
1226
  };
1221
1227
  async answer(localAudioStream) {
1222
1228
  const localAudioTrack = localAudioStream.outputStream.getAudioTracks()[0];
1229
+ if (!localAudioTrack) {
1230
+ log.warn(`Did not find a local track while answering the call ${this.getCorrelationId()}`, {
1231
+ file: CALL_FILE,
1232
+ method: 'answer',
1233
+ });
1234
+ this.mediaInactivity = true;
1235
+ this.sendCallStateMachineEvt({ type: 'E_SEND_CALL_DISCONNECT' });
1236
+ return;
1237
+ }
1223
1238
  localAudioTrack.enabled = true;
1224
1239
  if (!this.mediaConnection) {
1225
1240
  this.initMediaConnection(localAudioTrack);
@@ -1236,6 +1251,15 @@ export class Call extends Eventing {
1236
1251
  }
1237
1252
  async dial(localAudioStream) {
1238
1253
  const localAudioTrack = localAudioStream.outputStream.getAudioTracks()[0];
1254
+ if (!localAudioTrack) {
1255
+ log.warn(`Did not find a local track while dialling the call ${this.getCorrelationId()}`, {
1256
+ file: CALL_FILE,
1257
+ method: 'dial',
1258
+ });
1259
+ this.deleteCb(this.getCorrelationId());
1260
+ this.emit(CALL_EVENT_KEYS.DISCONNECT, this.getCorrelationId());
1261
+ return;
1262
+ }
1239
1263
  localAudioTrack.enabled = true;
1240
1264
  if (!this.mediaConnection) {
1241
1265
  this.initMediaConnection(localAudioTrack);
@@ -1276,7 +1300,7 @@ export class Call extends Eventing {
1276
1300
  });
1277
1301
  };
1278
1302
  async patch(state) {
1279
- log.info(`Send a PATCH for ${state} to mobius`, {
1303
+ log.info(`Send a PATCH for ${state} to Webex Calling`, {
1280
1304
  file: CALL_FILE,
1281
1305
  method: this.patch.name,
1282
1306
  });
@@ -1437,7 +1461,7 @@ export class Call extends Eventing {
1437
1461
  return parseMediaQualityStatistics(stats);
1438
1462
  }
1439
1463
  async postMedia(roapMessage) {
1440
- log.log('Posting message to mobius', {
1464
+ log.log('Posting message to Webex Calling', {
1441
1465
  file: CALL_FILE,
1442
1466
  method: this.postMedia.name,
1443
1467
  });
@@ -20,6 +20,7 @@ export declare class Call extends Eventing<CallEventTypes> implements ICall {
20
20
  mediaConnection?: any;
21
21
  private earlyMedia;
22
22
  private connected;
23
+ private mediaInactivity;
23
24
  private callerInfo;
24
25
  private localRoapMessage;
25
26
  private mobiusUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/calling/call.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/calling/call.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EAGtB,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAEL,WAAW,EACX,aAAa,EACb,MAAM,EACN,aAAa,EACb,kBAAkB,EAElB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAyB5B,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAEL,YAAY,EACZ,SAAS,EACT,cAAc,EAGd,SAAS,EAET,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAgB,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AACjE,OAAO,EACL,YAAY,EACZ,oBAAoB,EAGpB,gBAAgB,EAChB,KAAK,EAGL,YAAY,EAOZ,UAAU,EAGV,YAAY,EACb,MAAM,SAAS,CAAC;AAWjB,qBAAa,IAAK,SAAQ,QAAQ,CAAC,cAAc,CAAE,YAAW,KAAK;IACjE,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,KAAK,CAAW;IAExB,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO,CAAC,SAAS,CAAgB;IAEjC,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,QAAQ,CAAS;IAElB,MAAM,EAAE,MAAM,CAAC;IAEtB,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,OAAO,CAAC,gBAAgB,CAAC;IAEzB,OAAO,CAAC,iBAAiB,CAAC;IAE1B,OAAO,CAAC,GAAG,CAAS;IAIb,eAAe,CAAC,EAAE,GAAG,CAAC;IAE7B,OAAO,CAAC,UAAU,CAAU;IAE5B,OAAO,CAAC,SAAS,CAAU;IAE3B,OAAO,CAAC,eAAe,CAAU;IAEjC,OAAO,CAAC,UAAU,CAAqB;IAEvC,OAAO,CAAC,gBAAgB,CAAc;IAEtC,OAAO,CAAC,SAAS,CAAU;IAE3B,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,OAAO,CAAC,QAAQ,CAAuB;IAEvC,OAAO,CAAC,QAAQ,CAAY;IAE5B,OAAO,CAAC,YAAY,CAAC,CAAe;IAGpC,OAAO,CAAC,0BAA0B,CAAC,CAAiB;IAEpD,OAAO,CAAC,KAAK,CAAU;IAEvB,OAAO,CAAC,IAAI,CAAU;IAEtB,OAAO,CAAC,aAAa,CAAiB;IAEtC,OAAO,CAAC,yBAAyB,CAAC,CAAS;IAE3C,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,OAAO,CAAC,yBAAyB,CAAU;IAE3C,OAAO,CAAC,iBAAiB,CAAS;IAO3B,OAAO;IASP,WAAW;IASX,MAAM;gBAQX,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,gBAAgB;IAmrB7B,OAAO,CAAC,uBAAuB;YAgBjB,uBAAuB;YA8CvB,cAAc;YAqEd,gBAAgB;IAoE9B,OAAO,CAAC,0BAA0B;IAoClC,OAAO,CAAC,8BAA8B;YAwCxB,0BAA0B;IA2CxC,OAAO,CAAC,yBAAyB;YAsBnB,yBAAyB;YAyDzB,4BAA4B;YA+C5B,4BAA4B;IAwC1C,OAAO,CAAC,qBAAqB;YAyEf,kBAAkB;IAgEhC,OAAO,CAAC,kBAAkB;YAyCZ,qBAAqB;YAkGrB,eAAe;YA4Df,uBAAuB;YA2DvB,wBAAwB;IAgDtC,OAAO,CAAC,uBAAuB;IA6C/B,OAAO,CAAC,wBAAwB;IAuBhC,OAAO,CAAC,mBAAmB;IA2BpB,YAAY,QAAO,aAAa,CAAmB;IAKnD,SAAS,QAAO,MAAM,CAAgB;IAKtC,gBAAgB,QAAO,aAAa,CAAuB;IAO3D,uBAAuB,CAAC,KAAK,EAAE,SAAS;IASxC,wBAAwB,CAAC,KAAK,EAAE,SAAS;IAOzC,SAAS,WAAY,MAAM,UAMhC;IAMF,OAAO,CAAC,mBAAmB;IAkBpB,mBAAmB,QAAO,gBAAgB,CAE/C;IAOW,MAAM,CAAC,gBAAgB,EAAE,qBAAqB;IAqC9C,IAAI,CAAC,gBAAgB,EAAE,qBAAqB;IAqCzD,OAAO,CAAC,IAAI,CAwBV;YAOY,KAAK;IAkCN,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC;IAsDlF,UAAU,IAAI,OAAO,CAAC,mBAAmB,CAAC;IA2B1C,gBAAgB,CAC3B,YAAY,EAAE,YAAY,EAC1B,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM;YA0GX,YAAY;YAoBZ,SAAS;IAgCvB,OAAO,CAAC,uBAAuB;IA+D/B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,yBAAyB;YAMnB,MAAM;IA6BpB,OAAO,CAAC,qBAAqB;IA6BtB,kBAAkB,CAAC,KAAK,EAAE,YAAY;IA6FtC,aAAa,QAAO,kBAAkB,CAAoB;IAK1D,GAAG,QAAO,IAAI,CAEnB;IAKK,YAAY,QAAO,IAAI,CAM5B;IAOK,uBAAuB,CAAC,UAAU,EAAE,YAAY;IAShD,SAAS,CAAC,IAAI,EAAE,MAAM;IAwBtB,IAAI,qBAAsB,qBAAqB,KAAG,IAAI,CAS3D;IAKF,4BAA4B,CAAC,yBAAyB,EAAE,MAAM,GAAG,IAAI;IAOrE,4BAA4B,IAAI,MAAM,GAAG,SAAS;IASlD,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC;CAGzC;AAaD,eAAO,MAAM,UAAU,cACV,MAAM,SACV,QAAQ,QACT,WAAW,OACZ,aAAa,YACR,MAAM,UACR,MAAM,YACJ,oBAAoB,aACnB,gBAAgB,KAC1B,KAAqF,CAAC"}
package/package.json CHANGED
@@ -130,5 +130,5 @@
130
130
  "staticpath": "docs",
131
131
  "noprompt": true
132
132
  },
133
- "version": "3.0.0-next.18"
133
+ "version": "3.0.0-next.19"
134
134
  }