@webex/calling 3.7.0-next.8 → 3.7.0-wxcc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/CallHistory/CallHistory.js +67 -195
  2. package/dist/CallHistory/CallHistory.js.map +1 -1
  3. package/dist/CallHistory/CallHistory.test.js +108 -331
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -1
  5. package/dist/CallHistory/callHistoryFixtures.js +1 -25
  6. package/dist/CallHistory/callHistoryFixtures.js.map +1 -1
  7. package/dist/CallHistory/constants.js +1 -4
  8. package/dist/CallHistory/constants.js.map +1 -1
  9. package/dist/CallHistory/types.js.map +1 -1
  10. package/dist/CallingClient/CallingClient.js +2 -2
  11. package/dist/CallingClient/CallingClient.js.map +1 -1
  12. package/dist/CallingClient/CallingClient.test.js +2 -2
  13. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  14. package/dist/CallingClient/calling/CallerId/index.js +5 -14
  15. package/dist/CallingClient/calling/CallerId/index.js.map +1 -1
  16. package/dist/CallingClient/calling/CallerId/index.test.js +6 -6
  17. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -1
  18. package/dist/CallingClient/calling/call.js +348 -434
  19. package/dist/CallingClient/calling/call.js.map +1 -1
  20. package/dist/CallingClient/calling/call.test.js +386 -516
  21. package/dist/CallingClient/calling/call.test.js.map +1 -1
  22. package/dist/CallingClient/calling/callManager.js +6 -6
  23. package/dist/CallingClient/calling/callManager.js.map +1 -1
  24. package/dist/CallingClient/calling/callManager.test.js +3 -3
  25. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  26. package/dist/CallingClient/calling/types.js +1 -6
  27. package/dist/CallingClient/calling/types.js.map +1 -1
  28. package/dist/CallingClient/constants.js +3 -2
  29. package/dist/CallingClient/constants.js.map +1 -1
  30. package/dist/CallingClient/line/index.js +7 -14
  31. package/dist/CallingClient/line/index.js.map +1 -1
  32. package/dist/CallingClient/line/line.test.js +22 -84
  33. package/dist/CallingClient/line/line.test.js.map +1 -1
  34. package/dist/CallingClient/line/types.js.map +1 -1
  35. package/dist/CallingClient/registration/register.js +59 -79
  36. package/dist/CallingClient/registration/register.js.map +1 -1
  37. package/dist/CallingClient/registration/register.test.js +1 -1
  38. package/dist/CallingClient/registration/register.test.js.map +1 -1
  39. package/dist/CallingClient/types.js.map +1 -1
  40. package/dist/Contacts/ContactsClient.js +14 -14
  41. package/dist/Contacts/ContactsClient.js.map +1 -1
  42. package/dist/Events/types.js +0 -2
  43. package/dist/Events/types.js.map +1 -1
  44. package/dist/common/Utils.js +13 -18
  45. package/dist/common/Utils.js.map +1 -1
  46. package/dist/common/Utils.test.js +0 -97
  47. package/dist/common/Utils.test.js.map +1 -1
  48. package/dist/common/constants.js +3 -4
  49. package/dist/common/constants.js.map +1 -1
  50. package/dist/common/types.js +0 -1
  51. package/dist/common/types.js.map +1 -1
  52. package/dist/index.js +12 -0
  53. package/dist/index.js.map +1 -1
  54. package/dist/module/CallHistory/CallHistory.js +2 -64
  55. package/dist/module/CallHistory/callHistoryFixtures.js +0 -24
  56. package/dist/module/CallHistory/constants.js +0 -3
  57. package/dist/module/CallingClient/CallingClient.js +1 -1
  58. package/dist/module/CallingClient/calling/CallerId/index.js +6 -6
  59. package/dist/module/CallingClient/calling/call.js +22 -66
  60. package/dist/module/CallingClient/calling/callManager.js +5 -5
  61. package/dist/module/CallingClient/calling/types.js +0 -5
  62. package/dist/module/CallingClient/constants.js +2 -1
  63. package/dist/module/CallingClient/line/index.js +8 -14
  64. package/dist/module/CallingClient/registration/register.js +4 -12
  65. package/dist/module/Contacts/ContactsClient.js +2 -2
  66. package/dist/module/Events/types.js +0 -2
  67. package/dist/module/common/Utils.js +5 -12
  68. package/dist/module/common/constants.js +2 -3
  69. package/dist/module/common/types.js +0 -1
  70. package/dist/module/index.js +1 -0
  71. package/dist/types/CallHistory/CallHistory.d.ts +2 -4
  72. package/dist/types/CallHistory/CallHistory.d.ts.map +1 -1
  73. package/dist/types/CallHistory/callHistoryFixtures.d.ts +2 -6
  74. package/dist/types/CallHistory/callHistoryFixtures.d.ts.map +1 -1
  75. package/dist/types/CallHistory/constants.d.ts +0 -3
  76. package/dist/types/CallHistory/constants.d.ts.map +1 -1
  77. package/dist/types/CallHistory/types.d.ts +0 -9
  78. package/dist/types/CallHistory/types.d.ts.map +1 -1
  79. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  80. package/dist/types/CallingClient/calling/CallerId/index.d.ts.map +1 -1
  81. package/dist/types/CallingClient/calling/call.d.ts +5 -7
  82. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  83. package/dist/types/CallingClient/calling/callManager.d.ts +1 -1
  84. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  85. package/dist/types/CallingClient/calling/types.d.ts +2 -6
  86. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  87. package/dist/types/CallingClient/constants.d.ts +2 -1
  88. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  89. package/dist/types/CallingClient/line/index.d.ts +2 -3
  90. package/dist/types/CallingClient/line/index.d.ts.map +1 -1
  91. package/dist/types/CallingClient/line/types.d.ts +1 -1
  92. package/dist/types/CallingClient/line/types.d.ts.map +1 -1
  93. package/dist/types/CallingClient/registration/register.d.ts +2 -4
  94. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  95. package/dist/types/CallingClient/types.d.ts +0 -1
  96. package/dist/types/CallingClient/types.d.ts.map +1 -1
  97. package/dist/types/Contacts/ContactsClient.d.ts +1 -1
  98. package/dist/types/Contacts/ContactsClient.d.ts.map +1 -1
  99. package/dist/types/Events/types.d.ts +2 -15
  100. package/dist/types/Events/types.d.ts.map +1 -1
  101. package/dist/types/Voicemail/UcmBackendConnector.d.ts +1 -1
  102. package/dist/types/Voicemail/WxCallBackendConnector.d.ts +1 -1
  103. package/dist/types/common/Utils.d.ts +2 -2
  104. package/dist/types/common/Utils.d.ts.map +1 -1
  105. package/dist/types/common/constants.d.ts +0 -1
  106. package/dist/types/common/constants.d.ts.map +1 -1
  107. package/dist/types/common/types.d.ts +1 -2
  108. package/dist/types/common/types.d.ts.map +1 -1
  109. package/dist/types/index.d.ts +2 -0
  110. package/dist/types/index.d.ts.map +1 -1
  111. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["VERSION","exports","USER_AGENT_VERSION","REPO_NAME","CALLING_USER_AGENT","concat","CALL_ENDPOINT_RESOURCE","CALL_STATUS_RESOURCE","CALLS_ENDPOINT_RESOURCE","CISCO_DEVICE_URL","CRLF","DEFAULT_KEEPALIVE_INTERVAL","DEFAULT_LOCAL_CALL_ID","DEFAULT_REHOMING_INTERVAL_MAX","DEFAULT_REHOMING_INTERVAL_MIN","DEFAULT_SESSION_TIMER","DEVICES_ENDPOINT_RESOURCE","DISCOVERY_URL","DUMMY_METRICS","Dur","Pkt","Oct","LatePkt","LostPkt","AvgJit","VQMetrics","VoRxCodec","VoPktSizeMs","maxJitter","VoOneWayDelayMs","networkType","hwType","VoTxCodec","rtpBitRate","DUMMY_MOBIUS_URL","IP_ENDPOINT","INITIAL_SEQ_NUMBER","MEDIA_ENDPOINT_RESOURCE","NETWORK_FLAP_TIMEOUT","CALL_HOLD_SERVICE","CALL_TRANSFER_SERVICE","HOLD_ENDPOINT","TRANSFER_ENDPOINT","RESUME_ENDPOINT","SPARK_USER_AGENT","REGISTER_RETRY_TIMEOUT","SUPPLEMENTARY_SERVICES_TIMEOUT","API_V1","URL_ENDPOINT","VALID_PHONE_REGEX","WEB_AGENT","WEBEX","WEBEX_WEB_CLIENT","CALLER_ID_FILE","UTILS_FILE","CALLING_CLIENT_FILE","LINE_FILE","CALL_FILE","CALL_MANAGER_FILE","METRIC_FILE","REGISTRATION_FILE","CODEC_ID","MEDIA_ID","RTC_ICE_CANDIDATE_PAIR","LOCAL_CANDIDATE_ID","RTC_ICE_CANDIDATE","NETWORK_TYPE","RTC_CODEC","INBOUND_CODEC_MATCH","OUTBOUND_CODEC_MATCH","MIME_TYPE","REMOTE_INBOUND_RTP","TOTAL_ROUND_TRIP_TIME","ROUND_TRIP_TIME_MEASUREMENTS","INBOUND_RTP","OUTBOUND_RTP","PACKETS_RECEIVED","PACKETS_SENT","PACKETS_LOST","PACKETS_DISCARDED","JITTER_BUFFER_DELAY","JITTER_BUFFER_EMITTED_COUNT","TIMESTAMP","TYPE","TRANSPORT","TARGET_BIT_RATE","MEDIA_SOURCE","BYTES_RECEIVED","BYTES_SENT","SELECTED_CANDIDATE_PAIR_ID","TOTAL_SAMPLES_DURATION","RTP_RX_STAT","RTP_TX_STAT","BASE_REG_TIMER_MFACTOR","BASE_REG_RETRY_TIMER_VAL_IN_SEC","SEC_TO_MSEC_MFACTOR","MINUTES_TO_SEC_MFACTOR","REG_RANDOM_T_FACTOR_UPPER_LIMIT","REG_TRY_BACKUP_TIMER_VAL_IN_SEC","REG_TRY_BACKUP_TIMER_VAL_FOR_CC_IN_SEC","REG_FAILBACK_429_MAX_RETRIES","REGISTER_UTIL","GET_MOBIUS_SERVERS_UTIL","KEEPALIVE_UTIL","FAILBACK_UTIL","FAILBACK_429_RETRY_UTIL","FAILOVER_UTIL","NETWORK_CHANGE_DETECTION_UTIL","CALLS_CLEARED_HANDLER_UTIL","RECONNECT_UTIL","NOISE_REDUCTION_EFFECT","MOBIUS_US_PROD","MOBIUS_EU_PROD","MOBIUS_US_INT","MOBIUS_EU_INT","ICE_CANDIDATES_TIMEOUT"],"sources":["constants.ts"],"sourcesContent":["export const VERSION = 'unknown';\nexport const USER_AGENT_VERSION = 'beta';\nexport const REPO_NAME = 'webex-calling';\nexport const CALLING_USER_AGENT = `${REPO_NAME}/${USER_AGENT_VERSION}`;\nexport const CALL_ENDPOINT_RESOURCE = 'call';\nexport const CALL_STATUS_RESOURCE = 'status';\nexport const CALLS_ENDPOINT_RESOURCE = 'calls';\nexport const CISCO_DEVICE_URL = 'cisco-device-url';\nexport const CRLF = '\\r\\n';\nexport const DEFAULT_KEEPALIVE_INTERVAL = 30;\nexport const DEFAULT_LOCAL_CALL_ID = 'DefaultLocalId';\nexport const DEFAULT_REHOMING_INTERVAL_MAX = 120;\nexport const DEFAULT_REHOMING_INTERVAL_MIN = 60;\nexport const DEFAULT_SESSION_TIMER = 1000 * 60 * 10;\nexport const DEVICES_ENDPOINT_RESOURCE = 'devices';\nexport const DISCOVERY_URL = 'https://ds.ciscospark.com/v1/region';\nexport const DUMMY_METRICS = {\n 'rtp-rxstat': {\n Dur: 0,\n Pkt: 0,\n Oct: 0,\n LatePkt: 0,\n LostPkt: 0,\n AvgJit: 0,\n VQMetrics: {\n VoRxCodec: 'unknown',\n VoPktSizeMs: 0,\n maxJitter: 0,\n VoOneWayDelayMs: 0,\n networkType: 'unknown',\n hwType: 'unknown',\n },\n },\n 'rtp-txstat': {\n Dur: 0,\n Pkt: 0,\n Oct: 0,\n VQMetrics: {\n VoTxCodec: 'unknown',\n rtpBitRate: 0,\n },\n },\n};\nexport const DUMMY_MOBIUS_URL = 'https://mobius.aintgen-a-1.int.infra.webex.com/api/v1';\nexport const IP_ENDPOINT = 'myip';\nexport const INITIAL_SEQ_NUMBER = 1;\nexport const MEDIA_ENDPOINT_RESOURCE = 'media';\nexport const NETWORK_FLAP_TIMEOUT = 2000;\nexport const CALL_HOLD_SERVICE = 'callhold';\nexport const CALL_TRANSFER_SERVICE = 'calltransfer';\nexport const HOLD_ENDPOINT = 'hold';\nexport const TRANSFER_ENDPOINT = 'commit';\nexport const RESUME_ENDPOINT = 'resume';\nexport const SPARK_USER_AGENT = 'spark-user-agent';\nexport const REGISTER_RETRY_TIMEOUT = 10000;\nexport const SUPPLEMENTARY_SERVICES_TIMEOUT = 10000;\nexport const API_V1 = '/api/v1';\nexport const URL_ENDPOINT = '/calling/web/';\nexport const VALID_PHONE_REGEX = /[\\d\\s()*#+.-]+/;\nexport const WEB_AGENT = '(web)';\nexport const WEBEX = 'webex';\nexport const WEBEX_WEB_CLIENT = 'webex-web-client';\nexport const CALLER_ID_FILE = 'CallerId';\nexport const UTILS_FILE = 'utils';\nexport const CALLING_CLIENT_FILE = 'CallingClient';\nexport const LINE_FILE = 'line';\nexport const CALL_FILE = 'call';\nexport const CALL_MANAGER_FILE = 'callManager';\nexport const METRIC_FILE = 'metric';\nexport const REGISTRATION_FILE = 'register';\nexport const CODEC_ID = 'codecId';\nexport const MEDIA_ID = 'id';\nexport const RTC_ICE_CANDIDATE_PAIR = 'RTCIceCandidatePair_';\nexport const LOCAL_CANDIDATE_ID = 'localCandidateId';\nexport const RTC_ICE_CANDIDATE = 'RTCIceCandidate_';\nexport const NETWORK_TYPE = 'networkType';\nexport const RTC_CODEC = 'RTCCodec_';\nexport const INBOUND_CODEC_MATCH = 'CIT01_';\nexport const OUTBOUND_CODEC_MATCH = 'COT01_';\nexport const MIME_TYPE = 'mimeType';\nexport const REMOTE_INBOUND_RTP = 'remote-inbound-rtp';\nexport const TOTAL_ROUND_TRIP_TIME = 'totalRoundTripTime';\nexport const ROUND_TRIP_TIME_MEASUREMENTS = 'roundTripTimeMeasurements';\nexport const INBOUND_RTP = 'inbound-rtp';\nexport const OUTBOUND_RTP = 'outbound-rtp';\nexport const PACKETS_RECEIVED = 'packetsReceived';\nexport const PACKETS_SENT = 'packetsSent';\nexport const PACKETS_LOST = 'packetsLost';\nexport const PACKETS_DISCARDED = 'packetsDiscarded';\nexport const JITTER_BUFFER_DELAY = 'jitterBufferDelay';\nexport const JITTER_BUFFER_EMITTED_COUNT = 'jitterBufferEmittedCount';\nexport const TIMESTAMP = 'timestamp';\nexport const TYPE = 'type';\nexport const TRANSPORT = 'transport';\nexport const TARGET_BIT_RATE = 'targetBitrate';\nexport const MEDIA_SOURCE = 'media-source';\nexport const BYTES_RECEIVED = 'bytesReceived';\nexport const BYTES_SENT = 'bytesSent';\nexport const SELECTED_CANDIDATE_PAIR_ID = 'selectedCandidatePairId';\nexport const TOTAL_SAMPLES_DURATION = 'totalSamplesDuration';\nexport const RTP_RX_STAT = 'rtp-rxstat';\nexport const RTP_TX_STAT = 'rtp-txstat';\nexport const BASE_REG_TIMER_MFACTOR = 2;\nexport const BASE_REG_RETRY_TIMER_VAL_IN_SEC = 30;\nexport const SEC_TO_MSEC_MFACTOR = 1000;\nexport const MINUTES_TO_SEC_MFACTOR = 60;\nexport const REG_RANDOM_T_FACTOR_UPPER_LIMIT = 10000;\nexport const REG_TRY_BACKUP_TIMER_VAL_IN_SEC = 1200;\nexport const REG_TRY_BACKUP_TIMER_VAL_FOR_CC_IN_SEC = 114;\nexport const REG_FAILBACK_429_MAX_RETRIES = 5;\nexport const REGISTER_UTIL = 'registerDevice';\nexport const GET_MOBIUS_SERVERS_UTIL = 'getMobiusServers';\nexport const KEEPALIVE_UTIL = 'startKeepaliveTimer';\nexport const FAILBACK_UTIL = 'executeFailback';\nexport const FAILBACK_429_RETRY_UTIL = 'scheduleFailback429Retry';\nexport const FAILOVER_UTIL = 'startFailoverTimer';\nexport const NETWORK_CHANGE_DETECTION_UTIL = 'detectNetworkChange';\nexport const CALLS_CLEARED_HANDLER_UTIL = 'callsClearedHandler';\nexport const RECONNECT_UTIL = 'reconnectOnFailure';\nexport const NOISE_REDUCTION_EFFECT = 'noise-reduction-effect';\nexport const MOBIUS_US_PROD = 'mobius-us-east-1.prod.infra.webex.com';\nexport const MOBIUS_EU_PROD = 'mobius-eu-central-1.prod.infra.webex.com';\nexport const MOBIUS_US_INT = 'mobius-us-east-1.int.infra.webex.com';\nexport const MOBIUS_EU_INT = 'mobius-eu-central-1.int.infra.webex.com';\nexport const ICE_CANDIDATES_TIMEOUT = 3000;\n"],"mappings":"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"}
1
+ {"version":3,"names":["VERSION","exports","USER_AGENT_VERSION","REPO_NAME","CALLING_USER_AGENT","concat","CALL_ENDPOINT_RESOURCE","CALL_STATUS_RESOURCE","CALLS_ENDPOINT_RESOURCE","CISCO_DEVICE_URL","CRLF","DEFAULT_KEEPALIVE_INTERVAL","DEFAULT_LOCAL_CALL_ID","DEFAULT_REHOMING_INTERVAL_MAX","DEFAULT_REHOMING_INTERVAL_MIN","DEFAULT_SESSION_TIMER","DEVICES_ENDPOINT_RESOURCE","DISCOVERY_URL","DUMMY_METRICS","Dur","Pkt","Oct","LatePkt","LostPkt","AvgJit","VQMetrics","VoRxCodec","VoPktSizeMs","maxJitter","VoOneWayDelayMs","networkType","hwType","VoTxCodec","rtpBitRate","DUMMY_MOBIUS_URL","FETCH_NAME","IP_ENDPOINT","INITIAL_SEQ_NUMBER","MEDIA_ENDPOINT_RESOURCE","NETWORK_FLAP_TIMEOUT","CALL_HOLD_SERVICE","CALL_TRANSFER_SERVICE","HOLD_ENDPOINT","TRANSFER_ENDPOINT","RESUME_ENDPOINT","SPARK_USER_AGENT","REGISTER_RETRY_TIMEOUT","SUPPLEMENTARY_SERVICES_TIMEOUT","API_V1","URL_ENDPOINT","VALID_PHONE","WEB_AGENT","WEBEX","WEBEX_WEB_CLIENT","CALLER_ID_FILE","UTILS_FILE","CALLING_CLIENT_FILE","LINE_FILE","CALL_FILE","CALL_MANAGER_FILE","METRIC_FILE","REGISTRATION_FILE","CODEC_ID","MEDIA_ID","RTC_ICE_CANDIDATE_PAIR","LOCAL_CANDIDATE_ID","RTC_ICE_CANDIDATE","NETWORK_TYPE","RTC_CODEC","INBOUND_CODEC_MATCH","OUTBOUND_CODEC_MATCH","MIME_TYPE","REMOTE_INBOUND_RTP","TOTAL_ROUND_TRIP_TIME","ROUND_TRIP_TIME_MEASUREMENTS","INBOUND_RTP","OUTBOUND_RTP","PACKETS_RECEIVED","PACKETS_SENT","PACKETS_LOST","PACKETS_DISCARDED","JITTER_BUFFER_DELAY","JITTER_BUFFER_EMITTED_COUNT","TIMESTAMP","TYPE","TRANSPORT","TARGET_BIT_RATE","MEDIA_SOURCE","BYTES_RECEIVED","BYTES_SENT","SELECTED_CANDIDATE_PAIR_ID","TOTAL_SAMPLES_DURATION","RTP_RX_STAT","RTP_TX_STAT","BASE_REG_TIMER_MFACTOR","BASE_REG_RETRY_TIMER_VAL_IN_SEC","SEC_TO_MSEC_MFACTOR","MINUTES_TO_SEC_MFACTOR","REG_RANDOM_T_FACTOR_UPPER_LIMIT","REG_TRY_BACKUP_TIMER_VAL_IN_SEC","REG_TRY_BACKUP_TIMER_VAL_FOR_CC_IN_SEC","REG_FAILBACK_429_MAX_RETRIES","REGISTER_UTIL","GET_MOBIUS_SERVERS_UTIL","KEEPALIVE_UTIL","FAILBACK_UTIL","FAILBACK_429_RETRY_UTIL","FAILOVER_UTIL","NETWORK_CHANGE_DETECTION_UTIL","CALLS_CLEARED_HANDLER_UTIL","RECONNECT_UTIL","NOISE_REDUCTION_EFFECT","MOBIUS_US_PROD","MOBIUS_EU_PROD","MOBIUS_US_INT","MOBIUS_EU_INT","ICE_CANDIDATES_TIMEOUT"],"sources":["constants.ts"],"sourcesContent":["export const VERSION = 'unknown';\nexport const USER_AGENT_VERSION = 'beta';\nexport const REPO_NAME = 'webex-calling';\nexport const CALLING_USER_AGENT = `${REPO_NAME}/${USER_AGENT_VERSION}`;\nexport const CALL_ENDPOINT_RESOURCE = 'call';\nexport const CALL_STATUS_RESOURCE = 'status';\nexport const CALLS_ENDPOINT_RESOURCE = 'calls';\nexport const CISCO_DEVICE_URL = 'cisco-device-url';\nexport const CRLF = '\\r\\n';\nexport const DEFAULT_KEEPALIVE_INTERVAL = 30;\nexport const DEFAULT_LOCAL_CALL_ID = 'DefaultLocalId';\nexport const DEFAULT_REHOMING_INTERVAL_MAX = 120;\nexport const DEFAULT_REHOMING_INTERVAL_MIN = 60;\nexport const DEFAULT_SESSION_TIMER = 1000 * 60 * 10;\nexport const DEVICES_ENDPOINT_RESOURCE = 'devices';\nexport const DISCOVERY_URL = 'https://ds.ciscospark.com/v1/region';\nexport const DUMMY_METRICS = {\n 'rtp-rxstat': {\n Dur: 0,\n Pkt: 0,\n Oct: 0,\n LatePkt: 0,\n LostPkt: 0,\n AvgJit: 0,\n VQMetrics: {\n VoRxCodec: 'unknown',\n VoPktSizeMs: 0,\n maxJitter: 0,\n VoOneWayDelayMs: 0,\n networkType: 'unknown',\n hwType: 'unknown',\n },\n },\n 'rtp-txstat': {\n Dur: 0,\n Pkt: 0,\n Oct: 0,\n VQMetrics: {\n VoTxCodec: 'unknown',\n rtpBitRate: 0,\n },\n },\n};\nexport const DUMMY_MOBIUS_URL = 'https://mobius.aintgen-a-1.int.infra.webex.com/api/v1';\nexport const FETCH_NAME = /^[a-zA-Z ]+/;\nexport const IP_ENDPOINT = 'myip';\nexport const INITIAL_SEQ_NUMBER = 1;\nexport const MEDIA_ENDPOINT_RESOURCE = 'media';\nexport const NETWORK_FLAP_TIMEOUT = 2000;\nexport const CALL_HOLD_SERVICE = 'callhold';\nexport const CALL_TRANSFER_SERVICE = 'calltransfer';\nexport const HOLD_ENDPOINT = 'hold';\nexport const TRANSFER_ENDPOINT = 'commit';\nexport const RESUME_ENDPOINT = 'resume';\nexport const SPARK_USER_AGENT = 'spark-user-agent';\nexport const REGISTER_RETRY_TIMEOUT = 10000;\nexport const SUPPLEMENTARY_SERVICES_TIMEOUT = 10000;\nexport const API_V1 = '/api/v1';\nexport const URL_ENDPOINT = '/calling/web/';\nexport const VALID_PHONE = /[\\d\\s()*#+.-]+/;\nexport const WEB_AGENT = '(web)';\nexport const WEBEX = 'webex';\nexport const WEBEX_WEB_CLIENT = 'webex-web-client';\nexport const CALLER_ID_FILE = 'CallerId';\nexport const UTILS_FILE = 'utils';\nexport const CALLING_CLIENT_FILE = 'CallingClient';\nexport const LINE_FILE = 'line';\nexport const CALL_FILE = 'call';\nexport const CALL_MANAGER_FILE = 'callManager';\nexport const METRIC_FILE = 'metric';\nexport const REGISTRATION_FILE = 'register';\nexport const CODEC_ID = 'codecId';\nexport const MEDIA_ID = 'id';\nexport const RTC_ICE_CANDIDATE_PAIR = 'RTCIceCandidatePair_';\nexport const LOCAL_CANDIDATE_ID = 'localCandidateId';\nexport const RTC_ICE_CANDIDATE = 'RTCIceCandidate_';\nexport const NETWORK_TYPE = 'networkType';\nexport const RTC_CODEC = 'RTCCodec_';\nexport const INBOUND_CODEC_MATCH = 'CIT01_';\nexport const OUTBOUND_CODEC_MATCH = 'COT01_';\nexport const MIME_TYPE = 'mimeType';\nexport const REMOTE_INBOUND_RTP = 'remote-inbound-rtp';\nexport const TOTAL_ROUND_TRIP_TIME = 'totalRoundTripTime';\nexport const ROUND_TRIP_TIME_MEASUREMENTS = 'roundTripTimeMeasurements';\nexport const INBOUND_RTP = 'inbound-rtp';\nexport const OUTBOUND_RTP = 'outbound-rtp';\nexport const PACKETS_RECEIVED = 'packetsReceived';\nexport const PACKETS_SENT = 'packetsSent';\nexport const PACKETS_LOST = 'packetsLost';\nexport const PACKETS_DISCARDED = 'packetsDiscarded';\nexport const JITTER_BUFFER_DELAY = 'jitterBufferDelay';\nexport const JITTER_BUFFER_EMITTED_COUNT = 'jitterBufferEmittedCount';\nexport const TIMESTAMP = 'timestamp';\nexport const TYPE = 'type';\nexport const TRANSPORT = 'transport';\nexport const TARGET_BIT_RATE = 'targetBitrate';\nexport const MEDIA_SOURCE = 'media-source';\nexport const BYTES_RECEIVED = 'bytesReceived';\nexport const BYTES_SENT = 'bytesSent';\nexport const SELECTED_CANDIDATE_PAIR_ID = 'selectedCandidatePairId';\nexport const TOTAL_SAMPLES_DURATION = 'totalSamplesDuration';\nexport const RTP_RX_STAT = 'rtp-rxstat';\nexport const RTP_TX_STAT = 'rtp-txstat';\nexport const BASE_REG_TIMER_MFACTOR = 2;\nexport const BASE_REG_RETRY_TIMER_VAL_IN_SEC = 30;\nexport const SEC_TO_MSEC_MFACTOR = 1000;\nexport const MINUTES_TO_SEC_MFACTOR = 60;\nexport const REG_RANDOM_T_FACTOR_UPPER_LIMIT = 10000;\nexport const REG_TRY_BACKUP_TIMER_VAL_IN_SEC = 1200;\nexport const REG_TRY_BACKUP_TIMER_VAL_FOR_CC_IN_SEC = 114;\nexport const REG_FAILBACK_429_MAX_RETRIES = 5;\nexport const REGISTER_UTIL = 'registerDevice';\nexport const GET_MOBIUS_SERVERS_UTIL = 'getMobiusServers';\nexport const KEEPALIVE_UTIL = 'startKeepaliveTimer';\nexport const FAILBACK_UTIL = 'executeFailback';\nexport const FAILBACK_429_RETRY_UTIL = 'scheduleFailback429Retry';\nexport const FAILOVER_UTIL = 'startFailoverTimer';\nexport const NETWORK_CHANGE_DETECTION_UTIL = 'detectNetworkChange';\nexport const CALLS_CLEARED_HANDLER_UTIL = 'callsClearedHandler';\nexport const RECONNECT_UTIL = 'reconnectOnFailure';\nexport const NOISE_REDUCTION_EFFECT = 'noise-reduction-effect';\nexport const MOBIUS_US_PROD = 'mobius-us-east-1.prod.infra.webex.com';\nexport const MOBIUS_EU_PROD = 'mobius-eu-central-1.prod.infra.webex.com';\nexport const MOBIUS_US_INT = 'mobius-us-east-1.int.infra.webex.com';\nexport const MOBIUS_EU_INT = 'mobius-eu-central-1.int.infra.webex.com';\nexport const ICE_CANDIDATES_TIMEOUT = 3000;\n"],"mappings":"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"}
@@ -44,7 +44,7 @@ var _backupMobiusUris = /*#__PURE__*/new _weakMap.default();
44
44
  var Line = exports.default = /*#__PURE__*/function (_Eventing) {
45
45
  (0, _inherits2.default)(Line, _Eventing);
46
46
  var _super = _createSuper(Line);
47
- function Line(userId, clientDeviceUri, mutex, primaryMobiusUris, backupMobiusUris, logLevel, serviceDataConfig, jwe, phoneNumber, extension, voicemail) {
47
+ function Line(userId, clientDeviceUri, mutex, primaryMobiusUris, backupMobiusUris, logLevel, serviceDataConfig, phoneNumber, extension, voicemail) {
48
48
  var _this;
49
49
  (0, _classCallCheck2.default)(this, Line);
50
50
  _this = _super.call(this);
@@ -78,7 +78,6 @@ var Line = exports.default = /*#__PURE__*/function (_Eventing) {
78
78
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "voicePortalNumber", void 0);
79
79
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "voicePortalExtension", void 0);
80
80
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "callManager", void 0);
81
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "serviceData", void 0);
82
81
  _classPrivateFieldInitSpec((0, _assertThisInitialized2.default)(_this), _primaryMobiusUris, {
83
82
  writable: true,
84
83
  value: void 0
@@ -132,7 +131,7 @@ var Line = exports.default = /*#__PURE__*/function (_Eventing) {
132
131
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "makeCall", function (dest) {
133
132
  var call;
134
133
  if (dest) {
135
- var match = dest.address.match(_constants.VALID_PHONE_REGEX);
134
+ var match = dest.address.match(_constants.VALID_PHONE);
136
135
  if (match && match[0].length === dest.address.length) {
137
136
  var _this$registration$ge2;
138
137
  var sanitizedNumber = dest.address.replace(/[^[*+]\d#]/gi, '').replace(/\s+/gi, '').replace(/-/gi, '');
@@ -140,7 +139,7 @@ var Line = exports.default = /*#__PURE__*/function (_Eventing) {
140
139
  type: dest.type,
141
140
  address: "tel:".concat(sanitizedNumber)
142
141
  };
143
- call = _this.callManager.createCall(_types.CallDirection.OUTBOUND, (_this$registration$ge2 = _this.registration.getDeviceInfo().device) === null || _this$registration$ge2 === void 0 ? void 0 : _this$registration$ge2.deviceId, _this.lineId, formattedDest);
142
+ call = _this.callManager.createCall(formattedDest, _types.CallDirection.OUTBOUND, (_this$registration$ge2 = _this.registration.getDeviceInfo().device) === null || _this$registration$ge2 === void 0 ? void 0 : _this$registration$ge2.deviceId, _this.lineId);
144
143
  _Logger.default.log("New call created, callId: ".concat(call.getCallId()), {});
145
144
  } else {
146
145
  _Logger.default.warn('Invalid phone number detected', {});
@@ -149,12 +148,6 @@ var Line = exports.default = /*#__PURE__*/function (_Eventing) {
149
148
  }
150
149
  return call;
151
150
  }
152
- if (_this.serviceData.indicator === _types.ServiceIndicator.GUEST_CALLING) {
153
- var _this$registration$ge3;
154
- call = _this.callManager.createCall(_types.CallDirection.OUTBOUND, (_this$registration$ge3 = _this.registration.getDeviceInfo().device) === null || _this$registration$ge3 === void 0 ? void 0 : _this$registration$ge3.deviceId, _this.lineId);
155
- _Logger.default.log("New guest call created, callId: ".concat(call.getCallId()), {});
156
- return call;
157
- }
158
151
  return undefined;
159
152
  });
160
153
  /**
@@ -175,14 +168,14 @@ var Line = exports.default = /*#__PURE__*/function (_Eventing) {
175
168
  (0, _classPrivateFieldSet2.default)((0, _assertThisInitialized2.default)(_this), _mutex, mutex);
176
169
  (0, _classPrivateFieldSet2.default)((0, _assertThisInitialized2.default)(_this), _primaryMobiusUris, primaryMobiusUris);
177
170
  (0, _classPrivateFieldSet2.default)((0, _assertThisInitialized2.default)(_this), _backupMobiusUris, backupMobiusUris);
178
- _this.serviceData = serviceDataConfig !== null && serviceDataConfig !== void 0 && serviceDataConfig.indicator ? serviceDataConfig : {
171
+ var serviceData = serviceDataConfig !== null && serviceDataConfig !== void 0 && serviceDataConfig.indicator ? serviceDataConfig : {
179
172
  indicator: _types.ServiceIndicator.CALLING,
180
173
  domain: ''
181
174
  };
182
- (0, _common.validateServiceData)(_this.serviceData);
183
- _this.registration = (0, _registration.createRegistration)((0, _classPrivateFieldGet2.default)((0, _assertThisInitialized2.default)(_this), _webex), _this.serviceData, (0, _classPrivateFieldGet2.default)((0, _assertThisInitialized2.default)(_this), _mutex), _this.lineEmitter, logLevel, jwe);
175
+ (0, _common.validateServiceData)(serviceData);
176
+ _this.registration = (0, _registration.createRegistration)((0, _classPrivateFieldGet2.default)((0, _assertThisInitialized2.default)(_this), _webex), serviceData, (0, _classPrivateFieldGet2.default)((0, _assertThisInitialized2.default)(_this), _mutex), _this.lineEmitter, logLevel);
184
177
  _Logger.default.setLogger(logLevel, _constants.LINE_FILE);
185
- _this.callManager = (0, _callManager.getCallManager)((0, _classPrivateFieldGet2.default)((0, _assertThisInitialized2.default)(_this), _webex), _this.serviceData.indicator);
178
+ _this.callManager = (0, _callManager.getCallManager)((0, _classPrivateFieldGet2.default)((0, _assertThisInitialized2.default)(_this), _webex), serviceData.indicator);
186
179
  _this.incomingCallListener();
187
180
  return _this;
188
181
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_uuid","require","_types","_types2","_constants","_Logger","_interopRequireDefault","_registration","_impl","_LineError","_common","_SDKConnector","_types3","_callManager","_types4","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","_classPrivateFieldInitSpec","obj","privateMap","value","_checkPrivateRedeclaration","set","privateCollection","has","TypeError","_webex","_weakMap","_mutex","_sdkConnector","_primaryMobiusUris","_backupMobiusUris","Line","exports","_Eventing","_inherits2","_super","userId","clientDeviceUri","mutex","primaryMobiusUris","backupMobiusUris","logLevel","serviceDataConfig","jwe","phoneNumber","extension","voicemail","_this","_classCallCheck2","_assertThisInitialized2","writable","_defineProperty2","event","deviceInfo","lineError","LINE_EVENTS","REGISTERED","normalizeLine","emit","UNREGISTERED","RECONNECTED","RECONNECTING","ERROR","registration","getStatus","_this$registration$ge","getDeviceInfo","device","deviceId","dest","match","address","VALID_PHONE_REGEX","length","_this$registration$ge2","sanitizedNumber","replace","formattedDest","type","concat","callManager","createCall","CallDirection","OUTBOUND","lineId","log","getCallId","warn","err","LineError","ERROR_TYPE","CALL_ERROR","RegistrationStatus","ACTIVE","serviceData","indicator","ServiceIndicator","GUEST_CALLING","_this$registration$ge3","undefined","correlationId","getCall","uuid","_classPrivateFieldSet2","SDKConnector","_classPrivateFieldGet2","getWebex","CALLING","domain","validateServiceData","createRegistration","lineEmitter","setLogger","LINE_FILE","getCallManager","incomingCallListener","_createClass2","key","_register","_asyncToGenerator2","_regenerator","mark","_callee2","_this2","wrap","_callee2$","_context2","prev","next","runExclusive","_callee","_callee$","_context","CONNECTING","setMobiusServers","triggerRegistration","stop","mobiusDeviceId","updateLine","register","_deregister","_callee3","_callee3$","_context3","deregister","setStatus","IDLE","_device$addresses","keepaliveInterval","callKeepaliveInterval","rehomingIntervalMin","rehomingIntervalMax","voicePortalNumber","voicePortalExtension","mobiusUri","uri","lastSeen","sipAddresses","addresses","getLoggingLevel","getLogLevel","getActiveMobiusUrl","_this3","logContext","file","method","name","on","LINE_EVENT_KEYS","INCOMING_CALL","callObj","Eventing"],"sources":["index.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {v4 as uuid} from 'uuid';\nimport {\n CallDetails,\n CallDirection,\n CorrelationId,\n IDeviceInfo,\n MobiusDeviceId,\n RegistrationStatus,\n ServiceData,\n ServiceIndicator,\n} from '../../common/types';\nimport {ILine, LINE_EVENTS} from './types';\nimport {LINE_FILE, VALID_PHONE_REGEX} from '../constants';\nimport log from '../../Logger';\nimport {IRegistration} from '../registration/types';\nimport {createRegistration} from '../registration';\nimport {ISDKConnector, WebexSDK} from '../../SDKConnector/types';\nimport {CallingClientConfig} from '../types';\nimport {Eventing} from '../../Events/impl';\nimport {LineError} from '../../Errors/catalog/LineError';\nimport {LOGGER} from '../../Logger/types';\nimport {validateServiceData} from '../../common';\nimport SDKConnector from '../../SDKConnector';\nimport {LINE_EVENT_KEYS, LineEventTypes} from '../../Events/types';\nimport {ICall, ICallManager} from '../calling/types';\nimport {getCallManager} from '../calling/callManager';\nimport {ERROR_TYPE} from '../../Errors/types';\n\nexport default class Line extends Eventing<LineEventTypes> implements ILine {\n #webex: WebexSDK;\n\n #mutex: Mutex;\n\n #sdkConnector: ISDKConnector;\n\n public registration: IRegistration;\n\n public userId: string;\n\n public clientDeviceUri: string;\n\n public lineId: string;\n\n public mobiusDeviceId?: string;\n\n private mobiusUri?: string;\n\n public phoneNumber?: string;\n\n public extension?: string;\n\n public sipAddresses: string[] = [];\n\n public voicemail?: string;\n\n public lastSeen?: string;\n\n public keepaliveInterval?: number;\n\n public callKeepaliveInterval?: number;\n\n public rehomingIntervalMin?: number;\n\n public rehomingIntervalMax?: number;\n\n public voicePortalNumber?: number;\n\n public voicePortalExtension?: number;\n\n private callManager: ICallManager;\n\n private serviceData: ServiceData;\n\n #primaryMobiusUris: string[];\n\n #backupMobiusUris: string[];\n\n constructor(\n userId: string,\n clientDeviceUri: string,\n mutex: Mutex,\n primaryMobiusUris: string[],\n backupMobiusUris: string[],\n logLevel: LOGGER,\n serviceDataConfig?: CallingClientConfig['serviceData'],\n jwe?: string,\n phoneNumber?: string,\n extension?: string,\n voicemail?: string\n ) {\n super();\n this.lineId = uuid();\n this.userId = userId;\n this.clientDeviceUri = clientDeviceUri;\n this.phoneNumber = phoneNumber;\n this.extension = extension;\n this.voicemail = voicemail;\n\n this.#sdkConnector = SDKConnector;\n this.#webex = this.#sdkConnector.getWebex();\n this.#mutex = mutex;\n\n this.#primaryMobiusUris = primaryMobiusUris;\n this.#backupMobiusUris = backupMobiusUris;\n\n this.serviceData = serviceDataConfig?.indicator\n ? serviceDataConfig\n : {indicator: ServiceIndicator.CALLING, domain: ''};\n\n validateServiceData(this.serviceData);\n\n this.registration = createRegistration(\n this.#webex,\n this.serviceData,\n this.#mutex,\n this.lineEmitter,\n logLevel,\n jwe\n );\n\n log.setLogger(logLevel, LINE_FILE);\n\n this.callManager = getCallManager(this.#webex, this.serviceData.indicator);\n\n this.incomingCallListener();\n }\n\n /**\n * Wrapper to for device registration.\n */\n public async register() {\n await this.#mutex.runExclusive(async () => {\n this.emit(LINE_EVENTS.CONNECTING);\n\n this.registration.setMobiusServers(this.#primaryMobiusUris, this.#backupMobiusUris);\n await this.registration.triggerRegistration();\n });\n if (this.mobiusDeviceId) {\n this.callManager.updateLine(this.mobiusDeviceId, this);\n }\n }\n\n /**\n * Wrapper to for device deregister.\n */\n public async deregister() {\n await this.registration.deregister();\n this.registration.setStatus(RegistrationStatus.IDLE);\n }\n\n /**\n * To normalize line class with Mobius response\n */\n private normalizeLine(deviceInfo: IDeviceInfo) {\n const {\n device,\n keepaliveInterval,\n callKeepaliveInterval,\n rehomingIntervalMin,\n rehomingIntervalMax,\n voicePortalNumber,\n voicePortalExtension,\n } = deviceInfo;\n\n this.mobiusDeviceId = device?.deviceId;\n this.mobiusUri = device?.uri;\n this.lastSeen = device?.lastSeen;\n this.sipAddresses = device?.addresses ?? [];\n this.keepaliveInterval = keepaliveInterval;\n this.callKeepaliveInterval = callKeepaliveInterval;\n this.rehomingIntervalMin = rehomingIntervalMin;\n this.rehomingIntervalMax = rehomingIntervalMax;\n this.voicePortalNumber = voicePortalNumber;\n this.voicePortalExtension = voicePortalExtension;\n }\n\n /**\n * Line events emitter\n */\n public lineEmitter = (event: LINE_EVENTS, deviceInfo?: IDeviceInfo, lineError?: LineError) => {\n switch (event) {\n case LINE_EVENTS.REGISTERED:\n if (deviceInfo) {\n this.normalizeLine(deviceInfo);\n this.emit(event, this);\n }\n break;\n case LINE_EVENTS.UNREGISTERED:\n case LINE_EVENTS.RECONNECTED:\n case LINE_EVENTS.RECONNECTING:\n this.emit(event);\n break;\n case LINE_EVENTS.ERROR:\n if (lineError) {\n this.emit(event, lineError);\n }\n break;\n default:\n break;\n }\n };\n\n /**\n * To get the current log Level.\n */\n public getLoggingLevel(): LOGGER {\n return log.getLogLevel();\n }\n\n /**\n * To get active url of Mobius.\n */\n public getActiveMobiusUrl(): string {\n return this.registration.getActiveMobiusUrl();\n }\n\n /**\n * Gets registration status\n */\n public getStatus = (): RegistrationStatus => this.registration.getStatus();\n\n /**\n * Gets device id\n */\n public getDeviceId = (): MobiusDeviceId | undefined =>\n this.registration.getDeviceInfo().device?.deviceId;\n\n /**\n * Initiates a call to the specified destination.\n * @param dest - The call details including destination information.\n */\n public makeCall = (dest?: CallDetails): ICall | undefined => {\n let call;\n\n if (dest) {\n const match = dest.address.match(VALID_PHONE_REGEX);\n\n if (match && match[0].length === dest.address.length) {\n const sanitizedNumber = dest.address\n .replace(/[^[*+]\\d#]/gi, '')\n .replace(/\\s+/gi, '')\n .replace(/-/gi, '');\n const formattedDest = {\n type: dest.type,\n address: `tel:${sanitizedNumber}`,\n };\n\n call = this.callManager.createCall(\n CallDirection.OUTBOUND,\n this.registration.getDeviceInfo().device?.deviceId as string,\n this.lineId,\n formattedDest\n );\n log.log(`New call created, callId: ${call.getCallId()}`, {});\n } else {\n log.warn('Invalid phone number detected', {});\n\n const err = new LineError(\n 'An invalid phone number was detected. Check the number and try again.',\n {},\n ERROR_TYPE.CALL_ERROR,\n RegistrationStatus.ACTIVE\n );\n\n this.emit(LINE_EVENTS.ERROR, err);\n }\n\n return call;\n }\n if (this.serviceData.indicator === ServiceIndicator.GUEST_CALLING) {\n call = this.callManager.createCall(\n CallDirection.OUTBOUND,\n this.registration.getDeviceInfo().device?.deviceId as string,\n this.lineId\n );\n log.log(`New guest call created, callId: ${call.getCallId()}`, {});\n\n return call;\n }\n\n return undefined;\n };\n\n /**\n * An Incoming Call listener.\n */\n private incomingCallListener() {\n const logContext = {\n file: LINE_FILE,\n method: this.incomingCallListener.name,\n };\n log.log('Listening for incoming calls... ', logContext);\n this.callManager.on(LINE_EVENT_KEYS.INCOMING_CALL, (callObj: ICall) => {\n this.emit(LINE_EVENTS.INCOMING_CALL, callObj);\n });\n }\n\n /**\n * @param callId -.\n * @param correlationId -.\n */\n public getCall = (correlationId: CorrelationId): ICall => {\n return this.callManager.getCall(correlationId);\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_uuid","require","_types","_types2","_constants","_Logger","_interopRequireDefault","_registration","_impl","_LineError","_common","_SDKConnector","_types3","_callManager","_types4","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","_classPrivateFieldInitSpec","obj","privateMap","value","_checkPrivateRedeclaration","set","privateCollection","has","TypeError","_webex","_weakMap","_mutex","_sdkConnector","_primaryMobiusUris","_backupMobiusUris","Line","exports","_Eventing","_inherits2","_super","userId","clientDeviceUri","mutex","primaryMobiusUris","backupMobiusUris","logLevel","serviceDataConfig","phoneNumber","extension","voicemail","_this","_classCallCheck2","_assertThisInitialized2","writable","_defineProperty2","event","deviceInfo","lineError","LINE_EVENTS","REGISTERED","normalizeLine","emit","UNREGISTERED","RECONNECTED","RECONNECTING","ERROR","registration","getStatus","_this$registration$ge","getDeviceInfo","device","deviceId","dest","match","address","VALID_PHONE","length","_this$registration$ge2","sanitizedNumber","replace","formattedDest","type","concat","callManager","createCall","CallDirection","OUTBOUND","lineId","log","getCallId","warn","err","LineError","ERROR_TYPE","CALL_ERROR","RegistrationStatus","ACTIVE","undefined","correlationId","getCall","uuid","_classPrivateFieldSet2","SDKConnector","_classPrivateFieldGet2","getWebex","serviceData","indicator","ServiceIndicator","CALLING","domain","validateServiceData","createRegistration","lineEmitter","setLogger","LINE_FILE","getCallManager","incomingCallListener","_createClass2","key","_register","_asyncToGenerator2","_regenerator","mark","_callee2","_this2","wrap","_callee2$","_context2","prev","next","runExclusive","_callee","_callee$","_context","CONNECTING","setMobiusServers","triggerRegistration","stop","mobiusDeviceId","updateLine","register","_deregister","_callee3","_callee3$","_context3","deregister","setStatus","IDLE","_device$addresses","keepaliveInterval","callKeepaliveInterval","rehomingIntervalMin","rehomingIntervalMax","voicePortalNumber","voicePortalExtension","mobiusUri","uri","lastSeen","sipAddresses","addresses","getLoggingLevel","getLogLevel","getActiveMobiusUrl","_this3","logContext","file","method","name","on","LINE_EVENT_KEYS","INCOMING_CALL","callObj","Eventing"],"sources":["index.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {v4 as uuid} from 'uuid';\nimport {\n CallDetails,\n CallDirection,\n CorrelationId,\n IDeviceInfo,\n MobiusDeviceId,\n RegistrationStatus,\n ServiceIndicator,\n} from '../../common/types';\nimport {ILine, LINE_EVENTS} from './types';\nimport {LINE_FILE, VALID_PHONE} from '../constants';\nimport log from '../../Logger';\nimport {IRegistration} from '../registration/types';\nimport {createRegistration} from '../registration';\nimport {ISDKConnector, WebexSDK} from '../../SDKConnector/types';\nimport {CallingClientConfig} from '../types';\nimport {Eventing} from '../../Events/impl';\nimport {LineError} from '../../Errors/catalog/LineError';\nimport {LOGGER} from '../../Logger/types';\nimport {validateServiceData} from '../../common';\nimport SDKConnector from '../../SDKConnector';\nimport {LINE_EVENT_KEYS, LineEventTypes} from '../../Events/types';\nimport {ICall, ICallManager} from '../calling/types';\nimport {getCallManager} from '../calling/callManager';\nimport {ERROR_TYPE} from '../../Errors/types';\n\nexport default class Line extends Eventing<LineEventTypes> implements ILine {\n #webex: WebexSDK;\n\n #mutex: Mutex;\n\n #sdkConnector: ISDKConnector;\n\n public registration: IRegistration;\n\n public userId: string;\n\n public clientDeviceUri: string;\n\n public lineId: string;\n\n public mobiusDeviceId?: string;\n\n private mobiusUri?: string;\n\n public phoneNumber?: string;\n\n public extension?: string;\n\n public sipAddresses: string[] = [];\n\n public voicemail?: string;\n\n public lastSeen?: string;\n\n public keepaliveInterval?: number;\n\n public callKeepaliveInterval?: number;\n\n public rehomingIntervalMin?: number;\n\n public rehomingIntervalMax?: number;\n\n public voicePortalNumber?: number;\n\n public voicePortalExtension?: number;\n\n private callManager: ICallManager;\n\n #primaryMobiusUris: string[];\n\n #backupMobiusUris: string[];\n\n constructor(\n userId: string,\n clientDeviceUri: string,\n mutex: Mutex,\n primaryMobiusUris: string[],\n backupMobiusUris: string[],\n logLevel: LOGGER,\n serviceDataConfig?: CallingClientConfig['serviceData'],\n phoneNumber?: string,\n extension?: string,\n voicemail?: string\n ) {\n super();\n this.lineId = uuid();\n this.userId = userId;\n this.clientDeviceUri = clientDeviceUri;\n this.phoneNumber = phoneNumber;\n this.extension = extension;\n this.voicemail = voicemail;\n\n this.#sdkConnector = SDKConnector;\n this.#webex = this.#sdkConnector.getWebex();\n this.#mutex = mutex;\n\n this.#primaryMobiusUris = primaryMobiusUris;\n this.#backupMobiusUris = backupMobiusUris;\n\n const serviceData = serviceDataConfig?.indicator\n ? serviceDataConfig\n : {indicator: ServiceIndicator.CALLING, domain: ''};\n\n validateServiceData(serviceData);\n\n this.registration = createRegistration(\n this.#webex,\n serviceData,\n this.#mutex,\n this.lineEmitter,\n logLevel\n );\n\n log.setLogger(logLevel, LINE_FILE);\n\n this.callManager = getCallManager(this.#webex, serviceData.indicator);\n\n this.incomingCallListener();\n }\n\n /**\n * Wrapper to for device registration.\n */\n public async register() {\n await this.#mutex.runExclusive(async () => {\n this.emit(LINE_EVENTS.CONNECTING);\n\n this.registration.setMobiusServers(this.#primaryMobiusUris, this.#backupMobiusUris);\n await this.registration.triggerRegistration();\n });\n if (this.mobiusDeviceId) {\n this.callManager.updateLine(this.mobiusDeviceId, this);\n }\n }\n\n /**\n * Wrapper to for device deregister.\n */\n public async deregister() {\n await this.registration.deregister();\n this.registration.setStatus(RegistrationStatus.IDLE);\n }\n\n /**\n * To normalize line class with Mobius response\n */\n private normalizeLine(deviceInfo: IDeviceInfo) {\n const {\n device,\n keepaliveInterval,\n callKeepaliveInterval,\n rehomingIntervalMin,\n rehomingIntervalMax,\n voicePortalNumber,\n voicePortalExtension,\n } = deviceInfo;\n\n this.mobiusDeviceId = device?.deviceId;\n this.mobiusUri = device?.uri;\n this.lastSeen = device?.lastSeen;\n this.sipAddresses = device?.addresses ?? [];\n this.keepaliveInterval = keepaliveInterval;\n this.callKeepaliveInterval = callKeepaliveInterval;\n this.rehomingIntervalMin = rehomingIntervalMin;\n this.rehomingIntervalMax = rehomingIntervalMax;\n this.voicePortalNumber = voicePortalNumber;\n this.voicePortalExtension = voicePortalExtension;\n }\n\n /**\n * Line events emitter\n */\n public lineEmitter = (event: LINE_EVENTS, deviceInfo?: IDeviceInfo, lineError?: LineError) => {\n switch (event) {\n case LINE_EVENTS.REGISTERED:\n if (deviceInfo) {\n this.normalizeLine(deviceInfo);\n this.emit(event, this);\n }\n break;\n case LINE_EVENTS.UNREGISTERED:\n case LINE_EVENTS.RECONNECTED:\n case LINE_EVENTS.RECONNECTING:\n this.emit(event);\n break;\n case LINE_EVENTS.ERROR:\n if (lineError) {\n this.emit(event, lineError);\n }\n break;\n default:\n break;\n }\n };\n\n /**\n * To get the current log Level.\n */\n public getLoggingLevel(): LOGGER {\n return log.getLogLevel();\n }\n\n /**\n * To get active url of Mobius.\n */\n public getActiveMobiusUrl(): string {\n return this.registration.getActiveMobiusUrl();\n }\n\n /**\n * Gets registration status\n */\n public getStatus = (): RegistrationStatus => this.registration.getStatus();\n\n /**\n * Gets device id\n */\n public getDeviceId = (): MobiusDeviceId | undefined =>\n this.registration.getDeviceInfo().device?.deviceId;\n\n /**\n * Initiates a call to the specified destination.\n * @param dest - The call details including destination information.\n */\n public makeCall = (dest: CallDetails): ICall | undefined => {\n let call;\n\n if (dest) {\n const match = dest.address.match(VALID_PHONE);\n\n if (match && match[0].length === dest.address.length) {\n const sanitizedNumber = dest.address\n .replace(/[^[*+]\\d#]/gi, '')\n .replace(/\\s+/gi, '')\n .replace(/-/gi, '');\n const formattedDest = {\n type: dest.type,\n address: `tel:${sanitizedNumber}`,\n };\n\n call = this.callManager.createCall(\n formattedDest,\n CallDirection.OUTBOUND,\n this.registration.getDeviceInfo().device?.deviceId as string,\n this.lineId\n );\n log.log(`New call created, callId: ${call.getCallId()}`, {});\n } else {\n log.warn('Invalid phone number detected', {});\n\n const err = new LineError(\n 'An invalid phone number was detected. Check the number and try again.',\n {},\n ERROR_TYPE.CALL_ERROR,\n RegistrationStatus.ACTIVE\n );\n\n this.emit(LINE_EVENTS.ERROR, err);\n }\n\n return call;\n }\n\n return undefined;\n };\n\n /**\n * An Incoming Call listener.\n */\n private incomingCallListener() {\n const logContext = {\n file: LINE_FILE,\n method: this.incomingCallListener.name,\n };\n log.log('Listening for incoming calls... ', logContext);\n this.callManager.on(LINE_EVENT_KEYS.INCOMING_CALL, (callObj: ICall) => {\n this.emit(LINE_EVENTS.INCOMING_CALL, callObj);\n });\n }\n\n /**\n * @param callId -.\n * @param correlationId -.\n */\n public getCall = (correlationId: CorrelationId): ICall => {\n return this.callManager.getCall(correlationId);\n };\n}\n"],"mappings":"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"}
@@ -47,12 +47,6 @@ describe('Line Tests', function () {
47
47
  });
48
48
  var userId = webex.internal.device.userId;
49
49
  var clientDeviceUri = webex.internal.device.url;
50
- var mockJwe = 'mockJwe';
51
- var guestServiceData = {
52
- indicator: _types.ServiceIndicator.GUEST_CALLING,
53
- domain: '',
54
- guestName: 'testUser'
55
- };
56
50
  var handleErrorSpy = jest.spyOn(utils, 'handleRegistrationErrors');
57
51
  jest.clearAllMocks();
58
52
  describe('Line Registration tests', function () {
@@ -79,7 +73,7 @@ describe('Line Tests', function () {
79
73
  case 0:
80
74
  jest.useFakeTimers();
81
75
  webex.request.mockReturnValue(registrationPayload);
82
- expect(createRegistrationSpy).toBeCalledOnceWith(webex, defaultServiceData, expect.any(_asyncMutex.Mutex), expect.anything(), _types3.LOGGER.INFO, undefined);
76
+ expect(createRegistrationSpy).toBeCalledOnceWith(webex, defaultServiceData, expect.any(_asyncMutex.Mutex), expect.anything(), _types3.LOGGER.INFO);
83
77
  expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
84
78
  _context.next = 6;
85
79
  return line.register();
@@ -114,55 +108,9 @@ describe('Line Tests', function () {
114
108
  }
115
109
  }, _callee);
116
110
  })));
117
- it('verify successful Registration cases and keepalive for a guest user', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
118
- var guestLine;
111
+ it('verify failure Registration cases all requests fail ', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
119
112
  return _regenerator.default.wrap(function _callee2$(_context2) {
120
113
  while (1) switch (_context2.prev = _context2.next) {
121
- case 0:
122
- createRegistrationSpy.mockClear();
123
- guestLine = new _.default(userId, clientDeviceUri, mutex, primaryMobiusUris(), backupMobiusUris(), _types3.LOGGER.INFO, guestServiceData, mockJwe);
124
- jest.useFakeTimers();
125
- webex.request.mockReturnValue(registrationPayload);
126
- expect(createRegistrationSpy).toBeCalledOnceWith(webex, guestServiceData, expect.any(_asyncMutex.Mutex), expect.anything(), _types3.LOGGER.INFO, mockJwe);
127
- expect(guestLine.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
128
- _context2.next = 8;
129
- return guestLine.register();
130
- case 8:
131
- expect(webex.request).toBeCalledOnceWith(_objectSpread(_objectSpread({}, (0, _testUtil.getMockRequestTemplate)()), {}, {
132
- body: {
133
- userId: userId,
134
- clientDeviceUri: clientDeviceUri,
135
- serviceData: _objectSpread(_objectSpread({}, guestServiceData), {}, {
136
- jwe: mockJwe
137
- })
138
- },
139
- uri: "".concat(primaryUrl, "device"),
140
- method: 'POST'
141
- }));
142
- expect(handleErrorSpy).not.toBeCalled();
143
- expect(guestLine.getStatus()).toEqual(_types.RegistrationStatus.ACTIVE);
144
- expect(guestLine.getActiveMobiusUrl()).toEqual(primaryUrl);
145
- expect(guestLine.getLoggingLevel()).toEqual(_types3.LOGGER.INFO);
146
- expect(guestLine.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);
147
- webex.request.mockClear();
148
- jest.advanceTimersByTime(30 * 1000);
149
- _context2.next = 18;
150
- return _promise.default.resolve();
151
- case 18:
152
- expect(webex.request).toBeCalledOnceWith(_objectSpread(_objectSpread({}, (0, _testUtil.getMockRequestTemplate)()), {}, {
153
- uri: "".concat(mockRegistrationBody.device.uri, "/status"),
154
- method: 'POST'
155
- }));
156
- jest.useRealTimers();
157
- case 20:
158
- case "end":
159
- return _context2.stop();
160
- }
161
- }, _callee2);
162
- })));
163
- it('verify failure Registration cases all requests fail ', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
164
- return _regenerator.default.wrap(function _callee3$(_context3) {
165
- while (1) switch (_context3.prev = _context3.next) {
166
114
  case 0:
167
115
  line.removeAllListeners(_types2.LINE_EVENTS.ERROR);
168
116
  webex.request.mockRejectedValue({
@@ -173,7 +121,7 @@ describe('Line Tests', function () {
173
121
  });
174
122
  expect(line.getStatus()).toBe(_types.RegistrationStatus.IDLE);
175
123
  line.register();
176
- _context3.next = 7;
124
+ _context2.next = 7;
177
125
  return utils.waitForMsecs(20);
178
126
  case 7:
179
127
  expect(line.getStatus()).toBe(_types.RegistrationStatus.INACTIVE);
@@ -183,29 +131,29 @@ describe('Line Tests', function () {
183
131
  }, expect.anything());
184
132
  case 9:
185
133
  case "end":
186
- return _context3.stop();
134
+ return _context2.stop();
187
135
  }
188
- }, _callee3);
136
+ }, _callee2);
189
137
  })));
190
- it('verify successful de-registration cases', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
191
- return _regenerator.default.wrap(function _callee4$(_context4) {
192
- while (1) switch (_context4.prev = _context4.next) {
138
+ it('verify successful de-registration cases', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
139
+ return _regenerator.default.wrap(function _callee3$(_context3) {
140
+ while (1) switch (_context3.prev = _context3.next) {
193
141
  case 0:
194
142
  webex.request.mockReturnValueOnce(registrationPayload);
195
143
  expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
196
- _context4.next = 4;
144
+ _context3.next = 4;
197
145
  return line.register();
198
146
  case 4:
199
147
  expect(line.getStatus()).toEqual(_types.RegistrationStatus.ACTIVE);
200
- _context4.next = 7;
148
+ _context3.next = 7;
201
149
  return line.deregister();
202
150
  case 7:
203
151
  expect(line.getStatus()).toEqual(_types.RegistrationStatus.IDLE);
204
152
  case 8:
205
153
  case "end":
206
- return _context4.stop();
154
+ return _context3.stop();
207
155
  }
208
- }, _callee4);
156
+ }, _callee3);
209
157
  })));
210
158
  });
211
159
  describe('Line calling tests', function () {
@@ -225,10 +173,10 @@ describe('Line Tests', function () {
225
173
  address: '5003',
226
174
  type: _types.CallType.URI
227
175
  });
228
- expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
176
+ expect(createCallSpy).toBeCalledOnceWith({
229
177
  address: 'tel:5003',
230
178
  type: 'uri'
231
- });
179
+ }, _types.CallDirection.OUTBOUND, undefined, line.lineId);
232
180
  expect(call).toBeTruthy();
233
181
  expect(line.getCall(call ? call.getCorrelationId() : '')).toBe(call);
234
182
  expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
@@ -240,10 +188,10 @@ describe('Line Tests', function () {
240
188
  address: '*25',
241
189
  type: _types.CallType.URI
242
190
  });
243
- expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
191
+ expect(createCallSpy).toBeCalledOnceWith({
244
192
  address: 'tel:*25',
245
193
  type: 'uri'
246
- });
194
+ }, _types.CallDirection.OUTBOUND, undefined, line.lineId);
247
195
  expect(call).toBeTruthy();
248
196
  expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
249
197
  call === null || call === void 0 ? void 0 : call.end();
@@ -254,10 +202,10 @@ describe('Line Tests', function () {
254
202
  address: '+91 123 456 7890',
255
203
  type: _types.CallType.URI
256
204
  });
257
- expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
205
+ expect(createCallSpy).toBeCalledOnceWith({
258
206
  address: 'tel:+911234567890',
259
207
  type: 'uri'
260
- });
208
+ }, _types.CallDirection.OUTBOUND, undefined, line.lineId);
261
209
  expect(call).toBeTruthy();
262
210
  expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
263
211
  expect(call ? call.destination.address : undefined).toStrictEqual('tel:+911234567890');
@@ -269,10 +217,10 @@ describe('Line Tests', function () {
269
217
  address: '123-456-7890',
270
218
  type: _types.CallType.URI
271
219
  });
272
- expect(createCallSpy).toBeCalledOnceWith(_types.CallDirection.OUTBOUND, undefined, line.lineId, {
220
+ expect(createCallSpy).toBeCalledOnceWith({
273
221
  address: 'tel:1234567890',
274
222
  type: 'uri'
275
- });
223
+ }, _types.CallDirection.OUTBOUND, undefined, line.lineId);
276
224
  expect(call).toBeTruthy();
277
225
  expect(call ? call.direction : undefined).toStrictEqual(_types.CallDirection.OUTBOUND);
278
226
  expect(call ? call.destination.address : undefined).toStrictEqual('tel:1234567890');
@@ -299,6 +247,8 @@ describe('Line Tests', function () {
299
247
  });
300
248
  it('attempt to create call with incorrect number format 2', function (done) {
301
249
  expect.assertions(4);
250
+ // There may be other listeners , which may create race
251
+ line.removeAllListeners(_types2.LINE_EVENTS.ERROR);
302
252
  var createCallSpy = jest.spyOn(line.callManager, 'createCall');
303
253
  line.on(_types2.LINE_EVENTS.ERROR, function (error) {
304
254
  expect(error.message).toBe('An invalid phone number was detected. Check the number and try again.');
@@ -315,18 +265,6 @@ describe('Line Tests', function () {
315
265
  done(error);
316
266
  }
317
267
  });
318
- it('attempt to create call with guest calling service indicator', function () {
319
- expect.assertions(2);
320
- var createCallSpy = jest.spyOn(line.callManager, 'createCall');
321
-
322
- // Mocking the serviceData to have GUEST_CALLING indicator
323
- line = new _.default(userId, clientDeviceUri, mutex, primaryMobiusUris(), backupMobiusUris(), _types3.LOGGER.INFO, {
324
- indicator: _types.ServiceIndicator.GUEST_CALLING
325
- });
326
- var call = line.makeCall();
327
- expect(call).toBeTruthy();
328
- expect(createCallSpy).toBeCalledWith(_types.CallDirection.OUTBOUND, undefined, expect.any(String));
329
- });
330
268
  });
331
269
  });
332
270
  //# sourceMappingURL=line.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_asyncMutex","require","_testUtil","_registerFixtures","_common","_types","_types2","_","_interopRequireDefault","utils","_interopRequireWildcard","_SDKConnector","_constants","_types3","regUtils","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","describe","mutex","Mutex","webex","getTestUtilsWebex","SDKConnector","setWebex","defaultServiceData","indicator","ServiceIndicator","CALLING","domain","createRegistrationSpy","jest","spyOn","mobiusUris","filterMobiusUris","getMobiusDiscoveryResponse","URL","primaryMobiusUris","fn","primary","backupMobiusUris","backup","userId","internal","device","clientDeviceUri","url","mockJwe","guestServiceData","GUEST_CALLING","guestName","handleErrorSpy","clearAllMocks","line","mockRegistrationBody","getMockDeviceInfo","discoveryBody","primaryUrl","concat","uris","registrationPayload","statusCode","body","beforeEach","Line","LOGGER","INFO","afterEach","clearAllTimers","useRealTimers","removeAllListeners","it","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","useFakeTimers","request","mockReturnValue","expect","toBeCalledOnceWith","any","anything","undefined","getStatus","toEqual","RegistrationStatus","IDLE","register","getMockRequestTemplate","serviceData","uri","method","not","toBeCalled","ACTIVE","getActiveMobiusUrl","getLoggingLevel","getDeviceId","deviceId","mockClear","advanceTimersByTime","_promise","resolve","stop","_callee2","guestLine","_callee2$","_context2","jwe","_callee3","_callee3$","_context3","LINE_EVENTS","ERROR","mockRejectedValue","on","error","message","toBe","waitForMsecs","INACTIVE","file","REGISTRATION_FILE","_callee4","_callee4$","_context4","mockReturnValueOnce","deregister","createCallSpy","callManager","makeCall","address","type","CallType","URI","CallDirection","OUTBOUND","lineId","toBeTruthy","getCall","getCorrelationId","direction","toStrictEqual","end","destination","done","toBeUndefined","assertions","toBeCalledWith","String"],"sources":["line.test.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {\n getMobiusDiscoveryResponse,\n getMockDeviceInfo,\n getMockRequestTemplate,\n getTestUtilsWebex,\n} from '../../common/testUtil';\nimport {URL} from '../registration/registerFixtures';\nimport {filterMobiusUris} from '../../common';\nimport {\n CallDirection,\n CallType,\n MobiusServers,\n RegistrationStatus,\n ServiceIndicator,\n WebexRequestPayload,\n} from '../../common/types';\nimport {LINE_EVENTS} from './types';\nimport Line from '.';\nimport * as utils from '../../common/Utils';\nimport SDKConnector from '../../SDKConnector';\nimport {REGISTRATION_FILE} from '../constants';\nimport {LOGGER} from '../../Logger/types';\nimport * as regUtils from '../registration/register';\n\ndescribe('Line Tests', () => {\n const mutex = new Mutex();\n const webex = getTestUtilsWebex();\n SDKConnector.setWebex(webex);\n\n const defaultServiceData = {indicator: ServiceIndicator.CALLING, domain: ''};\n const createRegistrationSpy = jest.spyOn(regUtils, 'createRegistration');\n\n const mobiusUris = filterMobiusUris(getMobiusDiscoveryResponse(), URL);\n const primaryMobiusUris = jest.fn(() => mobiusUris.primary);\n const backupMobiusUris = jest.fn(() => mobiusUris.backup);\n const userId = webex.internal.device.userId;\n const clientDeviceUri = webex.internal.device.url;\n const mockJwe = 'mockJwe';\n const guestServiceData = {\n indicator: ServiceIndicator.GUEST_CALLING,\n domain: '',\n guestName: 'testUser',\n };\n\n const handleErrorSpy = jest.spyOn(utils, 'handleRegistrationErrors');\n\n jest.clearAllMocks();\n\n describe('Line Registration tests', () => {\n let line;\n const mockRegistrationBody = getMockDeviceInfo();\n\n const discoveryBody: MobiusServers = getMobiusDiscoveryResponse();\n const primaryUrl = `${discoveryBody.primary.uris[0]}/calling/web/`;\n\n const registrationPayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: mockRegistrationBody,\n });\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n\n it('verify successful Registration cases and keepalive', async () => {\n jest.useFakeTimers();\n webex.request.mockReturnValue(registrationPayload);\n\n expect(createRegistrationSpy).toBeCalledOnceWith(\n webex,\n defaultServiceData,\n expect.any(Mutex),\n expect.anything(),\n LOGGER.INFO,\n undefined\n );\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n body: {\n userId,\n clientDeviceUri,\n serviceData: defaultServiceData,\n },\n uri: `${primaryUrl}device`,\n method: 'POST',\n });\n expect(handleErrorSpy).not.toBeCalled();\n\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n expect(line.getActiveMobiusUrl()).toEqual(primaryUrl);\n expect(line.getLoggingLevel()).toEqual(LOGGER.INFO);\n expect(line.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);\n\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n uri: `${mockRegistrationBody.device.uri}/status`,\n method: 'POST',\n });\n jest.useRealTimers();\n });\n\n it('verify successful Registration cases and keepalive for a guest user', async () => {\n createRegistrationSpy.mockClear();\n const guestLine = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO,\n guestServiceData,\n mockJwe\n );\n jest.useFakeTimers();\n webex.request.mockReturnValue(registrationPayload);\n\n expect(createRegistrationSpy).toBeCalledOnceWith(\n webex,\n guestServiceData,\n expect.any(Mutex),\n expect.anything(),\n LOGGER.INFO,\n mockJwe\n );\n expect(guestLine.getStatus()).toEqual(RegistrationStatus.IDLE);\n await guestLine.register();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n body: {\n userId,\n clientDeviceUri,\n serviceData: {...guestServiceData, jwe: mockJwe},\n },\n uri: `${primaryUrl}device`,\n method: 'POST',\n });\n expect(handleErrorSpy).not.toBeCalled();\n\n expect(guestLine.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n expect(guestLine.getActiveMobiusUrl()).toEqual(primaryUrl);\n expect(guestLine.getLoggingLevel()).toEqual(LOGGER.INFO);\n expect(guestLine.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);\n\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n uri: `${mockRegistrationBody.device.uri}/status`,\n method: 'POST',\n });\n jest.useRealTimers();\n });\n\n it('verify failure Registration cases all requests fail ', async () => {\n line.removeAllListeners(LINE_EVENTS.ERROR);\n\n webex.request.mockRejectedValue({\n statusCode: 401,\n });\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'User is unauthorized due to an expired token. Sign out, then sign back in.'\n );\n });\n\n expect(line.getStatus()).toBe(RegistrationStatus.IDLE);\n line.register();\n await utils.waitForMsecs(20);\n\n expect(line.getStatus()).toBe(RegistrationStatus.INACTIVE);\n expect(handleErrorSpy).toBeCalledOnceWith(\n expect.anything(),\n expect.anything(),\n {\n file: REGISTRATION_FILE,\n method: 'attemptRegistrationWithServers',\n },\n expect.anything()\n );\n });\n\n it('verify successful de-registration cases', async () => {\n webex.request.mockReturnValueOnce(registrationPayload);\n\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n\n await line.deregister();\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n });\n });\n\n describe('Line calling tests', () => {\n let line;\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n it('Return a successful call object while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '5003', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:5003',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(line.getCall(call ? call.getCorrelationId() : '')).toBe(call);\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Return a successful call object while making call to FAC codes', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '*25', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:*25',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Remove spaces from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '+91 123 456 7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:+911234567890',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:+911234567890');\n call?.end();\n });\n\n it('Remove hyphen from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '123-456-7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(CallDirection.OUTBOUND, undefined, line.lineId, {\n address: 'tel:1234567890',\n type: 'uri',\n });\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:1234567890');\n call?.end();\n });\n\n it('attempt to create call with incorrect number format 1', (done) => {\n // There may be other listeners , which may create race\n line.removeAllListeners(LINE_EVENTS.ERROR);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n try {\n const call = line.makeCall({address: 'select#$@^^', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n\n it('attempt to create call with incorrect number format 2', (done) => {\n expect.assertions(4);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n\n try {\n const call = line.makeCall({address: '+1@8883332505', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n\n it('attempt to create call with guest calling service indicator', () => {\n expect.assertions(2);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n // Mocking the serviceData to have GUEST_CALLING indicator\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO,\n {indicator: ServiceIndicator.GUEST_CALLING}\n );\n const call = line.makeCall();\n\n expect(call).toBeTruthy();\n expect(createCallSpy).toBeCalledWith(CallDirection.OUTBOUND, undefined, expect.any(String));\n });\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_asyncMutex","require","_testUtil","_registerFixtures","_common","_types","_types2","_","_interopRequireDefault","utils","_interopRequireWildcard","_SDKConnector","_constants","_types3","regUtils","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","_Object$getOwnPropertyDescriptors","_Object$defineProperties","describe","mutex","Mutex","webex","getTestUtilsWebex","SDKConnector","setWebex","defaultServiceData","indicator","ServiceIndicator","CALLING","domain","createRegistrationSpy","jest","spyOn","mobiusUris","filterMobiusUris","getMobiusDiscoveryResponse","URL","primaryMobiusUris","fn","primary","backupMobiusUris","backup","userId","internal","device","clientDeviceUri","url","handleErrorSpy","clearAllMocks","line","mockRegistrationBody","getMockDeviceInfo","discoveryBody","primaryUrl","concat","uris","registrationPayload","statusCode","body","beforeEach","Line","LOGGER","INFO","afterEach","clearAllTimers","useRealTimers","removeAllListeners","it","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","useFakeTimers","request","mockReturnValue","expect","toBeCalledOnceWith","any","anything","getStatus","toEqual","RegistrationStatus","IDLE","register","getMockRequestTemplate","serviceData","uri","method","not","toBeCalled","ACTIVE","getActiveMobiusUrl","getLoggingLevel","getDeviceId","deviceId","mockClear","advanceTimersByTime","_promise","resolve","stop","_callee2","_callee2$","_context2","LINE_EVENTS","ERROR","mockRejectedValue","on","error","message","toBe","waitForMsecs","INACTIVE","file","REGISTRATION_FILE","_callee3","_callee3$","_context3","mockReturnValueOnce","deregister","createCallSpy","callManager","makeCall","address","type","CallType","URI","CallDirection","OUTBOUND","undefined","lineId","toBeTruthy","getCall","getCorrelationId","direction","toStrictEqual","end","destination","done","toBeUndefined","assertions"],"sources":["line.test.ts"],"sourcesContent":["import {Mutex} from 'async-mutex';\nimport {\n getMobiusDiscoveryResponse,\n getMockDeviceInfo,\n getMockRequestTemplate,\n getTestUtilsWebex,\n} from '../../common/testUtil';\nimport {URL} from '../registration/registerFixtures';\nimport {filterMobiusUris} from '../../common';\nimport {\n CallDirection,\n CallType,\n MobiusServers,\n RegistrationStatus,\n ServiceIndicator,\n WebexRequestPayload,\n} from '../../common/types';\nimport {LINE_EVENTS} from './types';\nimport Line from '.';\nimport * as utils from '../../common/Utils';\nimport SDKConnector from '../../SDKConnector';\nimport {REGISTRATION_FILE} from '../constants';\nimport {LOGGER} from '../../Logger/types';\nimport * as regUtils from '../registration/register';\n\ndescribe('Line Tests', () => {\n const mutex = new Mutex();\n const webex = getTestUtilsWebex();\n SDKConnector.setWebex(webex);\n\n const defaultServiceData = {indicator: ServiceIndicator.CALLING, domain: ''};\n const createRegistrationSpy = jest.spyOn(regUtils, 'createRegistration');\n\n const mobiusUris = filterMobiusUris(getMobiusDiscoveryResponse(), URL);\n const primaryMobiusUris = jest.fn(() => mobiusUris.primary);\n const backupMobiusUris = jest.fn(() => mobiusUris.backup);\n const userId = webex.internal.device.userId;\n const clientDeviceUri = webex.internal.device.url;\n\n const handleErrorSpy = jest.spyOn(utils, 'handleRegistrationErrors');\n\n jest.clearAllMocks();\n\n describe('Line Registration tests', () => {\n let line;\n const mockRegistrationBody = getMockDeviceInfo();\n\n const discoveryBody: MobiusServers = getMobiusDiscoveryResponse();\n const primaryUrl = `${discoveryBody.primary.uris[0]}/calling/web/`;\n\n const registrationPayload = <WebexRequestPayload>(<unknown>{\n statusCode: 200,\n body: mockRegistrationBody,\n });\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n\n it('verify successful Registration cases and keepalive', async () => {\n jest.useFakeTimers();\n webex.request.mockReturnValue(registrationPayload);\n\n expect(createRegistrationSpy).toBeCalledOnceWith(\n webex,\n defaultServiceData,\n expect.any(Mutex),\n expect.anything(),\n LOGGER.INFO\n );\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n body: {\n userId,\n clientDeviceUri,\n serviceData: defaultServiceData,\n },\n uri: `${primaryUrl}device`,\n method: 'POST',\n });\n expect(handleErrorSpy).not.toBeCalled();\n\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n expect(line.getActiveMobiusUrl()).toEqual(primaryUrl);\n expect(line.getLoggingLevel()).toEqual(LOGGER.INFO);\n expect(line.getDeviceId()).toEqual(mockRegistrationBody.device.deviceId);\n\n webex.request.mockClear();\n\n jest.advanceTimersByTime(30 * 1000);\n await Promise.resolve();\n\n expect(webex.request).toBeCalledOnceWith({\n ...getMockRequestTemplate(),\n uri: `${mockRegistrationBody.device.uri}/status`,\n method: 'POST',\n });\n jest.useRealTimers();\n });\n\n it('verify failure Registration cases all requests fail ', async () => {\n line.removeAllListeners(LINE_EVENTS.ERROR);\n\n webex.request.mockRejectedValue({\n statusCode: 401,\n });\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'User is unauthorized due to an expired token. Sign out, then sign back in.'\n );\n });\n\n expect(line.getStatus()).toBe(RegistrationStatus.IDLE);\n line.register();\n await utils.waitForMsecs(20);\n\n expect(line.getStatus()).toBe(RegistrationStatus.INACTIVE);\n expect(handleErrorSpy).toBeCalledOnceWith(\n expect.anything(),\n expect.anything(),\n {\n file: REGISTRATION_FILE,\n method: 'attemptRegistrationWithServers',\n },\n expect.anything()\n );\n });\n\n it('verify successful de-registration cases', async () => {\n webex.request.mockReturnValueOnce(registrationPayload);\n\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n await line.register();\n expect(line.getStatus()).toEqual(RegistrationStatus.ACTIVE);\n\n await line.deregister();\n expect(line.getStatus()).toEqual(RegistrationStatus.IDLE);\n });\n });\n\n describe('Line calling tests', () => {\n let line;\n\n beforeEach(() => {\n line = new Line(\n userId,\n clientDeviceUri,\n mutex,\n primaryMobiusUris(),\n backupMobiusUris(),\n LOGGER.INFO\n );\n });\n\n afterEach(() => {\n jest.clearAllTimers();\n jest.clearAllMocks();\n jest.useRealTimers();\n line.removeAllListeners();\n });\n it('Return a successful call object while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '5003', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(\n {address: 'tel:5003', type: 'uri'},\n CallDirection.OUTBOUND,\n undefined,\n line.lineId\n );\n expect(call).toBeTruthy();\n expect(line.getCall(call ? call.getCorrelationId() : '')).toBe(call);\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Return a successful call object while making call to FAC codes', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '*25', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(\n {address: 'tel:*25', type: 'uri'},\n CallDirection.OUTBOUND,\n undefined,\n line.lineId\n );\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n call?.end();\n });\n\n it('Remove spaces from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '+91 123 456 7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(\n {address: 'tel:+911234567890', type: 'uri'},\n CallDirection.OUTBOUND,\n undefined,\n line.lineId\n );\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:+911234567890');\n call?.end();\n });\n\n it('Remove hyphen from dialled number while making call', () => {\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n const call = line.makeCall({address: '123-456-7890', type: CallType.URI});\n\n expect(createCallSpy).toBeCalledOnceWith(\n {address: 'tel:1234567890', type: 'uri'},\n CallDirection.OUTBOUND,\n undefined,\n line.lineId\n );\n expect(call).toBeTruthy();\n expect(call ? call.direction : undefined).toStrictEqual(CallDirection.OUTBOUND);\n expect(call ? call.destination.address : undefined).toStrictEqual('tel:1234567890');\n call?.end();\n });\n\n it('attempt to create call with incorrect number format 1', (done) => {\n // There may be other listeners , which may create race\n line.removeAllListeners(LINE_EVENTS.ERROR);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n try {\n const call = line.makeCall({address: 'select#$@^^', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n\n it('attempt to create call with incorrect number format 2', (done) => {\n expect.assertions(4);\n // There may be other listeners , which may create race\n line.removeAllListeners(LINE_EVENTS.ERROR);\n const createCallSpy = jest.spyOn(line.callManager, 'createCall');\n\n line.on(LINE_EVENTS.ERROR, (error) => {\n expect(error.message).toBe(\n 'An invalid phone number was detected. Check the number and try again.'\n );\n done();\n });\n\n try {\n const call = line.makeCall({address: '+1@8883332505', type: CallType.URI});\n\n expect(call).toBeUndefined();\n expect(createCallSpy).not.toBeCalledOnceWith({});\n } catch (error) {\n done(error);\n }\n });\n });\n});\n"],"mappings":"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"}