ue-softphone-sdk 2.2.2 → 2.2.4

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 +59 -28
  358. package/src/lib/socket.io.esm.min.js +7 -0
  359. package/src/main.ts +26 -0
  360. package/src/new-index.ts +2478 -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,236 @@
1
+ import { Logger, NameAddrHeader, OutgoingInviteRequest, OutgoingRequestMessage, URI } from "../core";
2
+ import { InviterCancelOptions } from "./inviter-cancel-options";
3
+ import { InviterInviteOptions } from "./inviter-invite-options";
4
+ import { InviterOptions } from "./inviter-options";
5
+ import { Session } from "./session";
6
+ import { BodyAndContentType } from "./session-description-handler";
7
+ import { UserAgent } from "./user-agent";
8
+ /**
9
+ * An inviter offers to establish a {@link Session} (outgoing INVITE).
10
+ * @public
11
+ */
12
+ export declare class Inviter extends Session {
13
+ /**
14
+ * If this Inviter was created as a result of a REFER, the referred Session. Otherwise undefined.
15
+ * @internal
16
+ */
17
+ _referred: Session | undefined;
18
+ /**
19
+ * Logger.
20
+ */
21
+ protected logger: Logger;
22
+ /** @internal */
23
+ protected _id: string;
24
+ /** True if dispose() has been called. */
25
+ private disposed;
26
+ /** True if early media use is enabled. */
27
+ private earlyMedia;
28
+ /** The early media session. */
29
+ private earlyMediaDialog;
30
+ /** The early media session description handlers. */
31
+ private earlyMediaSessionDescriptionHandlers;
32
+ /** Our From tag. */
33
+ private fromTag;
34
+ /** True if cancel() was called. */
35
+ private isCanceled;
36
+ /** True if initial INVITE without SDP. */
37
+ private inviteWithoutSdp;
38
+ /** Initial INVITE request sent by core. Undefined until sent. */
39
+ private outgoingInviteRequest;
40
+ /** Initial INVITE message provided to core to send. */
41
+ private outgoingRequestMessage;
42
+ /**
43
+ * Constructs a new instance of the `Inviter` class.
44
+ * @param userAgent - User agent. See {@link UserAgent} for details.
45
+ * @param targetURI - Request URI identifying the target of the message.
46
+ * @param options - Options bucket. See {@link InviterOptions} for details.
47
+ */
48
+ constructor(userAgent: UserAgent, targetURI: URI, options?: InviterOptions);
49
+ /**
50
+ * Destructor.
51
+ */
52
+ dispose(): Promise<void>;
53
+ /**
54
+ * Initial outgoing INVITE request message body.
55
+ */
56
+ get body(): BodyAndContentType | undefined;
57
+ /**
58
+ * The identity of the local user.
59
+ */
60
+ get localIdentity(): NameAddrHeader;
61
+ /**
62
+ * The identity of the remote user.
63
+ */
64
+ get remoteIdentity(): NameAddrHeader;
65
+ /**
66
+ * Initial outgoing INVITE request message.
67
+ */
68
+ get request(): OutgoingRequestMessage;
69
+ /**
70
+ * Cancels the INVITE request.
71
+ *
72
+ * @remarks
73
+ * Sends a CANCEL request.
74
+ * Resolves once the response sent, otherwise rejects.
75
+ *
76
+ * After sending a CANCEL request the expectation is that a 487 final response
77
+ * will be received for the INVITE. However a 200 final response to the INVITE
78
+ * may nonetheless arrive (it's a race between the CANCEL reaching the UAS before
79
+ * the UAS sends a 200) in which case an ACK & BYE will be sent. The net effect
80
+ * is that this method will terminate the session regardless of the race.
81
+ * @param options - Options bucket.
82
+ */
83
+ cancel(options?: InviterCancelOptions): Promise<void>;
84
+ /**
85
+ * Sends the INVITE request.
86
+ *
87
+ * @remarks
88
+ * TLDR...
89
+ * 1) Only one offer/answer exchange permitted during initial INVITE.
90
+ * 2) No "early media" if the initial offer is in an INVITE (default behavior).
91
+ * 3) If "early media" and the initial offer is in an INVITE, no INVITE forking.
92
+ *
93
+ * 1) Only one offer/answer exchange permitted during initial INVITE.
94
+ *
95
+ * Our implementation replaces the following bullet point...
96
+ *
97
+ * o After having sent or received an answer to the first offer, the
98
+ * UAC MAY generate subsequent offers in requests based on rules
99
+ * specified for that method, but only if it has received answers
100
+ * to any previous offers, and has not sent any offers to which it
101
+ * hasn't gotten an answer.
102
+ * https://tools.ietf.org/html/rfc3261#section-13.2.1
103
+ *
104
+ * ...with...
105
+ *
106
+ * o After having sent or received an answer to the first offer, the
107
+ * UAC MUST NOT generate subsequent offers in requests based on rules
108
+ * specified for that method.
109
+ *
110
+ * ...which in combination with this bullet point...
111
+ *
112
+ * o Once the UAS has sent or received an answer to the initial
113
+ * offer, it MUST NOT generate subsequent offers in any responses
114
+ * to the initial INVITE. This means that a UAS based on this
115
+ * specification alone can never generate subsequent offers until
116
+ * completion of the initial transaction.
117
+ * https://tools.ietf.org/html/rfc3261#section-13.2.1
118
+ *
119
+ * ...ensures that EXACTLY ONE offer/answer exchange will occur
120
+ * during an initial out of dialog INVITE request made by our UAC.
121
+ *
122
+ *
123
+ * 2) No "early media" if the initial offer is in an INVITE (default behavior).
124
+ *
125
+ * While our implementation adheres to the following bullet point...
126
+ *
127
+ * o If the initial offer is in an INVITE, the answer MUST be in a
128
+ * reliable non-failure message from UAS back to UAC which is
129
+ * correlated to that INVITE. For this specification, that is
130
+ * only the final 2xx response to that INVITE. That same exact
131
+ * answer MAY also be placed in any provisional responses sent
132
+ * prior to the answer. The UAC MUST treat the first session
133
+ * description it receives as the answer, and MUST ignore any
134
+ * session descriptions in subsequent responses to the initial
135
+ * INVITE.
136
+ * https://tools.ietf.org/html/rfc3261#section-13.2.1
137
+ *
138
+ * We have made the following implementation decision with regard to early media...
139
+ *
140
+ * o If the initial offer is in the INVITE, the answer from the
141
+ * UAS back to the UAC will establish a media session only
142
+ * only after the final 2xx response to that INVITE is received.
143
+ *
144
+ * The reason for this decision is rooted in a restriction currently
145
+ * inherent in WebRTC. Specifically, while a SIP INVITE request with an
146
+ * initial offer may fork resulting in more than one provisional answer,
147
+ * there is currently no easy/good way to to "fork" an offer generated
148
+ * by a peer connection. In particular, a WebRTC offer currently may only
149
+ * be matched with one answer and we have no good way to know which
150
+ * "provisional answer" is going to be the "final answer". So we have
151
+ * decided to punt and not create any "early media" sessions in this case.
152
+ *
153
+ * The upshot is that if you want "early media", you must not put the
154
+ * initial offer in the INVITE. Instead, force the UAS to provide the
155
+ * initial offer by sending an INVITE without an offer. In the WebRTC
156
+ * case this allows us to create a unique peer connection with a unique
157
+ * answer for every provisional offer with "early media" on all of them.
158
+ *
159
+ *
160
+ * 3) If "early media" and the initial offer is in an INVITE, no INVITE forking.
161
+ *
162
+ * The default behavior may be altered and "early media" utilized if the
163
+ * initial offer is in the an INVITE by setting the `earlyMedia` options.
164
+ * However in that case the INVITE request MUST NOT fork. This allows for
165
+ * "early media" in environments where the forking behavior of the SIP
166
+ * servers being utilized is configured to disallow forking.
167
+ */
168
+ invite(options?: InviterInviteOptions): Promise<OutgoingInviteRequest>;
169
+ /**
170
+ * 13.2.1 Creating the Initial INVITE
171
+ *
172
+ * Since the initial INVITE represents a request outside of a dialog,
173
+ * its construction follows the procedures of Section 8.1.1. Additional
174
+ * processing is required for the specific case of INVITE.
175
+ *
176
+ * An Allow header field (Section 20.5) SHOULD be present in the INVITE.
177
+ * It indicates what methods can be invoked within a dialog, on the UA
178
+ * sending the INVITE, for the duration of the dialog. For example, a
179
+ * UA capable of receiving INFO requests within a dialog [34] SHOULD
180
+ * include an Allow header field listing the INFO method.
181
+ *
182
+ * A Supported header field (Section 20.37) SHOULD be present in the
183
+ * INVITE. It enumerates all the extensions understood by the UAC.
184
+ *
185
+ * An Accept (Section 20.1) header field MAY be present in the INVITE.
186
+ * It indicates which Content-Types are acceptable to the UA, in both
187
+ * the response received by it, and in any subsequent requests sent to
188
+ * it within dialogs established by the INVITE. The Accept header field
189
+ * is especially useful for indicating support of various session
190
+ * description formats.
191
+ *
192
+ * The UAC MAY add an Expires header field (Section 20.19) to limit the
193
+ * validity of the invitation. If the time indicated in the Expires
194
+ * header field is reached and no final answer for the INVITE has been
195
+ * received, the UAC core SHOULD generate a CANCEL request for the
196
+ * INVITE, as per Section 9.
197
+ *
198
+ * A UAC MAY also find it useful to add, among others, Subject (Section
199
+ * 20.36), Organization (Section 20.25) and User-Agent (Section 20.41)
200
+ * header fields. They all contain information related to the INVITE.
201
+ *
202
+ * The UAC MAY choose to add a message body to the INVITE. Section
203
+ * 8.1.1.10 deals with how to construct the header fields -- Content-
204
+ * Type among others -- needed to describe the message body.
205
+ *
206
+ * https://tools.ietf.org/html/rfc3261#section-13.2.1
207
+ */
208
+ private sendInvite;
209
+ private disposeEarlyMedia;
210
+ private notifyReferer;
211
+ /**
212
+ * Handle final response to initial INVITE.
213
+ * @param inviteResponse - 2xx response.
214
+ */
215
+ private onAccept;
216
+ /**
217
+ * Handle provisional response to initial INVITE.
218
+ * @param inviteResponse - 1xx response.
219
+ */
220
+ private onProgress;
221
+ /**
222
+ * Handle final response to initial INVITE.
223
+ * @param inviteResponse - 3xx response.
224
+ */
225
+ private onRedirect;
226
+ /**
227
+ * Handle final response to initial INVITE.
228
+ * @param inviteResponse - 4xx, 5xx, or 6xx response.
229
+ */
230
+ private onReject;
231
+ /**
232
+ * Handle final response to initial INVITE.
233
+ * @param inviteResponse - 100 response.
234
+ */
235
+ private onTrying;
236
+ }
@@ -0,0 +1,16 @@
1
+ import { IncomingMessageRequest, IncomingRequestMessage, ResponseOptions } from "../core";
2
+ /**
3
+ * A received message (incoming MESSAGE).
4
+ * @public
5
+ */
6
+ export declare class Message {
7
+ private incomingMessageRequest;
8
+ /** @internal */
9
+ constructor(incomingMessageRequest: IncomingMessageRequest);
10
+ /** Incoming MESSAGE request message. */
11
+ get request(): IncomingRequestMessage;
12
+ /** Accept the request. */
13
+ accept(options?: ResponseOptions): Promise<void>;
14
+ /** Reject the request. */
15
+ reject(options?: ResponseOptions): Promise<void>;
16
+ }
@@ -0,0 +1,11 @@
1
+ import { OutgoingRequestDelegate, RequestOptions } from "../core";
2
+ /**
3
+ * Options for {@link Messager.message}.
4
+ * @public
5
+ */
6
+ export interface MessagerMessageOptions {
7
+ /** See `core` API. */
8
+ requestDelegate?: OutgoingRequestDelegate;
9
+ /** See `core` API. */
10
+ requestOptions?: RequestOptions;
11
+ }
@@ -0,0 +1,17 @@
1
+ import { URI } from "../core";
2
+ /**
3
+ * Options for {@link Messager} constructor.
4
+ * @public
5
+ */
6
+ export interface MessagerOptions {
7
+ /** Array of extra headers added to the MESSAGE. */
8
+ extraHeaders?: Array<string>;
9
+ /** @deprecated TODO: provide alternative. */
10
+ params?: {
11
+ fromDisplayName?: string;
12
+ fromTag?: string;
13
+ fromUri?: string | URI;
14
+ toDisplayName?: string;
15
+ toUri?: string | URI;
16
+ };
17
+ }
@@ -0,0 +1,26 @@
1
+ import { URI } from "../core";
2
+ import { MessagerMessageOptions } from "./messager-message-options";
3
+ import { MessagerOptions } from "./messager-options";
4
+ import { UserAgent } from "./user-agent";
5
+ /**
6
+ * A messager sends a {@link Message} (outgoing MESSAGE).
7
+ * @public
8
+ */
9
+ export declare class Messager {
10
+ private logger;
11
+ private request;
12
+ private userAgent;
13
+ /**
14
+ * Constructs a new instance of the `Messager` class.
15
+ * @param userAgent - User agent. See {@link UserAgent} for details.
16
+ * @param targetURI - Request URI identifying the target of the message.
17
+ * @param content - Content for the body of the message.
18
+ * @param contentType - Content type of the body of the message.
19
+ * @param options - Options bucket. See {@link MessagerOptions} for details.
20
+ */
21
+ constructor(userAgent: UserAgent, targetURI: URI, content: string, contentType?: string, options?: MessagerOptions);
22
+ /**
23
+ * Send the message.
24
+ */
25
+ message(options?: MessagerMessageOptions): Promise<void>;
26
+ }
@@ -0,0 +1,16 @@
1
+ import { IncomingNotifyRequest, IncomingRequestMessage, ResponseOptions } from "../core";
2
+ /**
3
+ * A notification of an event (incoming NOTIFY).
4
+ * @public
5
+ */
6
+ export declare class Notification {
7
+ private incomingNotifyRequest;
8
+ /** @internal */
9
+ constructor(incomingNotifyRequest: IncomingNotifyRequest);
10
+ /** Incoming NOTIFY request message. */
11
+ get request(): IncomingRequestMessage;
12
+ /** Accept the request. */
13
+ accept(options?: ResponseOptions): Promise<void>;
14
+ /** Reject the request. */
15
+ reject(options?: ResponseOptions): Promise<void>;
16
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * TODO: This is currently just a placeholder.
3
+ * Notifier is the peer of a Subscriber.
4
+ * That is, a Notifier sends NOTIFY requests.
5
+ * @internal
6
+ */
7
+ export declare class Notifier {
8
+ }
@@ -0,0 +1,33 @@
1
+ import { URI } from "../core";
2
+ /**
3
+ * Options for {@link Publisher} constructor.
4
+ * @public
5
+ */
6
+ export interface PublisherOptions {
7
+ /** @deprecated TODO: provide alternative. */
8
+ body?: string;
9
+ /** @deprecated TODO: provide alternative. */
10
+ contentType?: string;
11
+ /**
12
+ * Expire value for the published event.
13
+ * @defaultValue 3600
14
+ */
15
+ expires?: number;
16
+ /**
17
+ * Array of extra headers added to the PUBLISH request message.
18
+ */
19
+ extraHeaders?: Array<string>;
20
+ /** @deprecated TODO: provide alternative. */
21
+ params?: {
22
+ fromDisplayName?: string;
23
+ fromTag?: string;
24
+ fromUri?: URI;
25
+ toDisplayName?: string;
26
+ toUri?: URI;
27
+ };
28
+ /**
29
+ * If set true, UA will gracefully unpublish for the event on UA close.
30
+ * @defaultValue true
31
+ */
32
+ unpublishOnClose?: boolean;
33
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Options for {@link Publisher.publish}.
3
+ * @public
4
+ */
5
+ export interface PublisherPublishOptions {
6
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * {@link Publisher} state.
3
+ * @remarks
4
+ * The {@link Publisher} behaves in a deterministic manner according to the following
5
+ * Finite State Machine (FSM).
6
+ * ```txt
7
+ * __________________________________________
8
+ * | __________________________ |
9
+ * Publisher | | v v
10
+ * Constructed -> Initial -> Published -> Unpublished -> Terminated
11
+ * | ^____________| ^
12
+ * |______________________________|
13
+ * ```
14
+ * @public
15
+ */
16
+ export declare enum PublisherState {
17
+ Initial = "Initial",
18
+ Published = "Published",
19
+ Unpublished = "Unpublished",
20
+ Terminated = "Terminated"
21
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Options for {@link Publisher.unpublish}.
3
+ * @public
4
+ */
5
+ export interface PublisherUnpublishOptions {
6
+ }
@@ -0,0 +1,65 @@
1
+ import { IncomingResponseMessage, OutgoingPublishRequest, URI } from "../core";
2
+ import { Emitter } from "./emitter";
3
+ import { PublisherOptions } from "./publisher-options";
4
+ import { PublisherPublishOptions } from "./publisher-publish-options";
5
+ import { PublisherState } from "./publisher-state";
6
+ import { PublisherUnpublishOptions } from "./publisher-unpublish-options";
7
+ import { UserAgent } from "./user-agent";
8
+ /**
9
+ * A publisher publishes a publication (outgoing PUBLISH).
10
+ * @public
11
+ */
12
+ export declare class Publisher {
13
+ private event;
14
+ private options;
15
+ private target;
16
+ private pubRequestBody;
17
+ private pubRequestExpires;
18
+ private pubRequestEtag;
19
+ private publishRefreshTimer;
20
+ private disposed;
21
+ private id;
22
+ private logger;
23
+ private request;
24
+ private userAgent;
25
+ /** The publication state. */
26
+ private _state;
27
+ /** Emits when the registration state changes. */
28
+ private _stateEventEmitter;
29
+ /**
30
+ * Constructs a new instance of the `Publisher` class.
31
+ *
32
+ * @param userAgent - User agent. See {@link UserAgent} for details.
33
+ * @param targetURI - Request URI identifying the target of the message.
34
+ * @param eventType - The event type identifying the published document.
35
+ * @param options - Options bucket. See {@link PublisherOptions} for details.
36
+ */
37
+ constructor(userAgent: UserAgent, targetURI: URI, eventType: string, options?: PublisherOptions);
38
+ /**
39
+ * Destructor.
40
+ */
41
+ dispose(): Promise<void>;
42
+ /** The publication state. */
43
+ get state(): PublisherState;
44
+ /** Emits when the publisher state changes. */
45
+ get stateChange(): Emitter<PublisherState>;
46
+ /**
47
+ * Publish.
48
+ * @param content - Body to publish
49
+ */
50
+ publish(content: string, options?: PublisherPublishOptions): Promise<void>;
51
+ /**
52
+ * Unpublish.
53
+ */
54
+ unpublish(options?: PublisherUnpublishOptions): Promise<void>;
55
+ /** @internal */
56
+ protected receiveResponse(response: IncomingResponseMessage): void;
57
+ /** @internal */
58
+ protected send(): OutgoingPublishRequest;
59
+ private refreshRequest;
60
+ private sendPublishRequest;
61
+ /**
62
+ * Transition publication state.
63
+ */
64
+ private stateTransition;
65
+ }
@@ -0,0 +1,38 @@
1
+ import { IncomingReferRequest, IncomingRequestMessage, NameAddrHeader, ResponseOptions } from "../core";
2
+ import { Inviter } from "./inviter";
3
+ import { InviterOptions } from "./inviter-options";
4
+ import { Session } from "./session";
5
+ /**
6
+ * A request to establish a {@link Session} elsewhere (incoming REFER).
7
+ * @public
8
+ */
9
+ export declare class Referral {
10
+ private incomingReferRequest;
11
+ private session;
12
+ private inviter;
13
+ /** @internal */
14
+ constructor(incomingReferRequest: IncomingReferRequest, session: Session);
15
+ get referTo(): NameAddrHeader;
16
+ get referredBy(): string | undefined;
17
+ get replaces(): string | undefined;
18
+ /** Incoming REFER request message. */
19
+ get request(): IncomingRequestMessage;
20
+ /** Accept the request. */
21
+ accept(options?: ResponseOptions): Promise<void>;
22
+ /** Reject the request. */
23
+ reject(options?: ResponseOptions): Promise<void>;
24
+ /**
25
+ * Creates an inviter which may be used to send an out of dialog INVITE request.
26
+ *
27
+ * @remarks
28
+ * This a helper method to create an Inviter which will execute the referral
29
+ * of the `Session` which was referred. The appropriate headers are set and
30
+ * the referred `Session` is linked to the new `Session`. Note that only a
31
+ * single instance of the `Inviter` will be created and returned (if called
32
+ * more than once a reference to the same `Inviter` will be returned every time).
33
+ *
34
+ * @param options - Options bucket.
35
+ * @param modifiers - Session description handler modifiers.
36
+ */
37
+ makeInviter(options?: InviterOptions): Inviter;
38
+ }
@@ -0,0 +1,46 @@
1
+ import { URI } from "../core";
2
+ /**
3
+ * Options for {@link Registerer} constructor.
4
+ * @public
5
+ */
6
+ export interface RegistererOptions {
7
+ /** Registration expiration time in seconds. */
8
+ expires?: number;
9
+ /** Array of extra Contact header parameters. */
10
+ extraContactHeaderParams?: Array<string>;
11
+ /** Array of extra headers added to the REGISTER. */
12
+ extraHeaders?: Array<string>;
13
+ /**
14
+ * UUID to provide with "+sip.instance" Contact parameter.
15
+ * @defaultValue a randomly generated uuid
16
+ */
17
+ instanceId?: string;
18
+ /**
19
+ * If true, constructor logs the registerer configuration.
20
+ * @defaultValue `true`
21
+ */
22
+ logConfiguration?: boolean;
23
+ /** @deprecated TODO: provide alternative. */
24
+ params?: {
25
+ fromDisplayName?: string;
26
+ fromTag?: string;
27
+ fromUri?: URI;
28
+ toDisplayName?: string;
29
+ toUri?: URI;
30
+ };
31
+ /**
32
+ * Value to provide with "reg-id" Contact parameter.
33
+ * @defaultValue 1
34
+ */
35
+ regId?: number;
36
+ /**
37
+ * The URI of the registrar to send the REGISTER requests.
38
+ * @defaultValue domain portion of the user agent's uri
39
+ */
40
+ registrar?: URI;
41
+ /**
42
+ * Determines when a re-REGISTER request is sent. The value should be specified as a percentage of the expiration time (between 50 and 99).
43
+ * @defaultValue 99
44
+ */
45
+ refreshFrequency?: number;
46
+ }
@@ -0,0 +1,11 @@
1
+ import { OutgoingRequestDelegate, RequestOptions } from "../core";
2
+ /**
3
+ * Options for {@link Registerer.register}.
4
+ * @public
5
+ */
6
+ export interface RegistererRegisterOptions {
7
+ /** See `core` API. */
8
+ requestDelegate?: OutgoingRequestDelegate;
9
+ /** See `core` API. */
10
+ requestOptions?: RequestOptions;
11
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * {@link Registerer} state.
3
+ * @remarks
4
+ * The {@link Registerer} behaves in a deterministic manner according to the following
5
+ * Finite State Machine (FSM).
6
+ * ```txt
7
+ * __________________________________________
8
+ * | __________________________ |
9
+ * Registerer | | v v
10
+ * Constructed -> Initial -> Registered -> Unregistered -> Terminated
11
+ * | ^____________| ^
12
+ * |______________________________|
13
+ * ```
14
+ * @public
15
+ */
16
+ export declare enum RegistererState {
17
+ Initial = "Initial",
18
+ Registered = "Registered",
19
+ Unregistered = "Unregistered",
20
+ Terminated = "Terminated"
21
+ }
@@ -0,0 +1,16 @@
1
+ import { OutgoingRequestDelegate, RequestOptions } from "../core";
2
+ /**
3
+ * Options for {@link Registerer.unregister}.
4
+ * @public
5
+ */
6
+ export interface RegistererUnregisterOptions {
7
+ /**
8
+ * If true, unregister all contacts.
9
+ * @defaultValue false
10
+ */
11
+ all?: boolean;
12
+ /** See `core` API. */
13
+ requestDelegate?: OutgoingRequestDelegate;
14
+ /** See `core` API. */
15
+ requestOptions?: RequestOptions;
16
+ }