ue-softphone-sdk 2.2.3 → 2.2.5

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 (390) hide show
  1. package/dist/api/bye.d.ts +16 -0
  2. package/dist/api/dtmf.d.ts +15 -0
  3. package/dist/api/emitter.d.ts +88 -0
  4. package/dist/api/exceptions/content-type-unsupported.d.ts +8 -0
  5. package/dist/api/exceptions/index.d.ts +5 -0
  6. package/dist/api/exceptions/request-pending.d.ts +9 -0
  7. package/dist/api/exceptions/session-description-handler.d.ts +8 -0
  8. package/dist/api/exceptions/session-terminated.d.ts +8 -0
  9. package/dist/api/exceptions/state-transition.d.ts +8 -0
  10. package/dist/api/index.d.ts +58 -0
  11. package/dist/api/info.d.ts +16 -0
  12. package/dist/api/invitation-accept-options.d.ts +19 -0
  13. package/dist/api/invitation-progress-options.d.ts +38 -0
  14. package/dist/api/invitation-reject-options.d.ts +25 -0
  15. package/dist/api/invitation.d.ts +179 -0
  16. package/dist/api/inviter-cancel-options.d.ts +9 -0
  17. package/dist/api/inviter-invite-options.d.ts +28 -0
  18. package/dist/api/inviter-options.d.ts +43 -0
  19. package/dist/api/inviter.d.ts +236 -0
  20. package/dist/api/message.d.ts +16 -0
  21. package/dist/api/messager-message-options.d.ts +11 -0
  22. package/dist/api/messager-options.d.ts +17 -0
  23. package/dist/api/messager.d.ts +26 -0
  24. package/dist/api/notification.d.ts +16 -0
  25. package/dist/api/notifier.d.ts +8 -0
  26. package/dist/api/publisher-options.d.ts +33 -0
  27. package/dist/api/publisher-publish-options.d.ts +6 -0
  28. package/dist/api/publisher-state.d.ts +21 -0
  29. package/dist/api/publisher-unpublish-options.d.ts +6 -0
  30. package/dist/api/publisher.d.ts +65 -0
  31. package/dist/api/referral.d.ts +38 -0
  32. package/dist/api/registerer-options.d.ts +46 -0
  33. package/dist/api/registerer-register-options.d.ts +11 -0
  34. package/dist/api/registerer-state.d.ts +21 -0
  35. package/dist/api/registerer-unregister-options.d.ts +16 -0
  36. package/dist/api/registerer.d.ts +144 -0
  37. package/dist/api/session-bye-options.d.ts +11 -0
  38. package/dist/api/session-delegate.d.ts +73 -0
  39. package/dist/api/session-description-handler-factory.d.ts +15 -0
  40. package/dist/api/session-description-handler.d.ts +74 -0
  41. package/dist/api/session-info-options.d.ts +11 -0
  42. package/dist/api/session-invite-options.d.ts +28 -0
  43. package/dist/api/session-message-options.d.ts +11 -0
  44. package/dist/api/session-options.d.ts +8 -0
  45. package/dist/api/session-refer-options.d.ts +14 -0
  46. package/dist/api/session-state.d.ts +45 -0
  47. package/dist/api/session.d.ts +359 -0
  48. package/dist/api/subscriber-options.d.ts +11 -0
  49. package/dist/api/subscriber-subscribe-options.d.ts +6 -0
  50. package/dist/api/subscriber.d.ts +94 -0
  51. package/dist/api/subscription-delegate.d.ts +12 -0
  52. package/dist/api/subscription-options.d.ts +8 -0
  53. package/dist/api/subscription-state.d.ts +19 -0
  54. package/dist/api/subscription-subscribe-options.d.ts +6 -0
  55. package/dist/api/subscription-unsubscribe-options.d.ts +6 -0
  56. package/dist/api/subscription.d.ts +84 -0
  57. package/dist/api/transport-state.d.ts +37 -0
  58. package/dist/api/transport.d.ts +159 -0
  59. package/dist/api/user-agent-delegate.d.ts +84 -0
  60. package/dist/api/user-agent-options.d.ts +253 -0
  61. package/dist/api/user-agent-state.d.ts +14 -0
  62. package/dist/api/user-agent.d.ts +200 -0
  63. package/dist/core/dialogs/dialog-state.d.ts +34 -0
  64. package/dist/core/dialogs/dialog.d.ts +161 -0
  65. package/dist/core/dialogs/index.d.ts +4 -0
  66. package/dist/core/dialogs/session-dialog.d.ts +196 -0
  67. package/dist/core/dialogs/subscription-dialog.d.ts +120 -0
  68. package/dist/core/exceptions/exception.d.ts +8 -0
  69. package/dist/core/exceptions/index.d.ts +3 -0
  70. package/dist/core/exceptions/transaction-state-error.d.ts +8 -0
  71. package/dist/core/exceptions/transport-error.d.ts +8 -0
  72. package/dist/core/index.d.ts +15 -0
  73. package/dist/core/log/index.d.ts +3 -0
  74. package/dist/core/log/levels.d.ts +10 -0
  75. package/dist/core/log/logger-factory.d.ts +21 -0
  76. package/dist/core/log/logger.d.ts +19 -0
  77. package/dist/core/messages/body.d.ts +64 -0
  78. package/dist/core/messages/digest-authentication.d.ts +51 -0
  79. package/dist/core/messages/incoming-message.d.ts +79 -0
  80. package/dist/core/messages/incoming-request-message.d.ts +10 -0
  81. package/dist/core/messages/incoming-request.d.ts +67 -0
  82. package/dist/core/messages/incoming-response-message.d.ts +10 -0
  83. package/dist/core/messages/incoming-response.d.ts +12 -0
  84. package/dist/core/messages/index.d.ts +13 -0
  85. package/dist/core/messages/md5.d.ts +32 -0
  86. package/dist/core/messages/methods/ack.d.ts +18 -0
  87. package/dist/core/messages/methods/bye.d.ts +21 -0
  88. package/dist/core/messages/methods/cancel.d.ts +21 -0
  89. package/dist/core/messages/methods/constants.d.ts +20 -0
  90. package/dist/core/messages/methods/index.d.ts +13 -0
  91. package/dist/core/messages/methods/info.d.ts +21 -0
  92. package/dist/core/messages/methods/invite.d.ts +86 -0
  93. package/dist/core/messages/methods/message.d.ts +21 -0
  94. package/dist/core/messages/methods/notify.d.ts +21 -0
  95. package/dist/core/messages/methods/prack.d.ts +21 -0
  96. package/dist/core/messages/methods/publish.d.ts +21 -0
  97. package/dist/core/messages/methods/refer.d.ts +21 -0
  98. package/dist/core/messages/methods/register.d.ts +21 -0
  99. package/dist/core/messages/methods/subscribe.d.ts +54 -0
  100. package/dist/core/messages/outgoing-request-message.d.ts +94 -0
  101. package/dist/core/messages/outgoing-request.d.ts +67 -0
  102. package/dist/core/messages/outgoing-response.d.ts +42 -0
  103. package/dist/core/messages/parser.d.ts +14 -0
  104. package/dist/core/messages/utils.d.ts +24 -0
  105. package/dist/core/session/index.d.ts +2 -0
  106. package/dist/core/session/session-delegate.d.ts +70 -0
  107. package/dist/core/session/session.d.ts +134 -0
  108. package/dist/core/subscription/index.d.ts +2 -0
  109. package/dist/core/subscription/subscription-delegate.d.ts +27 -0
  110. package/dist/core/subscription/subscription.d.ts +55 -0
  111. package/dist/core/timers.d.ts +20 -0
  112. package/dist/core/transactions/client-transaction.d.ts +45 -0
  113. package/dist/core/transactions/index.d.ts +10 -0
  114. package/dist/core/transactions/invite-client-transaction.d.ts +116 -0
  115. package/dist/core/transactions/invite-server-transaction.d.ts +127 -0
  116. package/dist/core/transactions/non-invite-client-transaction.d.ts +69 -0
  117. package/dist/core/transactions/non-invite-server-transaction.d.ts +57 -0
  118. package/dist/core/transactions/server-transaction.d.ts +35 -0
  119. package/dist/core/transactions/transaction-state.d.ts +13 -0
  120. package/dist/core/transactions/transaction-user.d.ts +72 -0
  121. package/dist/core/transactions/transaction.d.ts +79 -0
  122. package/dist/core/transport.d.ts +31 -0
  123. package/dist/core/user-agent-core/allowed-methods.d.ts +4 -0
  124. package/dist/core/user-agent-core/index.d.ts +3 -0
  125. package/dist/core/user-agent-core/user-agent-core-configuration.d.ts +99 -0
  126. package/dist/core/user-agent-core/user-agent-core-delegate.d.ts +37 -0
  127. package/dist/core/user-agent-core/user-agent-core.d.ts +179 -0
  128. package/dist/core/user-agents/bye-user-agent-client.d.ts +10 -0
  129. package/dist/core/user-agents/bye-user-agent-server.d.ts +10 -0
  130. package/dist/core/user-agents/cancel-user-agent-client.d.ts +10 -0
  131. package/dist/core/user-agents/index.d.ts +26 -0
  132. package/dist/core/user-agents/info-user-agent-client.d.ts +10 -0
  133. package/dist/core/user-agents/info-user-agent-server.d.ts +10 -0
  134. package/dist/core/user-agents/invite-user-agent-client.d.ts +35 -0
  135. package/dist/core/user-agents/invite-user-agent-server.d.ts +77 -0
  136. package/dist/core/user-agents/message-user-agent-client.d.ts +10 -0
  137. package/dist/core/user-agents/message-user-agent-server.d.ts +10 -0
  138. package/dist/core/user-agents/notify-user-agent-client.d.ts +10 -0
  139. package/dist/core/user-agents/notify-user-agent-server.d.ts +16 -0
  140. package/dist/core/user-agents/prack-user-agent-client.d.ts +10 -0
  141. package/dist/core/user-agents/prack-user-agent-server.d.ts +16 -0
  142. package/dist/core/user-agents/publish-user-agent-client.d.ts +10 -0
  143. package/dist/core/user-agents/re-invite-user-agent-client.d.ts +18 -0
  144. package/dist/core/user-agents/re-invite-user-agent-server.d.ts +41 -0
  145. package/dist/core/user-agents/re-subscribe-user-agent-client.d.ts +17 -0
  146. package/dist/core/user-agents/re-subscribe-user-agent-server.d.ts +10 -0
  147. package/dist/core/user-agents/refer-user-agent-client.d.ts +10 -0
  148. package/dist/core/user-agents/refer-user-agent-server.d.ts +16 -0
  149. package/dist/core/user-agents/register-user-agent-client.d.ts +10 -0
  150. package/dist/core/user-agents/register-user-agent-server.d.ts +11 -0
  151. package/dist/core/user-agents/subscribe-user-agent-client.d.ts +65 -0
  152. package/dist/core/user-agents/subscribe-user-agent-server.d.ts +11 -0
  153. package/dist/core/user-agents/user-agent-client.d.ts +103 -0
  154. package/dist/core/user-agents/user-agent-server.d.ts +79 -0
  155. package/dist/grammar/grammar.d.ts +26 -0
  156. package/dist/grammar/index.d.ts +4 -0
  157. package/dist/grammar/name-addr-header.d.ts +24 -0
  158. package/dist/grammar/parameters.d.ts +16 -0
  159. package/dist/grammar/pegjs/dist/grammar.d.ts +50 -0
  160. package/dist/grammar/uri.d.ts +62 -0
  161. package/dist/{types/index.d.ts → index.d.ts} +7 -3
  162. package/dist/main.d.ts +9 -0
  163. package/dist/new-index.d.ts +199 -0
  164. package/dist/platform/web/index.d.ts +4 -0
  165. package/dist/platform/web/modifiers/index.d.ts +5 -0
  166. package/dist/platform/web/modifiers/modifiers.d.ts +41 -0
  167. package/dist/platform/web/session-description-handler/index.d.ts +14 -0
  168. package/dist/platform/web/session-description-handler/media-stream-factory-default.d.ts +6 -0
  169. package/dist/platform/web/session-description-handler/media-stream-factory.d.ts +6 -0
  170. package/dist/platform/web/session-description-handler/peer-connection-configuration-default.d.ts +5 -0
  171. package/dist/platform/web/session-description-handler/peer-connection-delegate.d.ts +63 -0
  172. package/dist/platform/web/session-description-handler/session-description-handler-configuration.d.ts +16 -0
  173. package/dist/platform/web/session-description-handler/session-description-handler-factory-default.d.ts +11 -0
  174. package/dist/platform/web/session-description-handler/session-description-handler-factory-options.d.ts +9 -0
  175. package/dist/platform/web/session-description-handler/session-description-handler-factory.d.ts +16 -0
  176. package/dist/platform/web/session-description-handler/session-description-handler-options.d.ts +47 -0
  177. package/dist/platform/web/session-description-handler/session-description-handler.d.ts +212 -0
  178. package/dist/platform/web/simple-user/index.d.ts +7 -0
  179. package/dist/platform/web/simple-user/simple-user-delegate.d.ts +72 -0
  180. package/dist/platform/web/simple-user/simple-user-options.d.ts +90 -0
  181. package/dist/platform/web/simple-user/simple-user.d.ts +226 -0
  182. package/dist/platform/web/transport/index.d.ts +6 -0
  183. package/dist/platform/web/transport/transport-options.d.ts +30 -0
  184. package/dist/platform/web/transport/transport.d.ts +125 -0
  185. package/dist/ue-softphone-sdk.js +2 -1
  186. package/dist/ue-softphone-sdk.js.map +1 -0
  187. package/dist/version.d.ts +1 -0
  188. package/dist/webPhoneSdk.d.ts +24 -0
  189. package/dist/webrtc.d.ts +17 -0
  190. package/{rollup-new.config.mjs → new-rollup.config.mjs} +1 -1
  191. package/package.json +6 -6
  192. package/rollup.config.js +15 -14
  193. package/src/api/api-extractor.json +358 -0
  194. package/src/api/bye.ts +27 -0
  195. package/src/api/dtmf.ts +27 -0
  196. package/src/api/emitter.ts +110 -0
  197. package/src/api/exceptions/content-type-unsupported.ts +11 -0
  198. package/src/api/exceptions/index.ts +5 -0
  199. package/src/api/exceptions/request-pending.ts +12 -0
  200. package/src/api/exceptions/session-description-handler.ts +11 -0
  201. package/src/api/exceptions/session-terminated.ts +11 -0
  202. package/src/api/exceptions/state-transition.ts +11 -0
  203. package/src/api/index.ts +58 -0
  204. package/src/api/info.ts +27 -0
  205. package/src/api/invitation-accept-options.ts +20 -0
  206. package/src/api/invitation-progress-options.ts +36 -0
  207. package/src/api/invitation-reject-options.ts +22 -0
  208. package/src/api/invitation.ts +816 -0
  209. package/src/api/inviter-cancel-options.ts +9 -0
  210. package/src/api/inviter-invite-options.ts +29 -0
  211. package/src/api/inviter-options.ts +44 -0
  212. package/src/api/inviter.ts +1126 -0
  213. package/src/api/message.ts +27 -0
  214. package/src/api/messager-message-options.ts +12 -0
  215. package/src/api/messager-options.ts +18 -0
  216. package/src/api/messager.ts +89 -0
  217. package/src/api/notification.ts +27 -0
  218. package/src/api/notifier.ts +7 -0
  219. package/src/api/publisher-options.ts +34 -0
  220. package/src/api/publisher-publish-options.ts +6 -0
  221. package/src/api/publisher-state.ts +21 -0
  222. package/src/api/publisher-unpublish-options.ts +6 -0
  223. package/src/api/publisher.ts +418 -0
  224. package/src/api/referral.ts +89 -0
  225. package/src/api/registerer-options.ts +55 -0
  226. package/src/api/registerer-register-options.ts +12 -0
  227. package/src/api/registerer-state.ts +21 -0
  228. package/src/api/registerer-unregister-options.ts +17 -0
  229. package/src/api/registerer.ts +814 -0
  230. package/src/api/session-bye-options.ts +12 -0
  231. package/src/api/session-delegate.ts +80 -0
  232. package/src/api/session-description-handler-factory.ts +16 -0
  233. package/src/api/session-description-handler.ts +89 -0
  234. package/src/api/session-info-options.ts +12 -0
  235. package/src/api/session-invite-options.ts +29 -0
  236. package/src/api/session-message-options.ts +12 -0
  237. package/src/api/session-options.ts +8 -0
  238. package/src/api/session-refer-options.ts +15 -0
  239. package/src/api/session-state.ts +45 -0
  240. package/src/api/session.ts +1448 -0
  241. package/src/api/subscriber-options.ts +12 -0
  242. package/src/api/subscriber-subscribe-options.ts +6 -0
  243. package/src/api/subscriber.ts +536 -0
  244. package/src/api/subscription-delegate.ts +13 -0
  245. package/src/api/subscription-options.ts +8 -0
  246. package/src/api/subscription-state.ts +19 -0
  247. package/src/api/subscription-subscribe-options.ts +6 -0
  248. package/src/api/subscription-unsubscribe-options.ts +6 -0
  249. package/src/api/subscription.ts +161 -0
  250. package/src/api/transport-state.ts +37 -0
  251. package/src/api/transport.ts +169 -0
  252. package/src/api/user-agent-delegate.ts +95 -0
  253. package/src/api/user-agent-options.ts +322 -0
  254. package/src/api/user-agent-state.ts +14 -0
  255. package/src/api/user-agent.ts +1014 -0
  256. package/src/core/api-extractor.json +358 -0
  257. package/src/core/dialogs/dialog-state.ts +35 -0
  258. package/src/core/dialogs/dialog.ts +605 -0
  259. package/src/core/dialogs/index.ts +4 -0
  260. package/src/core/dialogs/session-dialog.ts +996 -0
  261. package/src/core/dialogs/subscription-dialog.ts +557 -0
  262. package/src/core/exceptions/exception.ts +11 -0
  263. package/src/core/exceptions/index.ts +3 -0
  264. package/src/core/exceptions/transaction-state-error.ts +11 -0
  265. package/src/core/exceptions/transport-error.ts +11 -0
  266. package/src/core/index.ts +19 -0
  267. package/src/core/log/index.ts +3 -0
  268. package/src/core/log/levels.ts +10 -0
  269. package/src/core/log/logger-factory.ts +119 -0
  270. package/src/core/log/logger.ts +42 -0
  271. package/src/core/messages/body.ts +171 -0
  272. package/src/core/messages/digest-authentication.ts +190 -0
  273. package/src/core/messages/incoming-message.ts +152 -0
  274. package/src/core/messages/incoming-request-message.ts +14 -0
  275. package/src/core/messages/incoming-request.ts +75 -0
  276. package/src/core/messages/incoming-response-message.ts +14 -0
  277. package/src/core/messages/incoming-response.ts +13 -0
  278. package/src/core/messages/index.ts +18 -0
  279. package/src/core/messages/md5.ts +437 -0
  280. package/src/core/messages/methods/ack.ts +22 -0
  281. package/src/core/messages/methods/bye.ts +22 -0
  282. package/src/core/messages/methods/cancel.ts +22 -0
  283. package/src/core/messages/methods/constants.ts +21 -0
  284. package/src/core/messages/methods/index.ts +13 -0
  285. package/src/core/messages/methods/info.ts +22 -0
  286. package/src/core/messages/methods/invite.ts +104 -0
  287. package/src/core/messages/methods/message.ts +22 -0
  288. package/src/core/messages/methods/notify.ts +22 -0
  289. package/src/core/messages/methods/prack.ts +22 -0
  290. package/src/core/messages/methods/publish.ts +22 -0
  291. package/src/core/messages/methods/refer.ts +22 -0
  292. package/src/core/messages/methods/register.ts +22 -0
  293. package/src/core/messages/methods/subscribe.ts +59 -0
  294. package/src/core/messages/outgoing-request-message.ts +299 -0
  295. package/src/core/messages/outgoing-request.ts +77 -0
  296. package/src/core/messages/outgoing-response.ts +174 -0
  297. package/src/core/messages/parser.ts +265 -0
  298. package/src/core/messages/utils.ts +144 -0
  299. package/src/core/session/index.ts +2 -0
  300. package/src/core/session/session-delegate.ts +88 -0
  301. package/src/core/session/session.ts +158 -0
  302. package/src/core/subscription/index.ts +2 -0
  303. package/src/core/subscription/subscription-delegate.ts +30 -0
  304. package/src/core/subscription/subscription.ts +61 -0
  305. package/src/core/timers.ts +24 -0
  306. package/src/core/transactions/client-transaction.ts +78 -0
  307. package/src/core/transactions/index.ts +10 -0
  308. package/src/core/transactions/invite-client-transaction.ts +504 -0
  309. package/src/core/transactions/invite-server-transaction.ts +432 -0
  310. package/src/core/transactions/non-invite-client-transaction.ts +257 -0
  311. package/src/core/transactions/non-invite-server-transaction.ts +241 -0
  312. package/src/core/transactions/server-transaction.ts +47 -0
  313. package/src/core/transactions/transaction-state.ts +13 -0
  314. package/src/core/transactions/transaction-user.ts +82 -0
  315. package/src/core/transactions/transaction.ts +149 -0
  316. package/src/core/transport.ts +32 -0
  317. package/src/core/user-agent-core/allowed-methods.ts +19 -0
  318. package/src/core/user-agent-core/index.ts +3 -0
  319. package/src/core/user-agent-core/user-agent-core-configuration.ts +111 -0
  320. package/src/core/user-agent-core/user-agent-core-delegate.ts +50 -0
  321. package/src/core/user-agent-core/user-agent-core.ts +905 -0
  322. package/src/core/user-agents/bye-user-agent-client.ts +16 -0
  323. package/src/core/user-agents/bye-user-agent-server.ts +14 -0
  324. package/src/core/user-agents/cancel-user-agent-client.ts +14 -0
  325. package/src/core/user-agents/index.ts +26 -0
  326. package/src/core/user-agents/info-user-agent-client.ts +15 -0
  327. package/src/core/user-agents/info-user-agent-server.ts +14 -0
  328. package/src/core/user-agents/invite-user-agent-client.ts +405 -0
  329. package/src/core/user-agents/invite-user-agent-server.ts +269 -0
  330. package/src/core/user-agents/message-user-agent-client.ts +14 -0
  331. package/src/core/user-agents/message-user-agent-server.ts +14 -0
  332. package/src/core/user-agents/notify-user-agent-client.ts +15 -0
  333. package/src/core/user-agents/notify-user-agent-server.ts +30 -0
  334. package/src/core/user-agents/prack-user-agent-client.ts +16 -0
  335. package/src/core/user-agents/prack-user-agent-server.ts +37 -0
  336. package/src/core/user-agents/publish-user-agent-client.ts +14 -0
  337. package/src/core/user-agents/re-invite-user-agent-client.ts +127 -0
  338. package/src/core/user-agents/re-invite-user-agent-server.ts +109 -0
  339. package/src/core/user-agents/re-subscribe-user-agent-client.ts +78 -0
  340. package/src/core/user-agents/re-subscribe-user-agent-server.ts +14 -0
  341. package/src/core/user-agents/refer-user-agent-client.ts +15 -0
  342. package/src/core/user-agents/refer-user-agent-server.ts +30 -0
  343. package/src/core/user-agents/register-user-agent-client.ts +14 -0
  344. package/src/core/user-agents/register-user-agent-server.ts +14 -0
  345. package/src/core/user-agents/subscribe-user-agent-client.ts +341 -0
  346. package/src/core/user-agents/subscribe-user-agent-server.ts +14 -0
  347. package/src/core/user-agents/user-agent-client.ts +378 -0
  348. package/src/core/user-agents/user-agent-server.ts +276 -0
  349. package/src/grammar/grammar.ts +55 -0
  350. package/src/grammar/index.ts +4 -0
  351. package/src/grammar/name-addr-header.ts +58 -0
  352. package/src/grammar/parameters.ts +45 -0
  353. package/src/grammar/pegjs/README.md +9 -0
  354. package/src/grammar/pegjs/dist/grammar.ts +1557 -0
  355. package/src/grammar/pegjs/src/grammar.pegjs +1009 -0
  356. package/src/grammar/uri.ts +370 -0
  357. package/src/index.ts +49 -26
  358. package/src/lib/socket.io.esm.min.js +7 -0
  359. package/src/main.ts +26 -0
  360. package/src/new-index.ts +2486 -0
  361. package/src/platform/react/README.md +1 -0
  362. package/src/platform/web/index.ts +4 -0
  363. package/src/platform/web/modifiers/index.ts +5 -0
  364. package/src/platform/web/modifiers/modifiers.ts +180 -0
  365. package/src/platform/web/session-description-handler/api-extractor.json +358 -0
  366. package/src/platform/web/session-description-handler/index.ts +14 -0
  367. package/src/platform/web/session-description-handler/media-stream-factory-default.ts +22 -0
  368. package/src/platform/web/session-description-handler/media-stream-factory.ts +10 -0
  369. package/src/platform/web/session-description-handler/peer-connection-configuration-default.ts +17 -0
  370. package/src/platform/web/session-description-handler/peer-connection-delegate.ts +72 -0
  371. package/src/platform/web/session-description-handler/session-description-handler-configuration.ts +17 -0
  372. package/src/platform/web/session-description-handler/session-description-handler-factory-default.ts +45 -0
  373. package/src/platform/web/session-description-handler/session-description-handler-factory-options.ts +10 -0
  374. package/src/platform/web/session-description-handler/session-description-handler-factory.ts +17 -0
  375. package/src/platform/web/session-description-handler/session-description-handler-options.ts +56 -0
  376. package/src/platform/web/session-description-handler/session-description-handler.ts +938 -0
  377. package/src/platform/web/simple-user/api-extractor.json +358 -0
  378. package/src/platform/web/simple-user/index.ts +7 -0
  379. package/src/platform/web/simple-user/simple-user-delegate.ts +82 -0
  380. package/src/platform/web/simple-user/simple-user-options.ts +102 -0
  381. package/src/platform/web/simple-user/simple-user.ts +1099 -0
  382. package/src/platform/web/transport/api-extractor.json +358 -0
  383. package/src/platform/web/transport/index.ts +6 -0
  384. package/src/platform/web/transport/transport-options.ts +34 -0
  385. package/src/platform/web/transport/transport.ts +742 -0
  386. package/src/version.ts +8 -0
  387. package/src/webPhoneSdk.ts +67 -0
  388. package/src/webrtc.ts +318 -0
  389. package/tsconfig.json +26 -10
  390. /package/dist/{types/config.d.ts → config.d.ts} +0 -0
@@ -0,0 +1,104 @@
1
+ import { Session } from "../../session";
2
+ import { IncomingRequest } from "../incoming-request";
3
+ import { IncomingResponse } from "../incoming-response";
4
+ import { OutgoingRequest, OutgoingRequestDelegate, RequestOptions } from "../outgoing-request";
5
+ import { OutgoingResponse, ResponseOptions } from "../outgoing-response";
6
+ import { OutgoingAckRequest } from "./ack";
7
+ import { OutgoingPrackRequest } from "./prack";
8
+
9
+ ////////////////////
10
+ // Incoming INVITE
11
+ //
12
+
13
+ /**
14
+ * Incoming INVITE request.
15
+ * @public
16
+ */
17
+ export interface IncomingInviteRequest extends IncomingRequest {
18
+ /**
19
+ * Send a 2xx positive final response to this request. Defaults to 200.
20
+ * @param options - Response options bucket.
21
+ * @returns Outgoing response and a confirmed Session.
22
+ */
23
+ accept(options?: ResponseOptions): OutgoingResponseWithSession;
24
+
25
+ /**
26
+ * Send a 1xx provisional response to this request. Defaults to 180. Excludes 100.
27
+ * @param options - Response options bucket.
28
+ * @returns Outgoing response and an early Session.
29
+ */
30
+ progress(options?: ResponseOptions): OutgoingResponseWithSession;
31
+ }
32
+
33
+ /**
34
+ * Outgoing INVITE response with the associated {@link Session}.
35
+ * @public
36
+ */
37
+ export interface OutgoingResponseWithSession extends OutgoingResponse {
38
+ /**
39
+ * Session associated with incoming request acceptance, or
40
+ * Session associated with incoming request progress (if an out of dialog request, an early dialog).
41
+ */
42
+ readonly session: Session;
43
+ }
44
+
45
+ ////////////////////
46
+ // Outgoing INVITE
47
+ //
48
+
49
+ /**
50
+ * Outgoing INVITE request.
51
+ * @public
52
+ */
53
+ export interface OutgoingInviteRequest extends OutgoingRequest {
54
+ /** Delegate providing custom handling of this outgoing INVITE request. */
55
+ delegate?: OutgoingInviteRequestDelegate;
56
+ }
57
+
58
+ /**
59
+ * Delegate providing custom handling of outgoing INVITE requests.
60
+ * @public
61
+ */
62
+ export interface OutgoingInviteRequestDelegate extends OutgoingRequestDelegate {
63
+ /**
64
+ * Received a 2xx positive final response to this request.
65
+ * @param response - Incoming response (including a confirmed Session).
66
+ */
67
+ onAccept?(response: AckableIncomingResponseWithSession): void;
68
+
69
+ /**
70
+ * Received a 1xx provisional response to this request. Excluding 100 responses.
71
+ * @param response - Incoming response (including an early Session).
72
+ */
73
+ onProgress?(response: PrackableIncomingResponseWithSession): void;
74
+ }
75
+
76
+ /**
77
+ * Incoming INVITE response received when request is accepted.
78
+ * @public
79
+ */
80
+ export interface AckableIncomingResponseWithSession extends IncomingResponse {
81
+ /** Session associated with outgoing request acceptance. */
82
+ readonly session: Session;
83
+
84
+ /**
85
+ * Send an ACK to acknowledge this response.
86
+ * @param options - Request options bucket.
87
+ */
88
+ ack(options?: RequestOptions): OutgoingAckRequest;
89
+ }
90
+
91
+ /**
92
+ * Incoming INVITE response received when request is progressed.
93
+ * @public
94
+ */
95
+ export interface PrackableIncomingResponseWithSession extends IncomingResponse {
96
+ /** Session associated with outgoing request progress. If out of dialog request, an early dialog. */
97
+ readonly session: Session;
98
+
99
+ /**
100
+ * Send an PRACK to acknowledge this response.
101
+ * @param options - Request options bucket.
102
+ */
103
+ prack(options?: RequestOptions): OutgoingPrackRequest;
104
+ }
@@ -0,0 +1,22 @@
1
+ /* eslint-disable @typescript-eslint/no-empty-interface */
2
+ import { IncomingRequest } from "../incoming-request";
3
+ import { IncomingResponse } from "../incoming-response";
4
+ import { OutgoingRequest } from "../outgoing-request";
5
+
6
+ /**
7
+ * Incoming MESSAGE request.
8
+ * @public
9
+ */
10
+ export interface IncomingMessageRequest extends IncomingRequest {}
11
+
12
+ /**
13
+ * Incoming MESSAGE response.
14
+ * @public
15
+ */
16
+ export interface IncomingMessageResponse extends IncomingResponse {}
17
+
18
+ /**
19
+ * Outgoing MESSAGE request.
20
+ * @public
21
+ */
22
+ export interface OutgoingMessageRequest extends OutgoingRequest {}
@@ -0,0 +1,22 @@
1
+ /* eslint-disable @typescript-eslint/no-empty-interface */
2
+ import { IncomingRequest } from "../incoming-request";
3
+ import { IncomingResponse } from "../incoming-response";
4
+ import { OutgoingRequest } from "../outgoing-request";
5
+
6
+ /**
7
+ * Incoming NOTIFY request.
8
+ * @public
9
+ */
10
+ export interface IncomingNotifyRequest extends IncomingRequest {}
11
+
12
+ /**
13
+ * Incoming NOTIFY response.
14
+ * @public
15
+ */
16
+ export interface IncomingNotifyResponse extends IncomingResponse {}
17
+
18
+ /**
19
+ * Outgoing NOTIFY request.
20
+ * @public
21
+ */
22
+ export interface OutgoingNotifyRequest extends OutgoingRequest {}
@@ -0,0 +1,22 @@
1
+ /* eslint-disable @typescript-eslint/no-empty-interface */
2
+ import { IncomingRequest } from "../incoming-request";
3
+ import { IncomingResponse } from "../incoming-response";
4
+ import { OutgoingRequest } from "../outgoing-request";
5
+
6
+ /**
7
+ * Incoming PRACK request.
8
+ * @public
9
+ */
10
+ export interface IncomingPrackRequest extends IncomingRequest {}
11
+
12
+ /**
13
+ * Incoming PRACK response.
14
+ * @public
15
+ */
16
+ export interface IncomingPrackResponse extends IncomingResponse {}
17
+
18
+ /**
19
+ * Outgoing PRACK request.
20
+ * @public
21
+ */
22
+ export interface OutgoingPrackRequest extends OutgoingRequest {}
@@ -0,0 +1,22 @@
1
+ /* eslint-disable @typescript-eslint/no-empty-interface */
2
+ import { IncomingRequest } from "../incoming-request";
3
+ import { IncomingResponse } from "../incoming-response";
4
+ import { OutgoingRequest } from "../outgoing-request";
5
+
6
+ /**
7
+ * Incoming PUBLISH request.
8
+ * @public
9
+ */
10
+ export interface IncomingPublishRequest extends IncomingRequest {}
11
+
12
+ /**
13
+ * Incoming PUBLISH response.
14
+ * @public
15
+ */
16
+ export interface IncomingPublishResponse extends IncomingResponse {}
17
+
18
+ /**
19
+ * Outgoing PUBLISH request.
20
+ * @public
21
+ */
22
+ export interface OutgoingPublishRequest extends OutgoingRequest {}
@@ -0,0 +1,22 @@
1
+ /* eslint-disable @typescript-eslint/no-empty-interface */
2
+ import { IncomingRequest } from "../incoming-request";
3
+ import { IncomingResponse } from "../incoming-response";
4
+ import { OutgoingRequest } from "../outgoing-request";
5
+
6
+ /**
7
+ * Incoming REFER request.
8
+ * @public
9
+ */
10
+ export interface IncomingReferRequest extends IncomingRequest {}
11
+
12
+ /**
13
+ * Incoming REFER response.
14
+ * @public
15
+ */
16
+ export interface IncomingReferResponse extends IncomingResponse {}
17
+
18
+ /**
19
+ * Outgoing REFER request.
20
+ * @public
21
+ */
22
+ export interface OutgoingReferRequest extends OutgoingRequest {}
@@ -0,0 +1,22 @@
1
+ /* eslint-disable @typescript-eslint/no-empty-interface */
2
+ import { IncomingRequest } from "../incoming-request";
3
+ import { IncomingResponse } from "../incoming-response";
4
+ import { OutgoingRequest } from "../outgoing-request";
5
+
6
+ /**
7
+ * Incoming REGISTER request.
8
+ * @public
9
+ */
10
+ export interface IncomingRegisterRequest extends IncomingRequest {}
11
+
12
+ /**
13
+ * Incoming REGISTER response.
14
+ * @public
15
+ */
16
+ export interface IncomingRegisterResponse extends IncomingResponse {}
17
+
18
+ /**
19
+ * Outgoing REGISTER request.
20
+ * @public
21
+ */
22
+ export interface OutgoingRegisterRequest extends OutgoingRequest {}
@@ -0,0 +1,59 @@
1
+ /* eslint-disable @typescript-eslint/no-empty-interface */
2
+ import { Subscription } from "../../subscription";
3
+ import { IncomingRequest } from "../incoming-request";
4
+ import { IncomingResponse } from "../incoming-response";
5
+ import { OutgoingRequest, OutgoingRequestDelegate } from "../outgoing-request";
6
+ import { IncomingNotifyRequest } from "./notify";
7
+
8
+ /**
9
+ * Incoming SUBSCRIBE request.
10
+ * @public
11
+ */
12
+ export interface IncomingSubscribeRequest extends IncomingRequest {}
13
+
14
+ /**
15
+ * Incoming SUBSCRIBE response.
16
+ * @public
17
+ */
18
+ export interface IncomingSubscribeResponse extends IncomingResponse {}
19
+
20
+ /**
21
+ * Outgoing SUBSCRIBE request.
22
+ * @public
23
+ */
24
+ export interface OutgoingSubscribeRequest extends OutgoingRequest {
25
+ /** Delegate providing custom handling of this outgoing SUBSCRIBE request. */
26
+ delegate?: OutgoingSubscribeRequestDelegate;
27
+ /** Stop waiting for an inital subscription creating NOTIFY. */
28
+ waitNotifyStop(): void;
29
+ }
30
+
31
+ /**
32
+ * Delegate providing custom handling of outgoing SUBSCRIBE requests.
33
+ * @public
34
+ */
35
+ export interface OutgoingSubscribeRequestDelegate extends OutgoingRequestDelegate {
36
+ /**
37
+ * Received the initial subscription creating NOTIFY in response to this request.
38
+ * Called for out of dialog SUBSCRIBE requests only (not called for re-SUBSCRIBE requests).
39
+ * @param request - Incoming NOTIFY request (including a Subscription).
40
+ */
41
+ onNotify?(request: IncomingRequestWithSubscription): void;
42
+
43
+ /**
44
+ * Timed out waiting to receive the initial subscription creating NOTIFY in response to this request.
45
+ * Called for out of dialog SUBSCRIBE requests only (not called for re-SUBSCRIBE requests).
46
+ */
47
+ onNotifyTimeout?(): void;
48
+ }
49
+
50
+ /**
51
+ * Incoming NOTIFY request with associated {@link Subscription}.
52
+ * @public
53
+ */
54
+ export interface IncomingRequestWithSubscription {
55
+ /** The NOTIFY request which established the subscription. */
56
+ readonly request: IncomingNotifyRequest;
57
+ /** If subscription state is not "terminated", then the subscription. Otherwise undefined. */
58
+ readonly subscription?: Subscription;
59
+ }
@@ -0,0 +1,299 @@
1
+ import { NameAddrHeader, URI } from "../../grammar";
2
+ import { Body } from "./body";
3
+ import { createRandomToken, headerize, newTag, utf8Length } from "./utils";
4
+
5
+ /**
6
+ * Outgoing request message options.
7
+ * @public
8
+ */
9
+ export interface OutgoingRequestMessageOptions {
10
+ callId?: string;
11
+ callIdPrefix?: string;
12
+ cseq?: number;
13
+ toDisplayName?: string;
14
+ toTag?: string;
15
+ fromDisplayName?: string;
16
+ fromTag?: string;
17
+ forceRport?: boolean;
18
+ hackViaTcp?: boolean;
19
+ optionTags?: Array<string>;
20
+ routeSet?: Array<string>;
21
+ userAgentString?: string;
22
+ viaHost?: string;
23
+ }
24
+
25
+ /**
26
+ * Outgoing SIP request message.
27
+ * @public
28
+ */
29
+ export class OutgoingRequestMessage {
30
+ public readonly headers: { [name: string]: Array<string> } = {};
31
+
32
+ public readonly method: string;
33
+ public readonly ruri: URI;
34
+ public readonly from: NameAddrHeader;
35
+ public readonly fromTag: string;
36
+ public readonly fromURI: URI;
37
+ public readonly to: NameAddrHeader;
38
+ public readonly toTag: string | undefined;
39
+ public readonly toURI: URI;
40
+ public branch: string | undefined;
41
+ public readonly callId: string;
42
+ public cseq: number;
43
+ public extraHeaders: Array<string> = [];
44
+ public body: { body: string; contentType: string } | undefined;
45
+
46
+ private options: Required<OutgoingRequestMessageOptions>;
47
+
48
+ constructor(
49
+ method: string,
50
+ ruri: URI,
51
+ fromURI: URI,
52
+ toURI: URI,
53
+ options?: OutgoingRequestMessageOptions,
54
+ extraHeaders?: Array<string>,
55
+ body?: Body
56
+ ) {
57
+ // Initialize default options
58
+ this.options = OutgoingRequestMessage.getDefaultOptions();
59
+
60
+ // Options - merge a deep copy
61
+ if (options) {
62
+ this.options = {
63
+ ...this.options,
64
+ ...options
65
+ };
66
+ if (this.options.optionTags && this.options.optionTags.length) {
67
+ this.options.optionTags = this.options.optionTags.slice();
68
+ }
69
+ if (this.options.routeSet && this.options.routeSet.length) {
70
+ this.options.routeSet = this.options.routeSet.slice();
71
+ }
72
+ }
73
+
74
+ // Extra headers - deep copy
75
+ if (extraHeaders && extraHeaders.length) {
76
+ this.extraHeaders = extraHeaders.slice();
77
+ }
78
+
79
+ // Body - deep copy
80
+ if (body) {
81
+ // TODO: internal representation should be Body
82
+ // this.body = { ...body };
83
+ this.body = {
84
+ body: body.content,
85
+ contentType: body.contentType
86
+ };
87
+ }
88
+
89
+ // Method
90
+ this.method = method;
91
+
92
+ // RURI
93
+ this.ruri = ruri.clone();
94
+
95
+ // From
96
+ this.fromURI = fromURI.clone();
97
+ this.fromTag = this.options.fromTag ? this.options.fromTag : newTag();
98
+ this.from = OutgoingRequestMessage.makeNameAddrHeader(this.fromURI, this.options.fromDisplayName, this.fromTag);
99
+
100
+ // To
101
+ this.toURI = toURI.clone();
102
+ this.toTag = this.options.toTag;
103
+ this.to = OutgoingRequestMessage.makeNameAddrHeader(this.toURI, this.options.toDisplayName, this.toTag);
104
+
105
+ // Call-ID
106
+ this.callId = this.options.callId ? this.options.callId : this.options.callIdPrefix + createRandomToken(15);
107
+
108
+ // CSeq
109
+ this.cseq = this.options.cseq;
110
+
111
+ // The relative order of header fields with different field names is not
112
+ // significant. However, it is RECOMMENDED that header fields which are
113
+ // needed for proxy processing (Via, Route, Record-Route, Proxy-Require,
114
+ // Max-Forwards, and Proxy-Authorization, for example) appear towards
115
+ // the top of the message to facilitate rapid parsing.
116
+ // https://tools.ietf.org/html/rfc3261#section-7.3.1
117
+ this.setHeader("route", this.options.routeSet);
118
+ this.setHeader("via", "");
119
+ this.setHeader("to", this.to.toString());
120
+ this.setHeader("from", this.from.toString());
121
+ this.setHeader("cseq", this.cseq + " " + this.method);
122
+ this.setHeader("call-id", this.callId);
123
+ this.setHeader("max-forwards", "70");
124
+ }
125
+
126
+ /** Get a copy of the default options. */
127
+ private static getDefaultOptions(): Required<OutgoingRequestMessageOptions> {
128
+ return {
129
+ callId: "",
130
+ callIdPrefix: "",
131
+ cseq: 1,
132
+ toDisplayName: "",
133
+ toTag: "",
134
+ fromDisplayName: "",
135
+ fromTag: "",
136
+ forceRport: false,
137
+ hackViaTcp: false,
138
+ optionTags: ["outbound"],
139
+ routeSet: [],
140
+ userAgentString: "sip.js",
141
+ viaHost: ""
142
+ };
143
+ }
144
+
145
+ private static makeNameAddrHeader(uri: URI, displayName: string, tag: string): NameAddrHeader {
146
+ const parameters: { [name: string]: string } = {};
147
+ if (tag) {
148
+ parameters.tag = tag;
149
+ }
150
+ return new NameAddrHeader(uri, displayName, parameters);
151
+ }
152
+
153
+ /**
154
+ * Get the value of the given header name at the given position.
155
+ * @param name - header name
156
+ * @returns Returns the specified header, undefined if header doesn't exist.
157
+ */
158
+ public getHeader(name: string): string | undefined {
159
+ const header: Array<string> = this.headers[headerize(name)];
160
+ if (header) {
161
+ if (header[0]) {
162
+ return header[0];
163
+ }
164
+ } else {
165
+ const regexp = new RegExp("^\\s*" + name + "\\s*:", "i");
166
+ for (const exHeader of this.extraHeaders) {
167
+ if (regexp.test(exHeader)) {
168
+ return exHeader.substring(exHeader.indexOf(":") + 1).trim();
169
+ }
170
+ }
171
+ }
172
+
173
+ return;
174
+ }
175
+
176
+ /**
177
+ * Get the header/s of the given name.
178
+ * @param name - header name
179
+ * @returns Array with all the headers of the specified name.
180
+ */
181
+ public getHeaders(name: string): Array<string> {
182
+ const result: Array<string> = [];
183
+ const headerArray: Array<string> = this.headers[headerize(name)];
184
+
185
+ if (headerArray) {
186
+ for (const headerPart of headerArray) {
187
+ result.push(headerPart);
188
+ }
189
+ } else {
190
+ const regexp = new RegExp("^\\s*" + name + "\\s*:", "i");
191
+ for (const exHeader of this.extraHeaders) {
192
+ if (regexp.test(exHeader)) {
193
+ result.push(exHeader.substring(exHeader.indexOf(":") + 1).trim());
194
+ }
195
+ }
196
+ }
197
+ return result;
198
+ }
199
+
200
+ /**
201
+ * Verify the existence of the given header.
202
+ * @param name - header name
203
+ * @returns true if header with given name exists, false otherwise
204
+ */
205
+ public hasHeader(name: string): boolean {
206
+ if (this.headers[headerize(name)]) {
207
+ return true;
208
+ } else {
209
+ const regexp = new RegExp("^\\s*" + name + "\\s*:", "i");
210
+ for (const extraHeader of this.extraHeaders) {
211
+ if (regexp.test(extraHeader)) {
212
+ return true;
213
+ }
214
+ }
215
+ }
216
+
217
+ return false;
218
+ }
219
+
220
+ /**
221
+ * Replace the the given header by the given value.
222
+ * @param name - header name
223
+ * @param value - header value
224
+ */
225
+ public setHeader(name: string, value: string | Array<string>): void {
226
+ this.headers[headerize(name)] = value instanceof Array ? value : [value];
227
+ }
228
+
229
+ /**
230
+ * The Via header field indicates the transport used for the transaction
231
+ * and identifies the location where the response is to be sent. A Via
232
+ * header field value is added only after the transport that will be
233
+ * used to reach the next hop has been selected (which may involve the
234
+ * usage of the procedures in [4]).
235
+ *
236
+ * When the UAC creates a request, it MUST insert a Via into that
237
+ * request. The protocol name and protocol version in the header field
238
+ * MUST be SIP and 2.0, respectively. The Via header field value MUST
239
+ * contain a branch parameter. This parameter is used to identify the
240
+ * transaction created by that request. This parameter is used by both
241
+ * the client and the server.
242
+ * https://tools.ietf.org/html/rfc3261#section-8.1.1.7
243
+ * @param branchParameter - The branch parameter.
244
+ * @param transport - The sent protocol transport.
245
+ */
246
+ public setViaHeader(branch: string, transport: string): void {
247
+ // FIXME: Hack
248
+ if (this.options.hackViaTcp) {
249
+ transport = "TCP";
250
+ }
251
+ let via = "SIP/2.0/" + transport;
252
+ via += " " + this.options.viaHost + ";branch=" + branch;
253
+ if (this.options.forceRport) {
254
+ via += ";rport";
255
+ }
256
+ this.setHeader("via", via);
257
+ this.branch = branch;
258
+ }
259
+
260
+ public toString(): string {
261
+ let msg = "";
262
+
263
+ msg += this.method + " " + this.ruri.toRaw() + " SIP/2.0\r\n";
264
+
265
+ for (const header in this.headers) {
266
+ if (this.headers[header]) {
267
+ for (const headerPart of this.headers[header]) {
268
+ msg += header + ": " + headerPart + "\r\n";
269
+ }
270
+ }
271
+ }
272
+
273
+ for (const header of this.extraHeaders) {
274
+ msg += header.trim() + "\r\n";
275
+ }
276
+
277
+ msg += "Supported: " + this.options.optionTags.join(", ") + "\r\n";
278
+ msg += "User-Agent: " + this.options.userAgentString + "\r\n";
279
+
280
+ if (this.body) {
281
+ if (typeof this.body === "string") {
282
+ msg += "Content-Length: " + utf8Length(this.body) + "\r\n\r\n";
283
+ msg += this.body;
284
+ } else {
285
+ if (this.body.body && this.body.contentType) {
286
+ msg += "Content-Type: " + this.body.contentType + "\r\n";
287
+ msg += "Content-Length: " + utf8Length(this.body.body) + "\r\n\r\n";
288
+ msg += this.body.body;
289
+ } else {
290
+ msg += "Content-Length: " + 0 + "\r\n\r\n";
291
+ }
292
+ }
293
+ } else {
294
+ msg += "Content-Length: " + 0 + "\r\n\r\n";
295
+ }
296
+
297
+ return msg;
298
+ }
299
+ }
@@ -0,0 +1,77 @@
1
+ import { Body } from "./body";
2
+ import { IncomingResponse } from "./incoming-response";
3
+ import { OutgoingRequestMessage } from "./outgoing-request-message";
4
+
5
+ /**
6
+ * A SIP message sent from a local client to a remote server.
7
+ * @remarks
8
+ * For the purpose of invoking a particular operation.
9
+ * https://tools.ietf.org/html/rfc3261#section-7.1
10
+ * @public
11
+ */
12
+ export interface OutgoingRequest {
13
+ /** Delegate providing custom handling of this outgoing request. */
14
+ delegate?: OutgoingRequestDelegate;
15
+
16
+ /** The outgoing message. */
17
+ readonly message: OutgoingRequestMessage;
18
+
19
+ /**
20
+ * Destroy request.
21
+ */
22
+ dispose(): void;
23
+
24
+ /**
25
+ * Sends a CANCEL message targeting this request to the UAS.
26
+ * @param reason - Reason for canceling request.
27
+ * @param options - Request options bucket.
28
+ */
29
+ cancel(reason?: string, options?: RequestOptions): void;
30
+ }
31
+
32
+ /**
33
+ * Delegate providing custom handling of outgoing requests.
34
+ * @public
35
+ */
36
+ export interface OutgoingRequestDelegate {
37
+ /**
38
+ * Received a 2xx positive final response to this request.
39
+ * @param response - Incoming response.
40
+ */
41
+ onAccept?(response: IncomingResponse): void;
42
+
43
+ /**
44
+ * Received a 1xx provisional response to this request. Excluding 100 responses.
45
+ * @param response - Incoming response.
46
+ */
47
+ onProgress?(response: IncomingResponse): void;
48
+
49
+ /**
50
+ * Received a 3xx negative final response to this request.
51
+ * @param response - Incoming response.
52
+ */
53
+ onRedirect?(response: IncomingResponse): void;
54
+
55
+ /**
56
+ * Received a 4xx, 5xx, or 6xx negative final response to this request.
57
+ * @param response - Incoming response.
58
+ */
59
+ onReject?(response: IncomingResponse): void;
60
+
61
+ /**
62
+ * Received a 100 provisional response.
63
+ * @param response - Incoming response.
64
+ */
65
+ onTrying?(response: IncomingResponse): void;
66
+ }
67
+
68
+ /**
69
+ * Request options bucket.
70
+ * @public
71
+ */
72
+ export interface RequestOptions {
73
+ /** Extra headers to include in the message. */
74
+ extraHeaders?: Array<string>;
75
+ /** Body to include in the message. */
76
+ body?: Body;
77
+ }