@azure/communication-call-automation 1.5.0-beta.2 → 1.5.0-beta.3

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 (281) hide show
  1. package/README.md +3 -1
  2. package/dist/browser/callAutomationClient.d.ts +2 -3
  3. package/dist/browser/callAutomationClient.d.ts.map +1 -1
  4. package/dist/browser/callAutomationClient.js +79 -31
  5. package/dist/browser/callAutomationClient.js.map +1 -1
  6. package/dist/browser/callAutomationEventParser.d.ts.map +1 -1
  7. package/dist/browser/callAutomationEventParser.js +9 -10
  8. package/dist/browser/callAutomationEventParser.js.map +1 -1
  9. package/dist/browser/callConnection.d.ts +1 -1
  10. package/dist/browser/callConnection.d.ts.map +1 -1
  11. package/dist/browser/callConnection.js +82 -38
  12. package/dist/browser/callConnection.js.map +1 -1
  13. package/dist/browser/callMedia.d.ts +1 -1
  14. package/dist/browser/callMedia.d.ts.map +1 -1
  15. package/dist/browser/callMedia.js +33 -12
  16. package/dist/browser/callMedia.js.map +1 -1
  17. package/dist/browser/callRecording.js +11 -6
  18. package/dist/browser/callRecording.js.map +1 -1
  19. package/dist/browser/contentDownloader.js +11 -12
  20. package/dist/browser/contentDownloader.js.map +1 -1
  21. package/dist/browser/credential/callAutomationAccessKeyCredentialPolicy.js +1 -2
  22. package/dist/browser/credential/callAutomationAccessKeyCredentialPolicy.js.map +1 -1
  23. package/dist/browser/credential/callAutomationAuthPolicy.js +1 -1
  24. package/dist/browser/credential/callAutomationAuthPolicy.js.map +1 -1
  25. package/dist/browser/credential/cryptoUtils-browser.mjs.map +1 -1
  26. package/dist/browser/credential/cryptoUtils.js +1 -2
  27. package/dist/browser/generated/src/callAutomationApiClient.js +14 -5
  28. package/dist/browser/generated/src/callAutomationApiClient.js.map +1 -1
  29. package/dist/browser/generated/src/models/index.d.ts +305 -322
  30. package/dist/browser/generated/src/models/index.d.ts.map +1 -1
  31. package/dist/browser/generated/src/models/index.js +29 -35
  32. package/dist/browser/generated/src/models/index.js.map +1 -1
  33. package/dist/browser/generated/src/models/mappers.d.ts +41 -34
  34. package/dist/browser/generated/src/models/mappers.d.ts.map +1 -1
  35. package/dist/browser/generated/src/models/mappers.js +481 -462
  36. package/dist/browser/generated/src/models/mappers.js.map +1 -1
  37. package/dist/browser/generated/src/models/parameters.js +1 -1
  38. package/dist/browser/generated/src/models/parameters.js.map +1 -1
  39. package/dist/browser/generated/src/operations/callConnection.js +23 -40
  40. package/dist/browser/generated/src/operations/callConnection.js.map +1 -1
  41. package/dist/browser/generated/src/operations/callMedia.js +1 -0
  42. package/dist/browser/generated/src/operations/callMedia.js.map +1 -1
  43. package/dist/browser/generated/src/operations/callRecording.js +1 -0
  44. package/dist/browser/generated/src/operations/callRecording.js.map +1 -1
  45. package/dist/browser/generated/src/pagingHelper.js +2 -4
  46. package/dist/browser/generated/src/pagingHelper.js.map +1 -1
  47. package/dist/browser/models/constants.d.ts.map +1 -1
  48. package/dist/browser/models/constants.js +1 -1
  49. package/dist/browser/models/constants.js.map +1 -1
  50. package/dist/browser/models/events.d.ts +295 -209
  51. package/dist/browser/models/events.d.ts.map +1 -1
  52. package/dist/browser/models/events.js.map +1 -1
  53. package/dist/browser/models/models.d.ts +44 -4
  54. package/dist/browser/models/models.d.ts.map +1 -1
  55. package/dist/browser/models/models.js +1 -1
  56. package/dist/browser/models/models.js.map +1 -1
  57. package/dist/browser/models/options.d.ts +17 -0
  58. package/dist/browser/models/options.d.ts.map +1 -1
  59. package/dist/browser/models/options.js.map +1 -1
  60. package/dist/browser/models/responses.d.ts +1 -1
  61. package/dist/browser/models/responses.d.ts.map +1 -1
  62. package/dist/browser/models/responses.js.map +1 -1
  63. package/dist/browser/models/streaming.d.ts +26 -27
  64. package/dist/browser/models/streaming.d.ts.map +1 -1
  65. package/dist/browser/models/streaming.js +28 -57
  66. package/dist/browser/models/streaming.js.map +1 -1
  67. package/dist/browser/streamingData.d.ts.map +1 -1
  68. package/dist/browser/streamingData.js +10 -1
  69. package/dist/browser/streamingData.js.map +1 -1
  70. package/dist/browser/utli/converters.d.ts.map +1 -1
  71. package/dist/browser/utli/converters.js +30 -9
  72. package/dist/browser/utli/converters.js.map +1 -1
  73. package/dist/commonjs/callAutomationClient.d.ts +2 -3
  74. package/dist/commonjs/callAutomationClient.d.ts.map +1 -1
  75. package/dist/commonjs/callAutomationClient.js +79 -31
  76. package/dist/commonjs/callAutomationClient.js.map +1 -1
  77. package/dist/commonjs/callAutomationEventParser.d.ts.map +1 -1
  78. package/dist/commonjs/callAutomationEventParser.js +9 -10
  79. package/dist/commonjs/callAutomationEventParser.js.map +1 -1
  80. package/dist/commonjs/callConnection.d.ts +1 -1
  81. package/dist/commonjs/callConnection.d.ts.map +1 -1
  82. package/dist/commonjs/callConnection.js +82 -38
  83. package/dist/commonjs/callConnection.js.map +1 -1
  84. package/dist/commonjs/callMedia.d.ts +1 -1
  85. package/dist/commonjs/callMedia.d.ts.map +1 -1
  86. package/dist/commonjs/callMedia.js +42 -21
  87. package/dist/commonjs/callMedia.js.map +1 -1
  88. package/dist/commonjs/callRecording.js +12 -7
  89. package/dist/commonjs/callRecording.js.map +1 -1
  90. package/dist/commonjs/contentDownloader.js +11 -12
  91. package/dist/commonjs/contentDownloader.js.map +1 -1
  92. package/dist/commonjs/credential/callAutomationAccessKeyCredentialPolicy.js +1 -2
  93. package/dist/commonjs/credential/callAutomationAccessKeyCredentialPolicy.js.map +1 -1
  94. package/dist/commonjs/credential/callAutomationAuthPolicy.js +1 -1
  95. package/dist/commonjs/credential/callAutomationAuthPolicy.js.map +1 -1
  96. package/dist/commonjs/generated/src/callAutomationApiClient.js +14 -5
  97. package/dist/commonjs/generated/src/callAutomationApiClient.js.map +1 -1
  98. package/dist/commonjs/generated/src/models/index.d.ts +305 -322
  99. package/dist/commonjs/generated/src/models/index.d.ts.map +1 -1
  100. package/dist/commonjs/generated/src/models/index.js +30 -36
  101. package/dist/commonjs/generated/src/models/index.js.map +1 -1
  102. package/dist/commonjs/generated/src/models/mappers.d.ts +41 -34
  103. package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -1
  104. package/dist/commonjs/generated/src/models/mappers.js +484 -465
  105. package/dist/commonjs/generated/src/models/mappers.js.map +1 -1
  106. package/dist/commonjs/generated/src/models/parameters.js +1 -1
  107. package/dist/commonjs/generated/src/models/parameters.js.map +1 -1
  108. package/dist/commonjs/generated/src/operations/callConnection.js +23 -39
  109. package/dist/commonjs/generated/src/operations/callConnection.js.map +1 -1
  110. package/dist/commonjs/generated/src/operations/callMedia.js +1 -0
  111. package/dist/commonjs/generated/src/operations/callMedia.js.map +1 -1
  112. package/dist/commonjs/generated/src/operations/callRecording.js +1 -0
  113. package/dist/commonjs/generated/src/operations/callRecording.js.map +1 -1
  114. package/dist/commonjs/generated/src/pagingHelper.js +2 -4
  115. package/dist/commonjs/generated/src/pagingHelper.js.map +1 -1
  116. package/dist/commonjs/models/constants.d.ts.map +1 -1
  117. package/dist/commonjs/models/constants.js +1 -1
  118. package/dist/commonjs/models/constants.js.map +1 -1
  119. package/dist/commonjs/models/events.d.ts +295 -209
  120. package/dist/commonjs/models/events.d.ts.map +1 -1
  121. package/dist/commonjs/models/events.js.map +1 -1
  122. package/dist/commonjs/models/models.d.ts +44 -4
  123. package/dist/commonjs/models/models.d.ts.map +1 -1
  124. package/dist/commonjs/models/models.js +2 -16
  125. package/dist/commonjs/models/models.js.map +1 -1
  126. package/dist/commonjs/models/options.d.ts +17 -0
  127. package/dist/commonjs/models/options.d.ts.map +1 -1
  128. package/dist/commonjs/models/options.js.map +1 -1
  129. package/dist/commonjs/models/responses.d.ts +1 -1
  130. package/dist/commonjs/models/responses.d.ts.map +1 -1
  131. package/dist/commonjs/models/responses.js.map +1 -1
  132. package/dist/commonjs/models/streaming.d.ts +26 -27
  133. package/dist/commonjs/models/streaming.d.ts.map +1 -1
  134. package/dist/commonjs/models/streaming.js +31 -59
  135. package/dist/commonjs/models/streaming.js.map +1 -1
  136. package/dist/commonjs/streamingData.d.ts.map +1 -1
  137. package/dist/commonjs/streamingData.js +10 -1
  138. package/dist/commonjs/streamingData.js.map +1 -1
  139. package/dist/commonjs/tsdoc-metadata.json +11 -11
  140. package/dist/commonjs/utli/converters.d.ts.map +1 -1
  141. package/dist/commonjs/utli/converters.js +30 -9
  142. package/dist/commonjs/utli/converters.js.map +1 -1
  143. package/dist/esm/callAutomationClient.d.ts +2 -3
  144. package/dist/esm/callAutomationClient.d.ts.map +1 -1
  145. package/dist/esm/callAutomationClient.js +79 -31
  146. package/dist/esm/callAutomationClient.js.map +1 -1
  147. package/dist/esm/callAutomationEventParser.d.ts.map +1 -1
  148. package/dist/esm/callAutomationEventParser.js +9 -10
  149. package/dist/esm/callAutomationEventParser.js.map +1 -1
  150. package/dist/esm/callConnection.d.ts +1 -1
  151. package/dist/esm/callConnection.d.ts.map +1 -1
  152. package/dist/esm/callConnection.js +82 -38
  153. package/dist/esm/callConnection.js.map +1 -1
  154. package/dist/esm/callMedia.d.ts +1 -1
  155. package/dist/esm/callMedia.d.ts.map +1 -1
  156. package/dist/esm/callMedia.js +33 -12
  157. package/dist/esm/callMedia.js.map +1 -1
  158. package/dist/esm/callRecording.js +11 -6
  159. package/dist/esm/callRecording.js.map +1 -1
  160. package/dist/esm/contentDownloader.js +11 -12
  161. package/dist/esm/contentDownloader.js.map +1 -1
  162. package/dist/esm/credential/callAutomationAccessKeyCredentialPolicy.js +1 -2
  163. package/dist/esm/credential/callAutomationAccessKeyCredentialPolicy.js.map +1 -1
  164. package/dist/esm/credential/callAutomationAuthPolicy.js +1 -1
  165. package/dist/esm/credential/callAutomationAuthPolicy.js.map +1 -1
  166. package/dist/esm/generated/src/callAutomationApiClient.js +14 -5
  167. package/dist/esm/generated/src/callAutomationApiClient.js.map +1 -1
  168. package/dist/esm/generated/src/models/index.d.ts +305 -322
  169. package/dist/esm/generated/src/models/index.d.ts.map +1 -1
  170. package/dist/esm/generated/src/models/index.js +29 -35
  171. package/dist/esm/generated/src/models/index.js.map +1 -1
  172. package/dist/esm/generated/src/models/mappers.d.ts +41 -34
  173. package/dist/esm/generated/src/models/mappers.d.ts.map +1 -1
  174. package/dist/esm/generated/src/models/mappers.js +481 -462
  175. package/dist/esm/generated/src/models/mappers.js.map +1 -1
  176. package/dist/esm/generated/src/models/parameters.js +1 -1
  177. package/dist/esm/generated/src/models/parameters.js.map +1 -1
  178. package/dist/esm/generated/src/operations/callConnection.js +23 -40
  179. package/dist/esm/generated/src/operations/callConnection.js.map +1 -1
  180. package/dist/esm/generated/src/operations/callMedia.js +1 -0
  181. package/dist/esm/generated/src/operations/callMedia.js.map +1 -1
  182. package/dist/esm/generated/src/operations/callRecording.js +1 -0
  183. package/dist/esm/generated/src/operations/callRecording.js.map +1 -1
  184. package/dist/esm/generated/src/pagingHelper.js +2 -4
  185. package/dist/esm/generated/src/pagingHelper.js.map +1 -1
  186. package/dist/esm/models/constants.d.ts.map +1 -1
  187. package/dist/esm/models/constants.js +1 -1
  188. package/dist/esm/models/constants.js.map +1 -1
  189. package/dist/esm/models/events.d.ts +295 -209
  190. package/dist/esm/models/events.d.ts.map +1 -1
  191. package/dist/esm/models/events.js.map +1 -1
  192. package/dist/esm/models/models.d.ts +44 -4
  193. package/dist/esm/models/models.d.ts.map +1 -1
  194. package/dist/esm/models/models.js +1 -1
  195. package/dist/esm/models/models.js.map +1 -1
  196. package/dist/esm/models/options.d.ts +17 -0
  197. package/dist/esm/models/options.d.ts.map +1 -1
  198. package/dist/esm/models/options.js.map +1 -1
  199. package/dist/esm/models/responses.d.ts +1 -1
  200. package/dist/esm/models/responses.d.ts.map +1 -1
  201. package/dist/esm/models/responses.js.map +1 -1
  202. package/dist/esm/models/streaming.d.ts +26 -27
  203. package/dist/esm/models/streaming.d.ts.map +1 -1
  204. package/dist/esm/models/streaming.js +28 -57
  205. package/dist/esm/models/streaming.js.map +1 -1
  206. package/dist/esm/streamingData.d.ts.map +1 -1
  207. package/dist/esm/streamingData.js +10 -1
  208. package/dist/esm/streamingData.js.map +1 -1
  209. package/dist/esm/utli/converters.d.ts.map +1 -1
  210. package/dist/esm/utli/converters.js +30 -9
  211. package/dist/esm/utli/converters.js.map +1 -1
  212. package/dist/react-native/callAutomationClient.d.ts +2 -3
  213. package/dist/react-native/callAutomationClient.d.ts.map +1 -1
  214. package/dist/react-native/callAutomationClient.js +79 -31
  215. package/dist/react-native/callAutomationClient.js.map +1 -1
  216. package/dist/react-native/callAutomationEventParser.d.ts.map +1 -1
  217. package/dist/react-native/callAutomationEventParser.js +9 -10
  218. package/dist/react-native/callAutomationEventParser.js.map +1 -1
  219. package/dist/react-native/callConnection.d.ts +1 -1
  220. package/dist/react-native/callConnection.d.ts.map +1 -1
  221. package/dist/react-native/callConnection.js +82 -38
  222. package/dist/react-native/callConnection.js.map +1 -1
  223. package/dist/react-native/callMedia.d.ts +1 -1
  224. package/dist/react-native/callMedia.d.ts.map +1 -1
  225. package/dist/react-native/callMedia.js +33 -12
  226. package/dist/react-native/callMedia.js.map +1 -1
  227. package/dist/react-native/callRecording.js +11 -6
  228. package/dist/react-native/callRecording.js.map +1 -1
  229. package/dist/react-native/contentDownloader.js +11 -12
  230. package/dist/react-native/contentDownloader.js.map +1 -1
  231. package/dist/react-native/credential/callAutomationAccessKeyCredentialPolicy.js +1 -2
  232. package/dist/react-native/credential/callAutomationAccessKeyCredentialPolicy.js.map +1 -1
  233. package/dist/react-native/credential/callAutomationAuthPolicy.js +1 -1
  234. package/dist/react-native/credential/callAutomationAuthPolicy.js.map +1 -1
  235. package/dist/react-native/generated/src/callAutomationApiClient.js +14 -5
  236. package/dist/react-native/generated/src/callAutomationApiClient.js.map +1 -1
  237. package/dist/react-native/generated/src/models/index.d.ts +305 -322
  238. package/dist/react-native/generated/src/models/index.d.ts.map +1 -1
  239. package/dist/react-native/generated/src/models/index.js +29 -35
  240. package/dist/react-native/generated/src/models/index.js.map +1 -1
  241. package/dist/react-native/generated/src/models/mappers.d.ts +41 -34
  242. package/dist/react-native/generated/src/models/mappers.d.ts.map +1 -1
  243. package/dist/react-native/generated/src/models/mappers.js +481 -462
  244. package/dist/react-native/generated/src/models/mappers.js.map +1 -1
  245. package/dist/react-native/generated/src/models/parameters.js +1 -1
  246. package/dist/react-native/generated/src/models/parameters.js.map +1 -1
  247. package/dist/react-native/generated/src/operations/callConnection.js +23 -40
  248. package/dist/react-native/generated/src/operations/callConnection.js.map +1 -1
  249. package/dist/react-native/generated/src/operations/callMedia.js +1 -0
  250. package/dist/react-native/generated/src/operations/callMedia.js.map +1 -1
  251. package/dist/react-native/generated/src/operations/callRecording.js +1 -0
  252. package/dist/react-native/generated/src/operations/callRecording.js.map +1 -1
  253. package/dist/react-native/generated/src/pagingHelper.js +2 -4
  254. package/dist/react-native/generated/src/pagingHelper.js.map +1 -1
  255. package/dist/react-native/models/constants.d.ts.map +1 -1
  256. package/dist/react-native/models/constants.js +1 -1
  257. package/dist/react-native/models/constants.js.map +1 -1
  258. package/dist/react-native/models/events.d.ts +295 -209
  259. package/dist/react-native/models/events.d.ts.map +1 -1
  260. package/dist/react-native/models/events.js.map +1 -1
  261. package/dist/react-native/models/models.d.ts +44 -4
  262. package/dist/react-native/models/models.d.ts.map +1 -1
  263. package/dist/react-native/models/models.js +1 -1
  264. package/dist/react-native/models/models.js.map +1 -1
  265. package/dist/react-native/models/options.d.ts +17 -0
  266. package/dist/react-native/models/options.d.ts.map +1 -1
  267. package/dist/react-native/models/options.js.map +1 -1
  268. package/dist/react-native/models/responses.d.ts +1 -1
  269. package/dist/react-native/models/responses.d.ts.map +1 -1
  270. package/dist/react-native/models/responses.js.map +1 -1
  271. package/dist/react-native/models/streaming.d.ts +26 -27
  272. package/dist/react-native/models/streaming.d.ts.map +1 -1
  273. package/dist/react-native/models/streaming.js +28 -57
  274. package/dist/react-native/models/streaming.js.map +1 -1
  275. package/dist/react-native/streamingData.d.ts.map +1 -1
  276. package/dist/react-native/streamingData.js +10 -1
  277. package/dist/react-native/streamingData.js.map +1 -1
  278. package/dist/react-native/utli/converters.d.ts.map +1 -1
  279. package/dist/react-native/utli/converters.js +30 -9
  280. package/dist/react-native/utli/converters.js.map +1 -1
  281. package/package.json +38 -44
@@ -3,7 +3,6 @@
3
3
  // Licensed under the MIT License.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.CallConnection = void 0;
6
- const tslib_1 = require("tslib");
7
6
  const communication_common_1 = require("@azure/communication-common");
8
7
  const callMedia_js_1 = require("./callMedia.js");
9
8
  const index_js_1 = require("./generated/src/index.js");
@@ -14,6 +13,12 @@ const core_util_1 = require("@azure/core-util");
14
13
  * CallConnection class represents call connection based APIs.
15
14
  */
16
15
  class CallConnection {
16
+ callConnectionId;
17
+ callConnection;
18
+ callAutomationApiClient;
19
+ endpoint;
20
+ credential;
21
+ callAutomationApiClientOptions;
17
22
  constructor(callConnectionId, endpoint, credential, options) {
18
23
  this.callAutomationApiClient = new index_js_1.CallAutomationApiClient(endpoint, options);
19
24
  const authPolicy = (0, communication_common_1.createCommunicationAuthPolicy)(credential);
@@ -34,10 +39,17 @@ class CallConnection {
34
39
  * Get call connection properties of the call
35
40
  */
36
41
  async getCallConnectionProperties(options = {}) {
37
- const _a = await this.callConnection.getCall(this.callConnectionId, options), { targets, sourceCallerIdNumber, answeredBy, source, answeredFor } = _a, result = tslib_1.__rest(_a, ["targets", "sourceCallerIdNumber", "answeredBy", "source", "answeredFor"]);
38
- const callConnectionProperties = Object.assign(Object.assign({}, result), { source: source ? (0, converters_js_1.communicationIdentifierConverter)(source) : undefined, answeredby: (0, converters_js_1.communicationUserIdentifierConverter)(answeredBy), answeredFor: answeredFor ? (0, converters_js_1.phoneNumberIdentifierConverter)(answeredFor) : undefined, targetParticipants: targets === null || targets === void 0 ? void 0 : targets.map((target) => (0, converters_js_1.communicationIdentifierConverter)(target)), sourceCallerIdNumber: sourceCallerIdNumber
42
+ const { targets, sourceCallerIdNumber, answeredBy, source, answeredFor, ...result } = await this.callConnection.getCall(this.callConnectionId, options);
43
+ const callConnectionProperties = {
44
+ ...result,
45
+ source: source ? (0, converters_js_1.communicationIdentifierConverter)(source) : undefined,
46
+ answeredby: (0, converters_js_1.communicationUserIdentifierConverter)(answeredBy),
47
+ answeredFor: answeredFor ? (0, converters_js_1.phoneNumberIdentifierConverter)(answeredFor) : undefined,
48
+ targetParticipants: targets?.map((target) => (0, converters_js_1.communicationIdentifierConverter)(target)),
49
+ sourceCallerIdNumber: sourceCallerIdNumber
39
50
  ? (0, converters_js_1.phoneNumberIdentifierConverter)(sourceCallerIdNumber)
40
- : undefined });
51
+ : undefined,
52
+ };
41
53
  return callConnectionProperties;
42
54
  }
43
55
  /**
@@ -47,7 +59,11 @@ class CallConnection {
47
59
  */
48
60
  async hangUp(isForEveryone, options = {}) {
49
61
  if (isForEveryone) {
50
- const optionsInternal = Object.assign(Object.assign({}, options), { repeatabilityFirstSent: new Date(), repeatabilityRequestID: (0, core_util_1.randomUUID)() });
62
+ const optionsInternal = {
63
+ ...options,
64
+ repeatabilityFirstSent: new Date(),
65
+ repeatabilityRequestID: (0, core_util_1.randomUUID)(),
66
+ };
51
67
  await this.callConnection.terminateCall(this.callConnectionId, optionsInternal);
52
68
  }
53
69
  else {
@@ -77,28 +93,18 @@ class CallConnection {
77
93
  * Get all participants from the call
78
94
  */
79
95
  async listParticipants(options = {}) {
80
- var _a, e_1, _b, _c;
81
96
  const result = this.callConnection.listParticipants(this.callConnectionId, options);
82
97
  const participants = [];
83
- const pages = result === null || result === void 0 ? void 0 : result.byPage();
84
- try {
85
- for (var _d = true, pages_1 = tslib_1.__asyncValues(pages), pages_1_1; pages_1_1 = await pages_1.next(), _a = pages_1_1.done, !_a; _d = true) {
86
- _c = pages_1_1.value;
87
- _d = false;
88
- const page = _c;
89
- for (const participant of page) {
90
- participants.push((0, converters_js_1.callParticipantConverter)(participant));
91
- }
92
- }
93
- }
94
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
95
- finally {
96
- try {
97
- if (!_d && !_a && (_b = pages_1.return)) await _b.call(pages_1);
98
+ const pages = result?.byPage();
99
+ for await (const page of pages) {
100
+ for (const participant of page) {
101
+ participants.push((0, converters_js_1.callParticipantConverter)(participant));
98
102
  }
99
- finally { if (e_1) throw e_1.error; }
100
103
  }
101
- const listParticipantResponse = Object.assign(Object.assign({}, result), { values: participants });
104
+ const listParticipantResponse = {
105
+ ...result,
106
+ values: participants,
107
+ };
102
108
  return listParticipantResponse;
103
109
  }
104
110
  createCustomCallingContextInternal(customCallingContext) {
@@ -110,7 +116,12 @@ class CallConnection {
110
116
  sipHeaders[`User-To-User`] = header.value;
111
117
  }
112
118
  else if (header.kind === "sipx") {
113
- sipHeaders[`X-MS-Custom-${header.key}`] = header.value;
119
+ if (header.sipHeaderPrefix === "X-") {
120
+ sipHeaders[`X-${header.key}`] = header.value;
121
+ }
122
+ else {
123
+ sipHeaders[`X-MS-Custom-${header.key}`] = header.value;
124
+ }
114
125
  }
115
126
  else if (header.kind === "voip") {
116
127
  voipHeaders[`${header.key}`] = header.value;
@@ -125,7 +136,6 @@ class CallConnection {
125
136
  * @param participant - The participant is going to be added.
126
137
  */
127
138
  async addParticipant(targetParticipant, options = {}) {
128
- var _a, _b;
129
139
  const addParticipantRequest = {
130
140
  participantToAdd: (0, converters_js_1.communicationIdentifierModelConverter)(targetParticipant.targetParticipant),
131
141
  sourceCallerIdNumber: (0, converters_js_1.PhoneNumberIdentifierModelConverter)(targetParticipant.sourceCallIdNumber),
@@ -135,11 +145,21 @@ class CallConnection {
135
145
  operationCallbackUri: options.operationCallbackUrl,
136
146
  customCallingContext: this.createCustomCallingContextInternal(targetParticipant.customCallingContext),
137
147
  };
138
- const optionsInternal = Object.assign(Object.assign({}, options), { repeatabilityFirstSent: new Date(), repeatabilityRequestID: (0, core_util_1.randomUUID)() });
148
+ const optionsInternal = {
149
+ ...options,
150
+ repeatabilityFirstSent: new Date(),
151
+ repeatabilityRequestID: (0, core_util_1.randomUUID)(),
152
+ };
139
153
  const result = await this.callConnection.addParticipant(this.callConnectionId, addParticipantRequest, optionsInternal);
140
- const addParticipantsResult = Object.assign(Object.assign({}, result), { participant: Object.assign(Object.assign({}, result.participant), { identifier: ((_a = result.participant) === null || _a === void 0 ? void 0 : _a.identifier)
141
- ? (0, converters_js_1.communicationIdentifierConverter)((_b = result.participant) === null || _b === void 0 ? void 0 : _b.identifier)
142
- : undefined }) });
154
+ const addParticipantsResult = {
155
+ ...result,
156
+ participant: {
157
+ ...result.participant,
158
+ identifier: result.participant?.identifier
159
+ ? (0, converters_js_1.communicationIdentifierConverter)(result.participant?.identifier)
160
+ : undefined,
161
+ },
162
+ };
143
163
  return addParticipantsResult;
144
164
  }
145
165
  /**
@@ -156,9 +176,15 @@ class CallConnection {
156
176
  customCallingContext: this.createCustomCallingContextInternal(options.customCallingContext),
157
177
  sourceCallerIdNumber: (0, converters_js_1.PhoneNumberIdentifierModelConverter)(options.sourceCallIdNumber),
158
178
  };
159
- const optionsInternal = Object.assign(Object.assign({}, options), { repeatabilityFirstSent: new Date(), repeatabilityRequestID: (0, core_util_1.randomUUID)() });
179
+ const optionsInternal = {
180
+ ...options,
181
+ repeatabilityFirstSent: new Date(),
182
+ repeatabilityRequestID: (0, core_util_1.randomUUID)(),
183
+ };
160
184
  const result = await this.callConnection.transferToParticipant(this.callConnectionId, transferToParticipantRequest, optionsInternal);
161
- const transferCallResult = Object.assign({}, result);
185
+ const transferCallResult = {
186
+ ...result,
187
+ };
162
188
  return transferCallResult;
163
189
  }
164
190
  /**
@@ -172,9 +198,15 @@ class CallConnection {
172
198
  operationContext: options.operationContext ? options.operationContext : (0, core_util_1.randomUUID)(),
173
199
  operationCallbackUri: options.operationCallbackUrl,
174
200
  };
175
- const optionsInternal = Object.assign(Object.assign({}, options), { repeatabilityFirstSent: new Date(), repeatabilityRequestID: (0, core_util_1.randomUUID)() });
201
+ const optionsInternal = {
202
+ ...options,
203
+ repeatabilityFirstSent: new Date(),
204
+ repeatabilityRequestID: (0, core_util_1.randomUUID)(),
205
+ };
176
206
  const result = await this.callConnection.removeParticipant(this.callConnectionId, removeParticipantRequest, optionsInternal);
177
- const removeParticipantsResult = Object.assign({}, result);
207
+ const removeParticipantsResult = {
208
+ ...result,
209
+ };
178
210
  return removeParticipantsResult;
179
211
  }
180
212
  /**
@@ -188,9 +220,15 @@ class CallConnection {
188
220
  targetParticipants: [(0, converters_js_1.communicationIdentifierModelConverter)(participant)],
189
221
  operationContext: options.operationContext,
190
222
  };
191
- const optionsInternal = Object.assign(Object.assign({}, options), { repeatabilityFirstSent: new Date(), repeatabilityRequestID: (0, core_util_1.randomUUID)() });
223
+ const optionsInternal = {
224
+ ...options,
225
+ repeatabilityFirstSent: new Date(),
226
+ repeatabilityRequestID: (0, core_util_1.randomUUID)(),
227
+ };
192
228
  const result = await this.callConnection.mute(this.callConnectionId, muteParticipantsRequest, optionsInternal);
193
- const muteParticipantResult = Object.assign({}, result);
229
+ const muteParticipantResult = {
230
+ ...result,
231
+ };
194
232
  return muteParticipantResult;
195
233
  }
196
234
  /** Cancel add participant request.
@@ -198,15 +236,21 @@ class CallConnection {
198
236
  * @param invitationId - Invitation ID used to cancel the add participant request.
199
237
  */
200
238
  async cancelAddParticipantOperation(invitationId, options = {}) {
201
- const { operationContext, operationCallbackUrl: operationCallbackUri } = options, operationOptions = tslib_1.__rest(options, ["operationContext", "operationCallbackUrl"]);
239
+ const { operationContext, operationCallbackUrl: operationCallbackUri, ...operationOptions } = options;
202
240
  const cancelAddParticipantRequest = {
203
241
  invitationId,
204
242
  operationContext: operationContext ? operationContext : (0, core_util_1.randomUUID)(),
205
243
  operationCallbackUri,
206
244
  };
207
- const optionsInternal = Object.assign(Object.assign({}, operationOptions), { repeatabilityFirstSent: new Date(), repeatabilityRequestID: (0, core_util_1.randomUUID)() });
245
+ const optionsInternal = {
246
+ ...operationOptions,
247
+ repeatabilityFirstSent: new Date(),
248
+ repeatabilityRequestID: (0, core_util_1.randomUUID)(),
249
+ };
208
250
  const result = await this.callConnection.cancelAddParticipant(this.callConnectionId, cancelAddParticipantRequest, optionsInternal);
209
- const cancelAddParticipantResult = Object.assign({}, result);
251
+ const cancelAddParticipantResult = {
252
+ ...result,
253
+ };
210
254
  return cancelAddParticipantResult;
211
255
  }
212
256
  }
@@ -1 +1 @@
1
- {"version":3,"file":"callConnection.js","sourceRoot":"","sources":["../../src/callConnection.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n CommunicationIdentifier,\n createCommunicationAuthPolicy,\n} from \"@azure/communication-common\";\nimport { CallMedia } from \"./callMedia.js\";\nimport {\n AddParticipantRequest,\n CallAutomationApiClient,\n CallAutomationApiClientOptionalParams,\n CustomCallingContextInternal,\n MuteParticipantsRequest,\n RemoveParticipantRequest,\n TransferToParticipantRequest,\n} from \"./generated/src/index.js\";\nimport { CallConnectionImpl } from \"./generated/src/operations/index.js\";\nimport type {\n CallConnectionProperties,\n CallInvite,\n CallParticipant,\n CustomCallingContext,\n} from \"./models/models.js\";\nimport type {\n AddParticipantOptions,\n CancelAddParticipantOperationOptions,\n GetCallConnectionPropertiesOptions,\n GetParticipantOptions,\n HangUpOptions,\n MuteParticipantOption,\n RemoveParticipantsOption,\n TransferCallToParticipantOptions,\n} from \"./models/options.js\";\nimport type {\n ListParticipantsResult,\n TransferCallResult,\n AddParticipantResult,\n RemoveParticipantResult,\n MuteParticipantResult,\n CancelAddParticipantOperationResult,\n} from \"./models/responses.js\";\nimport {\n callParticipantConverter,\n communicationIdentifierConverter,\n communicationIdentifierModelConverter,\n communicationUserIdentifierConverter,\n phoneNumberIdentifierConverter,\n PhoneNumberIdentifierModelConverter,\n} from \"./utli/converters.js\";\nimport { randomUUID } from \"@azure/core-util\";\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\n\n/**\n * CallConnection class represents call connection based APIs.\n */\nexport class CallConnection {\n private readonly callConnectionId: string;\n private readonly callConnection: CallConnectionImpl;\n private readonly callAutomationApiClient: CallAutomationApiClient;\n private readonly endpoint: string;\n private readonly credential: TokenCredential | KeyCredential;\n private readonly callAutomationApiClientOptions?: CallAutomationApiClientOptionalParams;\n constructor(\n callConnectionId: string,\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options?: CallAutomationApiClientOptionalParams,\n ) {\n this.callAutomationApiClient = new CallAutomationApiClient(endpoint, options);\n const authPolicy = createCommunicationAuthPolicy(credential);\n this.callAutomationApiClient.pipeline.addPolicy(authPolicy);\n this.callConnectionId = callConnectionId;\n this.callConnection = new CallConnectionImpl(this.callAutomationApiClient);\n this.endpoint = endpoint;\n this.credential = credential;\n this.callAutomationApiClientOptions = options;\n }\n\n /**\n * Initializes a new instance of CallMedia.\n */\n public getCallMedia(): CallMedia {\n return new CallMedia(\n this.callConnectionId,\n this.endpoint,\n this.credential,\n this.callAutomationApiClientOptions,\n );\n }\n\n /**\n * Get call connection properties of the call\n */\n public async getCallConnectionProperties(\n options: GetCallConnectionPropertiesOptions = {},\n ): Promise<CallConnectionProperties> {\n const { targets, sourceCallerIdNumber, answeredBy, source, answeredFor, ...result } =\n await this.callConnection.getCall(this.callConnectionId, options);\n const callConnectionProperties: CallConnectionProperties = {\n ...result,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: communicationUserIdentifierConverter(answeredBy),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n targetParticipants: targets?.map((target) => communicationIdentifierConverter(target)),\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n return callConnectionProperties;\n }\n\n /**\n * Hang up the call for itself or terminate the whole call.\n *\n * @param isForEveryOne - Determine if every one in the call would be hung up or not.\n */\n public async hangUp(isForEveryone: boolean, options: HangUpOptions = {}): Promise<void> {\n if (isForEveryone) {\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n await this.callConnection.terminateCall(this.callConnectionId, optionsInternal);\n } else {\n await this.callConnection.hangupCall(this.callConnectionId, options);\n }\n return;\n }\n\n /**\n * Get a participant from the call\n *\n * @param targetParticipant - The communication identifier of requested participant.\n */\n public async getParticipant(\n targetParticipant: CommunicationIdentifier,\n options: GetParticipantOptions = {},\n ): Promise<CallParticipant> {\n let rawId: string | undefined = communicationIdentifierModelConverter(targetParticipant).rawId;\n rawId = rawId === undefined ? \"\" : rawId;\n\n const result = await this.callConnection.getParticipant(this.callConnectionId, rawId, options);\n const callParticipant: CallParticipant = {\n identifier: result.identifier\n ? communicationIdentifierConverter(result.identifier)\n : undefined,\n isMuted: result.isMuted,\n isOnHold: result.isOnHold,\n };\n return callParticipant;\n }\n\n /**\n * Get all participants from the call\n */\n public async listParticipants(\n options: GetParticipantOptions = {},\n ): Promise<ListParticipantsResult> {\n const result = this.callConnection.listParticipants(this.callConnectionId, options);\n const participants = [];\n const pages = result?.byPage();\n\n for await (const page of pages) {\n for (const participant of page) {\n participants.push(callParticipantConverter(participant));\n }\n }\n\n const listParticipantResponse: ListParticipantsResult = {\n ...result,\n values: participants,\n };\n return listParticipantResponse;\n }\n\n private createCustomCallingContextInternal(\n customCallingContext: CustomCallingContext,\n ): CustomCallingContextInternal {\n const sipHeaders: { [key: string]: string } = {};\n const voipHeaders: { [key: string]: string } = {};\n if (customCallingContext) {\n for (const header of customCallingContext) {\n if (header.kind === \"sipuui\") {\n sipHeaders[`User-To-User`] = header.value;\n } else if (header.kind === \"sipx\") {\n sipHeaders[`X-MS-Custom-${header.key}`] = header.value;\n } else if (header.kind === \"voip\") {\n voipHeaders[`${header.key}`] = header.value;\n }\n }\n }\n return { sipHeaders: sipHeaders, voipHeaders: voipHeaders };\n }\n\n /**\n * Add a participant to the call\n *\n * @param participant - The participant is going to be added.\n */\n public async addParticipant(\n targetParticipant: CallInvite,\n options: AddParticipantOptions = {},\n ): Promise<AddParticipantResult> {\n const addParticipantRequest: AddParticipantRequest = {\n participantToAdd: communicationIdentifierModelConverter(targetParticipant.targetParticipant),\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(\n targetParticipant.sourceCallIdNumber,\n ),\n sourceDisplayName: targetParticipant.sourceDisplayName,\n invitationTimeoutInSeconds: options.invitationTimeoutInSeconds,\n operationContext: options.operationContext,\n operationCallbackUri: options.operationCallbackUrl,\n customCallingContext: this.createCustomCallingContextInternal(\n targetParticipant.customCallingContext!,\n ),\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.addParticipant(\n this.callConnectionId,\n addParticipantRequest,\n optionsInternal,\n );\n const addParticipantsResult: AddParticipantResult = {\n ...result,\n participant: {\n ...result.participant,\n identifier: result.participant?.identifier\n ? communicationIdentifierConverter(result.participant?.identifier)\n : undefined,\n },\n };\n return addParticipantsResult;\n }\n\n /**\n * Transfer the call to a target participant\n *\n * @param targetParticipant - The target to be transferred to.\n */\n public async transferCallToParticipant(\n targetParticipant: CommunicationIdentifier,\n options: TransferCallToParticipantOptions = {},\n ): Promise<TransferCallResult> {\n const transferToParticipantRequest: TransferToParticipantRequest = {\n targetParticipant: communicationIdentifierModelConverter(targetParticipant),\n operationContext: options.operationContext ? options.operationContext : randomUUID(),\n operationCallbackUri: options.operationCallbackUrl,\n transferee: options.transferee && communicationIdentifierModelConverter(options.transferee),\n customCallingContext: this.createCustomCallingContextInternal(options.customCallingContext!),\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(options.sourceCallIdNumber),\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.transferToParticipant(\n this.callConnectionId,\n transferToParticipantRequest,\n optionsInternal,\n );\n const transferCallResult: TransferCallResult = {\n ...result,\n };\n return transferCallResult;\n }\n\n /**\n * Remove a participant from the call\n *\n * @param participant - The participant is going to be removed from the call.\n */\n public async removeParticipant(\n participant: CommunicationIdentifier,\n options: RemoveParticipantsOption = {},\n ): Promise<RemoveParticipantResult> {\n const removeParticipantRequest: RemoveParticipantRequest = {\n participantToRemove: communicationIdentifierModelConverter(participant),\n operationContext: options.operationContext ? options.operationContext : randomUUID(),\n operationCallbackUri: options.operationCallbackUrl,\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.removeParticipant(\n this.callConnectionId,\n removeParticipantRequest,\n optionsInternal,\n );\n const removeParticipantsResult: RemoveParticipantResult = {\n ...result,\n };\n return removeParticipantsResult;\n }\n\n /**\n * Mute participant from the call.\n *\n * @param participant - Participant to be muted from the call.\n * @param options - Additional attributes for mute participant.\n */\n public async muteParticipant(\n participant: CommunicationIdentifier,\n options: MuteParticipantOption = {},\n ): Promise<MuteParticipantResult> {\n const muteParticipantsRequest: MuteParticipantsRequest = {\n targetParticipants: [communicationIdentifierModelConverter(participant)],\n operationContext: options.operationContext,\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.mute(\n this.callConnectionId,\n muteParticipantsRequest,\n optionsInternal,\n );\n const muteParticipantResult: MuteParticipantResult = {\n ...result,\n };\n return muteParticipantResult;\n }\n\n /** Cancel add participant request.\n *\n * @param invitationId - Invitation ID used to cancel the add participant request.\n */\n public async cancelAddParticipantOperation(\n invitationId: string,\n options: CancelAddParticipantOperationOptions = {},\n ): Promise<CancelAddParticipantOperationResult> {\n const {\n operationContext,\n operationCallbackUrl: operationCallbackUri,\n ...operationOptions\n } = options;\n const cancelAddParticipantRequest = {\n invitationId,\n operationContext: operationContext ? operationContext : randomUUID(),\n operationCallbackUri,\n };\n const optionsInternal = {\n ...operationOptions,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n const result = await this.callConnection.cancelAddParticipant(\n this.callConnectionId,\n cancelAddParticipantRequest,\n optionsInternal,\n );\n\n const cancelAddParticipantResult: CancelAddParticipantOperationResult = {\n ...result,\n };\n\n return cancelAddParticipantResult;\n }\n}\n"]}
1
+ {"version":3,"file":"callConnection.js","sourceRoot":"","sources":["../../src/callConnection.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n CommunicationIdentifier,\n createCommunicationAuthPolicy,\n} from \"@azure/communication-common\";\nimport { CallMedia } from \"./callMedia.js\";\nimport {\n AddParticipantRequest,\n CallAutomationApiClient,\n CallAutomationApiClientOptionalParams,\n CustomCallingContextInternal,\n MuteParticipantsRequest,\n RemoveParticipantRequest,\n TransferToParticipantRequest,\n} from \"./generated/src/index.js\";\nimport { CallConnectionImpl } from \"./generated/src/operations/index.js\";\nimport {\n type CallConnectionProperties,\n type CallInvite,\n type CallParticipant,\n type CustomCallingContext,\n} from \"./models/models.js\";\nimport type {\n AddParticipantOptions,\n CancelAddParticipantOperationOptions,\n GetCallConnectionPropertiesOptions,\n GetParticipantOptions,\n HangUpOptions,\n MuteParticipantOption,\n RemoveParticipantsOption,\n TransferCallToParticipantOptions,\n} from \"./models/options.js\";\nimport type {\n ListParticipantsResult,\n TransferCallResult,\n AddParticipantResult,\n RemoveParticipantResult,\n MuteParticipantResult,\n CancelAddParticipantOperationResult,\n} from \"./models/responses.js\";\nimport {\n callParticipantConverter,\n communicationIdentifierConverter,\n communicationIdentifierModelConverter,\n communicationUserIdentifierConverter,\n phoneNumberIdentifierConverter,\n PhoneNumberIdentifierModelConverter,\n} from \"./utli/converters.js\";\nimport { randomUUID } from \"@azure/core-util\";\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\n\n/**\n * CallConnection class represents call connection based APIs.\n */\nexport class CallConnection {\n private readonly callConnectionId: string;\n private readonly callConnection: CallConnectionImpl;\n private readonly callAutomationApiClient: CallAutomationApiClient;\n private readonly endpoint: string;\n private readonly credential: TokenCredential | KeyCredential;\n private readonly callAutomationApiClientOptions?: CallAutomationApiClientOptionalParams;\n constructor(\n callConnectionId: string,\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options?: CallAutomationApiClientOptionalParams,\n ) {\n this.callAutomationApiClient = new CallAutomationApiClient(endpoint, options);\n const authPolicy = createCommunicationAuthPolicy(credential);\n this.callAutomationApiClient.pipeline.addPolicy(authPolicy);\n this.callConnectionId = callConnectionId;\n this.callConnection = new CallConnectionImpl(this.callAutomationApiClient);\n this.endpoint = endpoint;\n this.credential = credential;\n this.callAutomationApiClientOptions = options;\n }\n\n /**\n * Initializes a new instance of CallMedia.\n */\n public getCallMedia(): CallMedia {\n return new CallMedia(\n this.callConnectionId,\n this.endpoint,\n this.credential,\n this.callAutomationApiClientOptions,\n );\n }\n\n /**\n * Get call connection properties of the call\n */\n public async getCallConnectionProperties(\n options: GetCallConnectionPropertiesOptions = {},\n ): Promise<CallConnectionProperties> {\n const { targets, sourceCallerIdNumber, answeredBy, source, answeredFor, ...result } =\n await this.callConnection.getCall(this.callConnectionId, options);\n const callConnectionProperties: CallConnectionProperties = {\n ...result,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: communicationUserIdentifierConverter(answeredBy),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n targetParticipants: targets?.map((target) => communicationIdentifierConverter(target)),\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n return callConnectionProperties;\n }\n\n /**\n * Hang up the call for itself or terminate the whole call.\n *\n * @param isForEveryOne - Determine if every one in the call would be hung up or not.\n */\n public async hangUp(isForEveryone: boolean, options: HangUpOptions = {}): Promise<void> {\n if (isForEveryone) {\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n await this.callConnection.terminateCall(this.callConnectionId, optionsInternal);\n } else {\n await this.callConnection.hangupCall(this.callConnectionId, options);\n }\n return;\n }\n\n /**\n * Get a participant from the call\n *\n * @param targetParticipant - The communication identifier of requested participant.\n */\n public async getParticipant(\n targetParticipant: CommunicationIdentifier,\n options: GetParticipantOptions = {},\n ): Promise<CallParticipant> {\n let rawId: string | undefined = communicationIdentifierModelConverter(targetParticipant).rawId;\n rawId = rawId === undefined ? \"\" : rawId;\n\n const result = await this.callConnection.getParticipant(this.callConnectionId, rawId, options);\n const callParticipant: CallParticipant = {\n identifier: result.identifier\n ? communicationIdentifierConverter(result.identifier)\n : undefined,\n isMuted: result.isMuted,\n isOnHold: result.isOnHold,\n };\n return callParticipant;\n }\n\n /**\n * Get all participants from the call\n */\n public async listParticipants(\n options: GetParticipantOptions = {},\n ): Promise<ListParticipantsResult> {\n const result = this.callConnection.listParticipants(this.callConnectionId, options);\n const participants = [];\n const pages = result?.byPage();\n\n for await (const page of pages) {\n for (const participant of page) {\n participants.push(callParticipantConverter(participant));\n }\n }\n\n const listParticipantResponse: ListParticipantsResult = {\n ...result,\n values: participants,\n };\n return listParticipantResponse;\n }\n\n private createCustomCallingContextInternal(\n customCallingContext: CustomCallingContext,\n ): CustomCallingContextInternal {\n const sipHeaders: { [key: string]: string } = {};\n const voipHeaders: { [key: string]: string } = {};\n if (customCallingContext) {\n for (const header of customCallingContext) {\n if (header.kind === \"sipuui\") {\n sipHeaders[`User-To-User`] = header.value;\n } else if (header.kind === \"sipx\") {\n if (header.sipHeaderPrefix === \"X-\") {\n sipHeaders[`X-${header.key}`] = header.value;\n } else {\n sipHeaders[`X-MS-Custom-${header.key}`] = header.value;\n }\n } else if (header.kind === \"voip\") {\n voipHeaders[`${header.key}`] = header.value;\n }\n }\n }\n return { sipHeaders: sipHeaders, voipHeaders: voipHeaders };\n }\n\n /**\n * Add a participant to the call\n *\n * @param participant - The participant is going to be added.\n */\n public async addParticipant(\n targetParticipant: CallInvite,\n options: AddParticipantOptions = {},\n ): Promise<AddParticipantResult> {\n const addParticipantRequest: AddParticipantRequest = {\n participantToAdd: communicationIdentifierModelConverter(targetParticipant.targetParticipant),\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(\n targetParticipant.sourceCallIdNumber,\n ),\n sourceDisplayName: targetParticipant.sourceDisplayName,\n invitationTimeoutInSeconds: options.invitationTimeoutInSeconds,\n operationContext: options.operationContext,\n operationCallbackUri: options.operationCallbackUrl,\n customCallingContext: this.createCustomCallingContextInternal(\n targetParticipant.customCallingContext!,\n ),\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.addParticipant(\n this.callConnectionId,\n addParticipantRequest,\n optionsInternal,\n );\n const addParticipantsResult: AddParticipantResult = {\n ...result,\n participant: {\n ...result.participant,\n identifier: result.participant?.identifier\n ? communicationIdentifierConverter(result.participant?.identifier)\n : undefined,\n },\n };\n return addParticipantsResult;\n }\n\n /**\n * Transfer the call to a target participant\n *\n * @param targetParticipant - The target to be transferred to.\n */\n public async transferCallToParticipant(\n targetParticipant: CommunicationIdentifier,\n options: TransferCallToParticipantOptions = {},\n ): Promise<TransferCallResult> {\n const transferToParticipantRequest: TransferToParticipantRequest = {\n targetParticipant: communicationIdentifierModelConverter(targetParticipant),\n operationContext: options.operationContext ? options.operationContext : randomUUID(),\n operationCallbackUri: options.operationCallbackUrl,\n transferee: options.transferee && communicationIdentifierModelConverter(options.transferee),\n customCallingContext: this.createCustomCallingContextInternal(options.customCallingContext!),\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(options.sourceCallIdNumber),\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.transferToParticipant(\n this.callConnectionId,\n transferToParticipantRequest,\n optionsInternal,\n );\n const transferCallResult: TransferCallResult = {\n ...result,\n };\n return transferCallResult;\n }\n\n /**\n * Remove a participant from the call\n *\n * @param participant - The participant is going to be removed from the call.\n */\n public async removeParticipant(\n participant: CommunicationIdentifier,\n options: RemoveParticipantsOption = {},\n ): Promise<RemoveParticipantResult> {\n const removeParticipantRequest: RemoveParticipantRequest = {\n participantToRemove: communicationIdentifierModelConverter(participant),\n operationContext: options.operationContext ? options.operationContext : randomUUID(),\n operationCallbackUri: options.operationCallbackUrl,\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.removeParticipant(\n this.callConnectionId,\n removeParticipantRequest,\n optionsInternal,\n );\n const removeParticipantsResult: RemoveParticipantResult = {\n ...result,\n };\n return removeParticipantsResult;\n }\n\n /**\n * Mute participant from the call.\n *\n * @param participant - Participant to be muted from the call.\n * @param options - Additional attributes for mute participant.\n */\n public async muteParticipant(\n participant: CommunicationIdentifier,\n options: MuteParticipantOption = {},\n ): Promise<MuteParticipantResult> {\n const muteParticipantsRequest: MuteParticipantsRequest = {\n targetParticipants: [communicationIdentifierModelConverter(participant)],\n operationContext: options.operationContext,\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.mute(\n this.callConnectionId,\n muteParticipantsRequest,\n optionsInternal,\n );\n const muteParticipantResult: MuteParticipantResult = {\n ...result,\n };\n return muteParticipantResult;\n }\n\n /** Cancel add participant request.\n *\n * @param invitationId - Invitation ID used to cancel the add participant request.\n */\n public async cancelAddParticipantOperation(\n invitationId: string,\n options: CancelAddParticipantOperationOptions = {},\n ): Promise<CancelAddParticipantOperationResult> {\n const {\n operationContext,\n operationCallbackUrl: operationCallbackUri,\n ...operationOptions\n } = options;\n const cancelAddParticipantRequest = {\n invitationId,\n operationContext: operationContext ? operationContext : randomUUID(),\n operationCallbackUri,\n };\n const optionsInternal = {\n ...operationOptions,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n const result = await this.callConnection.cancelAddParticipant(\n this.callConnectionId,\n cancelAddParticipantRequest,\n optionsInternal,\n );\n\n const cancelAddParticipantResult: CancelAddParticipantOperationResult = {\n ...result,\n };\n\n return cancelAddParticipantResult;\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { CallAutomationApiClientOptionalParams, Tone } from "./generated/src/index.js";
2
- import { CommunicationIdentifier } from "@azure/communication-common";
2
+ import type { CommunicationIdentifier } from "@azure/communication-common";
3
3
  import type { FileSource, TextSource, SsmlSource, DtmfTone } from "./models/models.js";
4
4
  import type { PlayOptions, CallMediaRecognizeDtmfOptions, CallMediaRecognizeChoiceOptions, ContinuousDtmfRecognitionOptions, SendDtmfTonesOptions, CallMediaRecognizeSpeechOptions, CallMediaRecognizeSpeechOrDtmfOptions, StartTranscriptionOptions, StopTranscriptionOptions, HoldOptions, UnholdOptions, StartMediaStreamingOptions, StopMediaStreamingOptions, PlayToAllOptions, UpdateTranscriptionOptions } from "./models/options.js";
5
5
  import type { KeyCredential, TokenCredential } from "@azure/core-auth";
@@ -1 +1 @@
1
- {"version":3,"file":"callMedia.d.ts","sourceRoot":"","sources":["../../src/callMedia.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"callMedia.d.ts","sourceRoot":"","sources":["../../src/callMedia.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,14 @@ const index_js_1 = require("./generated/src/index.js");
7
7
  const index_js_2 = require("./generated/src/index.js");
8
8
  const index_js_3 = require("./generated/src/operations/index.js");
9
9
  const communication_common_1 = require("@azure/communication-common");
10
- const communication_common_2 = require("@azure/communication-common");
11
10
  const core_util_1 = require("@azure/core-util");
12
11
  /**
13
12
  * CallMedia class represents call media related APIs.
14
13
  */
15
14
  class CallMedia {
15
+ callConnectionId;
16
+ callMedia;
17
+ callAutomationApiClient;
16
18
  constructor(callConnectionId, endpoint, credential, options) {
17
19
  this.callAutomationApiClient = new index_js_1.CallAutomationApiClient(endpoint, options);
18
20
  const authPolicy = (0, communication_common_1.createCommunicationAuthPolicy)(credential);
@@ -28,6 +30,9 @@ class CallMedia {
28
30
  return {
29
31
  kind: index_js_2.KnownPlaySourceType.File,
30
32
  file: fileSource,
33
+ playSourceCacheId: playSource.playSourceCacheId
34
+ ? playSource.playSourceCacheId
35
+ : playSource.playsourcacheid,
31
36
  };
32
37
  }
33
38
  else if (playSource.kind === "textSource") {
@@ -41,6 +46,9 @@ class CallMedia {
41
46
  return {
42
47
  kind: index_js_2.KnownPlaySourceType.Text,
43
48
  text: textSource,
49
+ playSourceCacheId: playSource.playSourceCacheId
50
+ ? playSource.playSourceCacheId
51
+ : playSource.playsourcacheid,
44
52
  };
45
53
  }
46
54
  else if (playSource.kind === "ssmlSource") {
@@ -51,6 +59,9 @@ class CallMedia {
51
59
  return {
52
60
  kind: index_js_2.KnownPlaySourceType.Ssml,
53
61
  ssml: ssmlSource,
62
+ playSourceCacheId: playSource.playSourceCacheId
63
+ ? playSource.playSourceCacheId
64
+ : playSource.playsourcacheid,
54
65
  };
55
66
  }
56
67
  throw new Error("Invalid play source");
@@ -65,7 +76,7 @@ class CallMedia {
65
76
  async play(playSources, playTo, options = { loop: false }) {
66
77
  const playRequest = {
67
78
  playSources: playSources.map((source) => this.createPlaySourceInternal(source)),
68
- playTo: playTo.map((identifier) => (0, communication_common_2.serializeCommunicationIdentifier)(identifier)),
79
+ playTo: playTo.map((identifier) => (0, communication_common_1.serializeCommunicationIdentifier)(identifier)),
69
80
  playOptions: {
70
81
  loop: false,
71
82
  },
@@ -76,7 +87,7 @@ class CallMedia {
76
87
  playRequest.playOptions = playRequest.playOptions || { loop: false }; // Ensure playOptions is defined
77
88
  playRequest.playOptions.loop = options.loop;
78
89
  }
79
- return this.callMedia.play(this.callConnectionId, playRequest, options);
90
+ await this.callMedia.play(this.callConnectionId, playRequest, options);
80
91
  }
81
92
  /**
82
93
  * Play to all participants.
@@ -101,10 +112,10 @@ class CallMedia {
101
112
  if (options.interruptCallMediaOperation !== undefined) {
102
113
  playRequest.playOptions = playRequest.playOptions || {
103
114
  loop: false,
104
- };
115
+ }; // Ensure playOptions is defined
105
116
  playRequest.interruptCallMediaOperation = options.interruptCallMediaOperation;
106
117
  }
107
- return this.callMedia.play(this.callConnectionId, playRequest, options);
118
+ await this.callMedia.play(this.callConnectionId, playRequest, options);
108
119
  }
109
120
  createRecognizeRequest(targetParticipant, recognizeOptions) {
110
121
  if (recognizeOptions.kind === "callMediaRecognizeDtmfOptions") {
@@ -120,7 +131,7 @@ class CallMedia {
120
131
  initialSilenceTimeoutInSeconds: recognizeOptions.initialSilenceTimeoutInSeconds
121
132
  ? recognizeOptions.initialSilenceTimeoutInSeconds
122
133
  : 5,
123
- targetParticipant: (0, communication_common_2.serializeCommunicationIdentifier)(targetParticipant),
134
+ targetParticipant: (0, communication_common_1.serializeCommunicationIdentifier)(targetParticipant),
124
135
  dtmfOptions: dtmfOptionsInternal,
125
136
  };
126
137
  return {
@@ -143,7 +154,7 @@ class CallMedia {
143
154
  initialSilenceTimeoutInSeconds: recognizeOptions.initialSilenceTimeoutInSeconds
144
155
  ? recognizeOptions.initialSilenceTimeoutInSeconds
145
156
  : 5,
146
- targetParticipant: (0, communication_common_2.serializeCommunicationIdentifier)(targetParticipant),
157
+ targetParticipant: (0, communication_common_1.serializeCommunicationIdentifier)(targetParticipant),
147
158
  speechLanguage: recognizeOptions.speechLanguage,
148
159
  speechRecognitionModelEndpointId: recognizeOptions.speechRecognitionModelEndpointId,
149
160
  choices: recognizeOptions.choices,
@@ -173,7 +184,7 @@ class CallMedia {
173
184
  initialSilenceTimeoutInSeconds: recognizeOptions.initialSilenceTimeoutInSeconds
174
185
  ? recognizeOptions.initialSilenceTimeoutInSeconds
175
186
  : 5,
176
- targetParticipant: (0, communication_common_2.serializeCommunicationIdentifier)(targetParticipant),
187
+ targetParticipant: (0, communication_common_1.serializeCommunicationIdentifier)(targetParticipant),
177
188
  speechOptions: speechOptions,
178
189
  speechLanguage: recognizeOptions.speechLanguage,
179
190
  speechRecognitionModelEndpointId: recognizeOptions.speechRecognitionModelEndpointId,
@@ -210,7 +221,7 @@ class CallMedia {
210
221
  initialSilenceTimeoutInSeconds: recognizeOptions.initialSilenceTimeoutInSeconds
211
222
  ? recognizeOptions.initialSilenceTimeoutInSeconds
212
223
  : 5,
213
- targetParticipant: (0, communication_common_2.serializeCommunicationIdentifier)(targetParticipant),
224
+ targetParticipant: (0, communication_common_1.serializeCommunicationIdentifier)(targetParticipant),
214
225
  speechOptions: speechOptions,
215
226
  dtmfOptions: dtmfOptionsInternal,
216
227
  speechRecognitionModelEndpointId: recognizeOptions.speechRecognitionModelEndpointId,
@@ -236,7 +247,7 @@ class CallMedia {
236
247
  // Old function signature logic
237
248
  console.warn("Deprecated function signature used. Please use the new signature with targetParticipant and options params instead, and set maxTonesToCollect in options.");
238
249
  options.maxTonesToCollect = maxTonesOrOptions;
239
- await this.callMedia.recognize(this.callConnectionId, this.createRecognizeRequest(targetParticipant, options), {});
250
+ return this.callMedia.recognize(this.callConnectionId, this.createRecognizeRequest(targetParticipant, options), {});
240
251
  }
241
252
  else if (typeof maxTonesOrOptions !== "number" && !options) {
242
253
  maxTonesOrOptions.operationContext = maxTonesOrOptions.operationContext
@@ -251,7 +262,7 @@ class CallMedia {
251
262
  * Cancels all the queued media operations.
252
263
  */
253
264
  async cancelAllOperations() {
254
- return this.callMedia.cancelAllMediaOperations(this.callConnectionId, {});
265
+ await this.callMedia.cancelAllMediaOperations(this.callConnectionId, {});
255
266
  }
256
267
  /**
257
268
  * Start continuous Dtmf recognition by subscribing to tones.
@@ -260,7 +271,7 @@ class CallMedia {
260
271
  * */
261
272
  async startContinuousDtmfRecognition(targetParticipant, options = {}) {
262
273
  const continuousDtmfRecognitionRequest = {
263
- targetParticipant: (0, communication_common_2.serializeCommunicationIdentifier)(targetParticipant),
274
+ targetParticipant: (0, communication_common_1.serializeCommunicationIdentifier)(targetParticipant),
264
275
  operationContext: options.operationContext,
265
276
  };
266
277
  return this.callMedia.startContinuousDtmfRecognition(this.callConnectionId, continuousDtmfRecognitionRequest, {});
@@ -272,7 +283,7 @@ class CallMedia {
272
283
  * */
273
284
  async stopContinuousDtmfRecognition(targetParticipant, options = {}) {
274
285
  const continuousDtmfRecognitionRequest = {
275
- targetParticipant: (0, communication_common_2.serializeCommunicationIdentifier)(targetParticipant),
286
+ targetParticipant: (0, communication_common_1.serializeCommunicationIdentifier)(targetParticipant),
276
287
  operationContext: options.operationContext,
277
288
  operationCallbackUri: options.operationCallbackUrl,
278
289
  };
@@ -287,13 +298,19 @@ class CallMedia {
287
298
  async sendDtmfTones(tones, targetParticipant, options = {}) {
288
299
  const sendDtmfTonesRequest = {
289
300
  tones: tones,
290
- targetParticipant: (0, communication_common_2.serializeCommunicationIdentifier)(targetParticipant),
301
+ targetParticipant: (0, communication_common_1.serializeCommunicationIdentifier)(targetParticipant),
291
302
  operationContext: options.operationContext,
292
303
  operationCallbackUri: options.operationCallbackUrl,
293
304
  };
294
- const optionsInternal = Object.assign(Object.assign({}, options), { repeatabilityFirstSent: new Date(), repeatabilityRequestID: (0, core_util_1.randomUUID)() });
305
+ const optionsInternal = {
306
+ ...options,
307
+ repeatabilityFirstSent: new Date(),
308
+ repeatabilityRequestID: (0, core_util_1.randomUUID)(),
309
+ };
295
310
  const result = await this.callMedia.sendDtmfTones(this.callConnectionId, sendDtmfTonesRequest, optionsInternal);
296
- const sendDtmfTonesResult = Object.assign({}, result);
311
+ const sendDtmfTonesResult = {
312
+ ...result,
313
+ };
297
314
  return sendDtmfTonesResult;
298
315
  }
299
316
  /**
@@ -304,7 +321,7 @@ class CallMedia {
304
321
  */
305
322
  async hold(targetParticipant, options = {}) {
306
323
  const holdRequest = {
307
- targetParticipant: (0, communication_common_2.serializeCommunicationIdentifier)(targetParticipant),
324
+ targetParticipant: (0, communication_common_1.serializeCommunicationIdentifier)(targetParticipant),
308
325
  playSourceInfo: options.playSource !== undefined
309
326
  ? this.createPlaySourceInternal(options.playSource)
310
327
  : undefined,
@@ -321,8 +338,9 @@ class CallMedia {
321
338
  */
322
339
  async unhold(targetParticipant, options = {}) {
323
340
  const unholdRequest = {
324
- targetParticipant: (0, communication_common_2.serializeCommunicationIdentifier)(targetParticipant),
341
+ targetParticipant: (0, communication_common_1.serializeCommunicationIdentifier)(targetParticipant),
325
342
  operationContext: options.operationContext !== undefined ? options.operationContext : undefined,
343
+ operationCallbackUri: options.operationCallbackUrl !== undefined ? options.operationCallbackUrl : undefined,
326
344
  };
327
345
  return this.callMedia.unhold(this.callConnectionId, unholdRequest);
328
346
  }
@@ -334,7 +352,8 @@ class CallMedia {
334
352
  const startTranscriptionRequest = {
335
353
  locale: options.locale,
336
354
  operationContext: options.operationContext,
337
- speechRecognitionModelEndpointId: options.speechRecognitionModelEndpointId,
355
+ speechModelEndpointId: options.speechRecognitionModelEndpointId,
356
+ operationCallbackUri: options.operationCallbackUrl,
338
357
  };
339
358
  return this.callMedia.startTranscription(this.callConnectionId, startTranscriptionRequest, {});
340
359
  }
@@ -345,6 +364,7 @@ class CallMedia {
345
364
  async stopTranscription(options = {}) {
346
365
  const stopTranscriptionRequest = {
347
366
  operationContext: options.operationContext,
367
+ operationCallbackUri: options.operationCallbackUrl,
348
368
  };
349
369
  return this.callMedia.stopTranscription(this.callConnectionId, stopTranscriptionRequest, {});
350
370
  }
@@ -355,8 +375,9 @@ class CallMedia {
355
375
  async updateTranscription(locale, options) {
356
376
  const updateTranscriptionRequest = {
357
377
  locale: locale,
358
- speechRecognitionModelEndpointId: options === null || options === void 0 ? void 0 : options.speechRecognitionModelEndpointId,
359
- operationContext: options === null || options === void 0 ? void 0 : options.operationContext,
378
+ speechModelEndpointId: options?.speechRecognitionModelEndpointId,
379
+ operationContext: options?.operationContext,
380
+ operationCallbackUri: options?.operationCallbackUrl,
360
381
  };
361
382
  return this.callMedia.updateTranscription(this.callConnectionId, updateTranscriptionRequest, {});
362
383
  }