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,35 @@
1
+ import { TransportError } from "../exceptions";
2
+ import { IncomingResponseMessage, OutgoingInviteRequest, OutgoingInviteRequestDelegate, OutgoingRequestMessage } from "../messages";
3
+ import { UserAgentCore } from "../user-agent-core";
4
+ import { UserAgentClient } from "./user-agent-client";
5
+ /**
6
+ * INVITE UAC.
7
+ * @remarks
8
+ * 13 Initiating a Session
9
+ * https://tools.ietf.org/html/rfc3261#section-13
10
+ * 13.1 Overview
11
+ * https://tools.ietf.org/html/rfc3261#section-13.1
12
+ * 13.2 UAC Processing
13
+ * https://tools.ietf.org/html/rfc3261#section-13.2
14
+ * @public
15
+ */
16
+ export declare class InviteUserAgentClient extends UserAgentClient implements OutgoingInviteRequest {
17
+ delegate: OutgoingInviteRequestDelegate | undefined;
18
+ private confirmedDialogAcks;
19
+ private confirmedDialogs;
20
+ private earlyDialogs;
21
+ constructor(core: UserAgentCore, message: OutgoingRequestMessage, delegate?: OutgoingInviteRequestDelegate);
22
+ dispose(): void;
23
+ /**
24
+ * Special case for transport error while sending ACK.
25
+ * @param error - Transport error
26
+ */
27
+ protected onTransportError(error: TransportError): void;
28
+ /**
29
+ * Once the INVITE has been passed to the INVITE client transaction, the
30
+ * UAC waits for responses for the INVITE.
31
+ * https://tools.ietf.org/html/rfc3261#section-13.2.2
32
+ * @param incomingResponse - Incoming response to INVITE request.
33
+ */
34
+ protected receiveResponse(message: IncomingResponseMessage): void;
35
+ }
@@ -0,0 +1,77 @@
1
+ import { IncomingInviteRequest, IncomingRequestDelegate, IncomingRequestMessage, OutgoingResponse, OutgoingResponseWithSession, ResponseOptions, URI } from "../messages";
2
+ import { UserAgentCore } from "../user-agent-core";
3
+ import { UserAgentServer } from "./user-agent-server";
4
+ /**
5
+ * INVITE UAS.
6
+ * @remarks
7
+ * 13 Initiating a Session
8
+ * https://tools.ietf.org/html/rfc3261#section-13
9
+ * 13.1 Overview
10
+ * https://tools.ietf.org/html/rfc3261#section-13.1
11
+ * 13.3 UAS Processing
12
+ * https://tools.ietf.org/html/rfc3261#section-13.3
13
+ * @public
14
+ */
15
+ export declare class InviteUserAgentServer extends UserAgentServer implements IncomingInviteRequest {
16
+ protected core: UserAgentCore;
17
+ /** The confirmed dialog, if any. */
18
+ private confirmedDialog;
19
+ /** The early dialog, if any. */
20
+ private earlyDialog;
21
+ constructor(core: UserAgentCore, message: IncomingRequestMessage, delegate?: IncomingRequestDelegate);
22
+ dispose(): void;
23
+ /**
24
+ * 13.3.1.4 The INVITE is Accepted
25
+ * The UAS core generates a 2xx response. This response establishes a
26
+ * dialog, and therefore follows the procedures of Section 12.1.1 in
27
+ * addition to those of Section 8.2.6.
28
+ * https://tools.ietf.org/html/rfc3261#section-13.3.1.4
29
+ * @param options - Accept options bucket.
30
+ */
31
+ accept(options?: ResponseOptions): OutgoingResponseWithSession;
32
+ /**
33
+ * 13.3.1.1 Progress
34
+ * If the UAS is not able to answer the invitation immediately, it can
35
+ * choose to indicate some kind of progress to the UAC (for example, an
36
+ * indication that a phone is ringing). This is accomplished with a
37
+ * provisional response between 101 and 199. These provisional
38
+ * responses establish early dialogs and therefore follow the procedures
39
+ * of Section 12.1.1 in addition to those of Section 8.2.6. A UAS MAY
40
+ * send as many provisional responses as it likes. Each of these MUST
41
+ * indicate the same dialog ID. However, these will not be delivered
42
+ * reliably.
43
+ *
44
+ * If the UAS desires an extended period of time to answer the INVITE,
45
+ * it will need to ask for an "extension" in order to prevent proxies
46
+ * from canceling the transaction. A proxy has the option of canceling
47
+ * a transaction when there is a gap of 3 minutes between responses in a
48
+ * transaction. To prevent cancellation, the UAS MUST send a non-100
49
+ * provisional response at every minute, to handle the possibility of
50
+ * lost provisional responses.
51
+ * https://tools.ietf.org/html/rfc3261#section-13.3.1.1
52
+ * @param options - Progress options bucket.
53
+ */
54
+ progress(options?: ResponseOptions): OutgoingResponseWithSession;
55
+ /**
56
+ * 13.3.1.2 The INVITE is Redirected
57
+ * If the UAS decides to redirect the call, a 3xx response is sent. A
58
+ * 300 (Multiple Choices), 301 (Moved Permanently) or 302 (Moved
59
+ * Temporarily) response SHOULD contain a Contact header field
60
+ * containing one or more URIs of new addresses to be tried. The
61
+ * response is passed to the INVITE server transaction, which will deal
62
+ * with its retransmissions.
63
+ * https://tools.ietf.org/html/rfc3261#section-13.3.1.2
64
+ * @param contacts - Contacts to redirect to.
65
+ * @param options - Redirect options bucket.
66
+ */
67
+ redirect(contacts: Array<URI>, options?: ResponseOptions): OutgoingResponse;
68
+ /**
69
+ * 13.3.1.3 The INVITE is Rejected
70
+ * A common scenario occurs when the callee is currently not willing or
71
+ * able to take additional calls at this end system. A 486 (Busy Here)
72
+ * SHOULD be returned in such a scenario.
73
+ * https://tools.ietf.org/html/rfc3261#section-13.3.1.3
74
+ * @param options - Reject options bucket.
75
+ */
76
+ reject(options?: ResponseOptions): OutgoingResponse;
77
+ }
@@ -0,0 +1,10 @@
1
+ import { OutgoingMessageRequest, OutgoingRequestDelegate, OutgoingRequestMessage } from "../messages";
2
+ import { UserAgentCore } from "../user-agent-core";
3
+ import { UserAgentClient } from "./user-agent-client";
4
+ /**
5
+ * MESSAGE UAC.
6
+ * @public
7
+ */
8
+ export declare class MessageUserAgentClient extends UserAgentClient implements OutgoingMessageRequest {
9
+ constructor(core: UserAgentCore, message: OutgoingRequestMessage, delegate?: OutgoingRequestDelegate);
10
+ }
@@ -0,0 +1,10 @@
1
+ import { IncomingMessageRequest, IncomingRequestDelegate, IncomingRequestMessage } from "../messages";
2
+ import { UserAgentCore } from "../user-agent-core";
3
+ import { UserAgentServer } from "./user-agent-server";
4
+ /**
5
+ * MESSAGE UAS.
6
+ * @public
7
+ */
8
+ export declare class MessageUserAgentServer extends UserAgentServer implements IncomingMessageRequest {
9
+ constructor(core: UserAgentCore, message: IncomingRequestMessage, delegate?: IncomingRequestDelegate);
10
+ }
@@ -0,0 +1,10 @@
1
+ import { SessionDialog } from "../dialogs";
2
+ import { OutgoingNotifyRequest, OutgoingRequestDelegate, RequestOptions } from "../messages";
3
+ import { UserAgentClient } from "./user-agent-client";
4
+ /**
5
+ * NOTIFY UAS.
6
+ * @public
7
+ */
8
+ export declare class NotifyUserAgentClient extends UserAgentClient implements OutgoingNotifyRequest {
9
+ constructor(dialog: SessionDialog, delegate?: OutgoingRequestDelegate, options?: RequestOptions);
10
+ }
@@ -0,0 +1,16 @@
1
+ import { Dialog } from "../dialogs";
2
+ import { IncomingNotifyRequest, IncomingRequestDelegate, IncomingRequestMessage } from "../messages";
3
+ import { UserAgentCore } from "../user-agent-core";
4
+ import { UserAgentServer } from "./user-agent-server";
5
+ /**
6
+ * NOTIFY UAS.
7
+ * @public
8
+ */
9
+ export declare class NotifyUserAgentServer extends UserAgentServer implements IncomingNotifyRequest {
10
+ /**
11
+ * NOTIFY UAS constructor.
12
+ * @param dialogOrCore - Dialog for in dialog NOTIFY, UserAgentCore for out of dialog NOTIFY (deprecated).
13
+ * @param message - Incoming NOTIFY request message.
14
+ */
15
+ constructor(dialogOrCore: Dialog | UserAgentCore, message: IncomingRequestMessage, delegate?: IncomingRequestDelegate);
16
+ }
@@ -0,0 +1,10 @@
1
+ import { SessionDialog } from "../dialogs";
2
+ import { OutgoingPrackRequest, OutgoingRequestDelegate, RequestOptions } from "../messages";
3
+ import { UserAgentClient } from "./user-agent-client";
4
+ /**
5
+ * PRACK UAC.
6
+ * @public
7
+ */
8
+ export declare class PrackUserAgentClient extends UserAgentClient implements OutgoingPrackRequest {
9
+ constructor(dialog: SessionDialog, delegate?: OutgoingRequestDelegate, options?: RequestOptions);
10
+ }
@@ -0,0 +1,16 @@
1
+ import { SessionDialog } from "../dialogs";
2
+ import { IncomingPrackRequest, IncomingRequestDelegate, IncomingRequestMessage, OutgoingResponse, ResponseOptions } from "../messages";
3
+ import { UserAgentServer } from "./user-agent-server";
4
+ /**
5
+ * PRACK UAS.
6
+ * @public
7
+ */
8
+ export declare class PrackUserAgentServer extends UserAgentServer implements IncomingPrackRequest {
9
+ private dialog;
10
+ constructor(dialog: SessionDialog, message: IncomingRequestMessage, delegate?: IncomingRequestDelegate);
11
+ /**
12
+ * Update the dialog signaling state on a 2xx response.
13
+ * @param options - Options bucket.
14
+ */
15
+ accept(options?: ResponseOptions): OutgoingResponse;
16
+ }
@@ -0,0 +1,10 @@
1
+ import { OutgoingPublishRequest, OutgoingRequestDelegate, OutgoingRequestMessage } from "../messages";
2
+ import { UserAgentCore } from "../user-agent-core";
3
+ import { UserAgentClient } from "./user-agent-client";
4
+ /**
5
+ * PUBLISH UAC.
6
+ * @public
7
+ */
8
+ export declare class PublishUserAgentClient extends UserAgentClient implements OutgoingPublishRequest {
9
+ constructor(core: UserAgentCore, message: OutgoingRequestMessage, delegate?: OutgoingRequestDelegate);
10
+ }
@@ -0,0 +1,18 @@
1
+ import { SessionDialog } from "../dialogs";
2
+ import { IncomingResponseMessage, OutgoingInviteRequest, OutgoingInviteRequestDelegate, RequestOptions } from "../messages";
3
+ import { UserAgentClient } from "./user-agent-client";
4
+ /**
5
+ * Re-INVITE UAC.
6
+ * @remarks
7
+ * 14 Modifying an Existing Session
8
+ * https://tools.ietf.org/html/rfc3261#section-14
9
+ * 14.1 UAC Behavior
10
+ * https://tools.ietf.org/html/rfc3261#section-14.1
11
+ * @public
12
+ */
13
+ export declare class ReInviteUserAgentClient extends UserAgentClient implements OutgoingInviteRequest {
14
+ delegate: OutgoingInviteRequestDelegate | undefined;
15
+ private dialog;
16
+ constructor(dialog: SessionDialog, delegate?: OutgoingInviteRequestDelegate, options?: RequestOptions);
17
+ protected receiveResponse(message: IncomingResponseMessage): void;
18
+ }
@@ -0,0 +1,41 @@
1
+ import { SessionDialog } from "../dialogs";
2
+ import { IncomingInviteRequest, IncomingRequestDelegate, IncomingRequestMessage, OutgoingResponse, OutgoingResponseWithSession, ResponseOptions, URI } from "../messages";
3
+ import { UserAgentServer } from "./user-agent-server";
4
+ /**
5
+ * Re-INVITE UAS.
6
+ * @remarks
7
+ * 14 Modifying an Existing Session
8
+ * https://tools.ietf.org/html/rfc3261#section-14
9
+ * 14.2 UAS Behavior
10
+ * https://tools.ietf.org/html/rfc3261#section-14.2
11
+ * @public
12
+ */
13
+ export declare class ReInviteUserAgentServer extends UserAgentServer implements IncomingInviteRequest {
14
+ private dialog;
15
+ constructor(dialog: SessionDialog, message: IncomingRequestMessage, delegate?: IncomingRequestDelegate);
16
+ /**
17
+ * Update the dialog signaling state on a 2xx response.
18
+ * @param options - Options bucket.
19
+ */
20
+ accept(options?: ResponseOptions): OutgoingResponseWithSession;
21
+ /**
22
+ * Update the dialog signaling state on a 1xx response.
23
+ * @param options - Progress options bucket.
24
+ */
25
+ progress(options?: ResponseOptions): OutgoingResponseWithSession;
26
+ /**
27
+ * TODO: Not Yet Supported
28
+ * @param contacts - Contacts to redirect to.
29
+ * @param options - Redirect options bucket.
30
+ */
31
+ redirect(contacts: Array<URI>, options?: ResponseOptions): OutgoingResponse;
32
+ /**
33
+ * 3.1 Background on Re-INVITE Handling by UASs
34
+ * An error response to a re-INVITE has the following semantics. As
35
+ * specified in Section 12.2.2 of RFC 3261 [RFC3261], if a re-INVITE is
36
+ * rejected, no state changes are performed.
37
+ * https://tools.ietf.org/html/rfc6141#section-3.1
38
+ * @param options - Reject options bucket.
39
+ */
40
+ reject(options?: ResponseOptions): OutgoingResponse;
41
+ }
@@ -0,0 +1,17 @@
1
+ import { SubscriptionDialog } from "../dialogs";
2
+ import { IncomingResponseMessage, OutgoingRequestDelegate, OutgoingSubscribeRequest, RequestOptions } from "../messages";
3
+ import { UserAgentClient } from "./user-agent-client";
4
+ /**
5
+ * Re-SUBSCRIBE UAC.
6
+ * @public
7
+ */
8
+ export declare class ReSubscribeUserAgentClient extends UserAgentClient implements OutgoingSubscribeRequest {
9
+ private dialog;
10
+ constructor(dialog: SubscriptionDialog, delegate?: OutgoingRequestDelegate, options?: RequestOptions);
11
+ waitNotifyStop(): void;
12
+ /**
13
+ * Receive a response from the transaction layer.
14
+ * @param message - Incoming response message.
15
+ */
16
+ protected receiveResponse(message: IncomingResponseMessage): void;
17
+ }
@@ -0,0 +1,10 @@
1
+ import { Dialog } from "../dialogs";
2
+ import { IncomingRequestDelegate, IncomingRequestMessage, IncomingSubscribeRequest } from "../messages";
3
+ import { UserAgentServer } from "./user-agent-server";
4
+ /**
5
+ * Re-SUBSCRIBE UAS.
6
+ * @public
7
+ */
8
+ export declare class ReSubscribeUserAgentServer extends UserAgentServer implements IncomingSubscribeRequest {
9
+ constructor(dialog: Dialog, message: IncomingRequestMessage, delegate?: IncomingRequestDelegate);
10
+ }
@@ -0,0 +1,10 @@
1
+ import { SessionDialog } from "../dialogs";
2
+ import { OutgoingReferRequest, OutgoingRequestDelegate, RequestOptions } from "../messages";
3
+ import { UserAgentClient } from "./user-agent-client";
4
+ /**
5
+ * REFER UAC.
6
+ * @public
7
+ */
8
+ export declare class ReferUserAgentClient extends UserAgentClient implements OutgoingReferRequest {
9
+ constructor(dialog: SessionDialog, delegate?: OutgoingRequestDelegate, options?: RequestOptions);
10
+ }
@@ -0,0 +1,16 @@
1
+ import { SessionDialog } from "../dialogs";
2
+ import { IncomingReferRequest, IncomingRequestDelegate, IncomingRequestMessage } from "../messages";
3
+ import { UserAgentCore } from "../user-agent-core";
4
+ import { UserAgentServer } from "./user-agent-server";
5
+ /**
6
+ * REFER UAS.
7
+ * @public
8
+ */
9
+ export declare class ReferUserAgentServer extends UserAgentServer implements IncomingReferRequest {
10
+ /**
11
+ * REFER UAS constructor.
12
+ * @param dialogOrCore - Dialog for in dialog REFER, UserAgentCore for out of dialog REFER.
13
+ * @param message - Incoming REFER request message.
14
+ */
15
+ constructor(dialogOrCore: SessionDialog | UserAgentCore, message: IncomingRequestMessage, delegate?: IncomingRequestDelegate);
16
+ }
@@ -0,0 +1,10 @@
1
+ import { OutgoingRegisterRequest, OutgoingRequestDelegate, OutgoingRequestMessage } from "../messages";
2
+ import { UserAgentCore } from "../user-agent-core";
3
+ import { UserAgentClient } from "./user-agent-client";
4
+ /**
5
+ * REGISTER UAC.
6
+ * @public
7
+ */
8
+ export declare class RegisterUserAgentClient extends UserAgentClient implements OutgoingRegisterRequest {
9
+ constructor(core: UserAgentCore, message: OutgoingRequestMessage, delegate?: OutgoingRequestDelegate);
10
+ }
@@ -0,0 +1,11 @@
1
+ import { IncomingRegisterRequest, IncomingRequestDelegate, IncomingRequestMessage } from "../messages";
2
+ import { UserAgentCore } from "../user-agent-core";
3
+ import { UserAgentServer } from "./user-agent-server";
4
+ /**
5
+ * REGISTER UAS.
6
+ * @public
7
+ */
8
+ export declare class RegisterUserAgentServer extends UserAgentServer implements IncomingRegisterRequest {
9
+ protected core: UserAgentCore;
10
+ constructor(core: UserAgentCore, message: IncomingRequestMessage, delegate?: IncomingRequestDelegate);
11
+ }
@@ -0,0 +1,65 @@
1
+ import { IncomingResponseMessage, OutgoingRequestMessage, OutgoingSubscribeRequest, OutgoingSubscribeRequestDelegate } from "../messages";
2
+ import { UserAgentCore } from "../user-agent-core";
3
+ import { NotifyUserAgentServer } from "./notify-user-agent-server";
4
+ import { UserAgentClient } from "./user-agent-client";
5
+ /**
6
+ * SUBSCRIBE UAC.
7
+ * @remarks
8
+ * 4.1. Subscriber Behavior
9
+ * https://tools.ietf.org/html/rfc6665#section-4.1
10
+ *
11
+ * User agent client for installation of a single subscription per SUBSCRIBE request.
12
+ * TODO: Support for installation of multiple subscriptions on forked SUBSCRIBE requests.
13
+ * @public
14
+ */
15
+ export declare class SubscribeUserAgentClient extends UserAgentClient implements OutgoingSubscribeRequest {
16
+ delegate: OutgoingSubscribeRequestDelegate | undefined;
17
+ /** Dialog created upon receiving the first NOTIFY. */
18
+ private dialog;
19
+ /** Identifier of this user agent client. */
20
+ private subscriberId;
21
+ /** When the subscription expires. Starts as requested expires and updated on 200 and NOTIFY. */
22
+ private subscriptionExpires;
23
+ /** The requested expires for the subscription. */
24
+ private subscriptionExpiresRequested;
25
+ /** Subscription event being targeted. */
26
+ private subscriptionEvent;
27
+ /** Subscription state. */
28
+ private subscriptionState;
29
+ /** Timer N Id. */
30
+ private N;
31
+ constructor(core: UserAgentCore, message: OutgoingRequestMessage, delegate?: OutgoingSubscribeRequestDelegate);
32
+ /**
33
+ * Destructor.
34
+ * Note that Timer N may live on waiting for an initial NOTIFY and
35
+ * the delegate may still receive that NOTIFY. If you don't want
36
+ * that behavior then either clear the delegate so the delegate
37
+ * doesn't get called (a 200 will be sent in response to the NOTIFY)
38
+ * or call `waitNotifyStop` which will clear Timer N and remove this
39
+ * UAC from the core (a 481 will be sent in response to the NOTIFY).
40
+ */
41
+ dispose(): void;
42
+ /**
43
+ * Handle out of dialog NOTIFY associated with SUBSCRIBE request.
44
+ * This is the first NOTIFY received after the SUBSCRIBE request.
45
+ * @param uas - User agent server handling the subscription creating NOTIFY.
46
+ */
47
+ onNotify(uas: NotifyUserAgentServer): void;
48
+ waitNotifyStart(): void;
49
+ waitNotifyStop(): void;
50
+ /**
51
+ * Receive a response from the transaction layer.
52
+ * @param message - Incoming response message.
53
+ */
54
+ protected receiveResponse(message: IncomingResponseMessage): void;
55
+ /**
56
+ * To ensure that subscribers do not wait indefinitely for a
57
+ * subscription to be established, a subscriber starts a Timer N, set to
58
+ * 64*T1, when it sends a SUBSCRIBE request. If this Timer N expires
59
+ * prior to the receipt of a NOTIFY request, the subscriber considers
60
+ * the subscription failed, and cleans up any state associated with the
61
+ * subscription attempt.
62
+ * https://tools.ietf.org/html/rfc6665#section-4.1.2.4
63
+ */
64
+ private timerN;
65
+ }
@@ -0,0 +1,11 @@
1
+ import { IncomingRequestDelegate, IncomingRequestMessage, IncomingSubscribeRequest } from "../messages";
2
+ import { UserAgentCore } from "../user-agent-core";
3
+ import { UserAgentServer } from "./user-agent-server";
4
+ /**
5
+ * SUBSCRIBE UAS.
6
+ * @public
7
+ */
8
+ export declare class SubscribeUserAgentServer extends UserAgentServer implements IncomingSubscribeRequest {
9
+ protected core: UserAgentCore;
10
+ constructor(core: UserAgentCore, message: IncomingRequestMessage, delegate?: IncomingRequestDelegate);
11
+ }
@@ -0,0 +1,103 @@
1
+ import { Dialog } from "../dialogs";
2
+ import { TransportError } from "../exceptions";
3
+ import { Logger, LoggerFactory } from "../log";
4
+ import { IncomingResponseMessage, OutgoingRequest, OutgoingRequestDelegate, OutgoingRequestMessage, RequestOptions } from "../messages";
5
+ import { ClientTransaction, ClientTransactionUser } from "../transactions";
6
+ import { Transport } from "../transport";
7
+ import { UserAgentCore } from "../user-agent-core";
8
+ type ClientTransactionConstructor = new (message: OutgoingRequestMessage, transport: Transport, user: ClientTransactionUser) => ClientTransaction;
9
+ /**
10
+ * User Agent Client (UAC).
11
+ * @remarks
12
+ * A user agent client is a logical entity
13
+ * that creates a new request, and then uses the client
14
+ * transaction state machinery to send it. The role of UAC lasts
15
+ * only for the duration of that transaction. In other words, if
16
+ * a piece of software initiates a request, it acts as a UAC for
17
+ * the duration of that transaction. If it receives a request
18
+ * later, it assumes the role of a user agent server for the
19
+ * processing of that transaction.
20
+ * https://tools.ietf.org/html/rfc3261#section-6
21
+ * @public
22
+ */
23
+ export declare class UserAgentClient implements OutgoingRequest {
24
+ private transactionConstructor;
25
+ protected core: UserAgentCore;
26
+ message: OutgoingRequestMessage;
27
+ delegate?: OutgoingRequestDelegate;
28
+ protected logger: Logger;
29
+ private _transaction;
30
+ private credentials;
31
+ private challenged;
32
+ private stale;
33
+ constructor(transactionConstructor: ClientTransactionConstructor, core: UserAgentCore, message: OutgoingRequestMessage, delegate?: OutgoingRequestDelegate);
34
+ dispose(): void;
35
+ get loggerFactory(): LoggerFactory;
36
+ /** The transaction associated with this request. */
37
+ get transaction(): ClientTransaction;
38
+ /**
39
+ * Since requests other than INVITE are responded to immediately, sending a
40
+ * CANCEL for a non-INVITE request would always create a race condition.
41
+ * A CANCEL request SHOULD NOT be sent to cancel a request other than INVITE.
42
+ * https://tools.ietf.org/html/rfc3261#section-9.1
43
+ * @param options - Cancel options bucket.
44
+ */
45
+ cancel(reason?: string, options?: RequestOptions): OutgoingRequestMessage;
46
+ /**
47
+ * If a 401 (Unauthorized) or 407 (Proxy Authentication Required)
48
+ * response is received, the UAC SHOULD follow the authorization
49
+ * procedures of Section 22.2 and Section 22.3 to retry the request with
50
+ * credentials.
51
+ * https://tools.ietf.org/html/rfc3261#section-8.1.3.5
52
+ * 22 Usage of HTTP Authentication
53
+ * https://tools.ietf.org/html/rfc3261#section-22
54
+ * 22.1 Framework
55
+ * https://tools.ietf.org/html/rfc3261#section-22.1
56
+ * 22.2 User-to-User Authentication
57
+ * https://tools.ietf.org/html/rfc3261#section-22.2
58
+ * 22.3 Proxy-to-User Authentication
59
+ * https://tools.ietf.org/html/rfc3261#section-22.3
60
+ *
61
+ * FIXME: This "guard for and retry the request with credentials"
62
+ * implementation is not complete and at best minimally passable.
63
+ * @param response - The incoming response to guard.
64
+ * @param dialog - If defined, the dialog within which the response was received.
65
+ * @returns True if the program execution is to continue in the branch in question.
66
+ * Otherwise the request is retried with credentials and current request processing must stop.
67
+ */
68
+ protected authenticationGuard(message: IncomingResponseMessage, dialog?: Dialog): boolean;
69
+ /**
70
+ * 8.1.3.1 Transaction Layer Errors
71
+ * In some cases, the response returned by the transaction layer will
72
+ * not be a SIP message, but rather a transaction layer error. When a
73
+ * timeout error is received from the transaction layer, it MUST be
74
+ * treated as if a 408 (Request Timeout) status code has been received.
75
+ * If a fatal transport error is reported by the transport layer
76
+ * (generally, due to fatal ICMP errors in UDP or connection failures in
77
+ * TCP), the condition MUST be treated as a 503 (Service Unavailable)
78
+ * status code.
79
+ * https://tools.ietf.org/html/rfc3261#section-8.1.3.1
80
+ */
81
+ protected onRequestTimeout(): void;
82
+ /**
83
+ * 8.1.3.1 Transaction Layer Errors
84
+ * In some cases, the response returned by the transaction layer will
85
+ * not be a SIP message, but rather a transaction layer error. When a
86
+ * timeout error is received from the transaction layer, it MUST be
87
+ * treated as if a 408 (Request Timeout) status code has been received.
88
+ * If a fatal transport error is reported by the transport layer
89
+ * (generally, due to fatal ICMP errors in UDP or connection failures in
90
+ * TCP), the condition MUST be treated as a 503 (Service Unavailable)
91
+ * status code.
92
+ * https://tools.ietf.org/html/rfc3261#section-8.1.3.1
93
+ * @param error - Transport error
94
+ */
95
+ protected onTransportError(error: TransportError): void;
96
+ /**
97
+ * Receive a response from the transaction layer.
98
+ * @param message - Incoming response message.
99
+ */
100
+ protected receiveResponse(message: IncomingResponseMessage): void;
101
+ private init;
102
+ }
103
+ export {};
@@ -0,0 +1,79 @@
1
+ import { Logger, LoggerFactory } from "../log";
2
+ import { IncomingRequest, IncomingRequestDelegate, IncomingRequestMessage, OutgoingResponse, ResponseOptions, URI } from "../messages";
3
+ import { ServerTransaction, ServerTransactionUser } from "../transactions";
4
+ import { Transport } from "../transport";
5
+ import { UserAgentCore } from "../user-agent-core";
6
+ type ServerTransactionConstructor = new (message: IncomingRequestMessage, transport: Transport, user: ServerTransactionUser) => ServerTransaction;
7
+ /**
8
+ * User Agent Server (UAS).
9
+ * @remarks
10
+ * A user agent server is a logical entity
11
+ * that generates a response to a SIP request. The response
12
+ * accepts, rejects, or redirects the request. This role lasts
13
+ * only for the duration of that transaction. In other words, if
14
+ * a piece of software responds to a request, it acts as a UAS for
15
+ * the duration of that transaction. If it generates a request
16
+ * later, it assumes the role of a user agent client for the
17
+ * processing of that transaction.
18
+ * https://tools.ietf.org/html/rfc3261#section-6
19
+ * @public
20
+ */
21
+ export declare class UserAgentServer implements IncomingRequest {
22
+ private transactionConstructor;
23
+ protected core: UserAgentCore;
24
+ message: IncomingRequestMessage;
25
+ delegate?: IncomingRequestDelegate;
26
+ protected logger: Logger;
27
+ protected toTag: string;
28
+ private _transaction;
29
+ constructor(transactionConstructor: ServerTransactionConstructor, core: UserAgentCore, message: IncomingRequestMessage, delegate?: IncomingRequestDelegate);
30
+ dispose(): void;
31
+ get loggerFactory(): LoggerFactory;
32
+ /** The transaction associated with this request. */
33
+ get transaction(): ServerTransaction;
34
+ accept(options?: ResponseOptions): OutgoingResponse;
35
+ progress(options?: ResponseOptions): OutgoingResponse;
36
+ redirect(contacts: Array<URI>, options?: ResponseOptions): OutgoingResponse;
37
+ reject(options?: ResponseOptions): OutgoingResponse;
38
+ trying(options?: ResponseOptions): OutgoingResponse;
39
+ /**
40
+ * If the UAS did not find a matching transaction for the CANCEL
41
+ * according to the procedure above, it SHOULD respond to the CANCEL
42
+ * with a 481 (Call Leg/Transaction Does Not Exist). If the transaction
43
+ * for the original request still exists, the behavior of the UAS on
44
+ * receiving a CANCEL request depends on whether it has already sent a
45
+ * final response for the original request. If it has, the CANCEL
46
+ * request has no effect on the processing of the original request, no
47
+ * effect on any session state, and no effect on the responses generated
48
+ * for the original request. If the UAS has not issued a final response
49
+ * for the original request, its behavior depends on the method of the
50
+ * original request. If the original request was an INVITE, the UAS
51
+ * SHOULD immediately respond to the INVITE with a 487 (Request
52
+ * Terminated). A CANCEL request has no impact on the processing of
53
+ * transactions with any other method defined in this specification.
54
+ * https://tools.ietf.org/html/rfc3261#section-9.2
55
+ * @param request - Incoming CANCEL request.
56
+ */
57
+ receiveCancel(message: IncomingRequestMessage): void;
58
+ protected get acceptable(): boolean;
59
+ protected get progressable(): boolean;
60
+ protected get redirectable(): boolean;
61
+ protected get rejectable(): boolean;
62
+ protected get tryingable(): boolean;
63
+ /**
64
+ * When a UAS wishes to construct a response to a request, it follows
65
+ * the general procedures detailed in the following subsections.
66
+ * Additional behaviors specific to the response code in question, which
67
+ * are not detailed in this section, may also be required.
68
+ *
69
+ * Once all procedures associated with the creation of a response have
70
+ * been completed, the UAS hands the response back to the server
71
+ * transaction from which it received the request.
72
+ * https://tools.ietf.org/html/rfc3261#section-8.2.6
73
+ * @param statusCode - Status code to reply with.
74
+ * @param options - Reply options bucket.
75
+ */
76
+ private reply;
77
+ private init;
78
+ }
79
+ export {};
@@ -0,0 +1,26 @@
1
+ import { NameAddrHeader } from "./name-addr-header";
2
+ import { URI } from "./uri";
3
+ /**
4
+ * Grammar.
5
+ * @internal
6
+ */
7
+ export declare namespace Grammar {
8
+ /**
9
+ * Parse.
10
+ * @param input -
11
+ * @param startRule -
12
+ */
13
+ function parse(input: string, startRule: string): any;
14
+ /**
15
+ * Parse the given string and returns a SIP.NameAddrHeader instance or undefined if
16
+ * it is an invalid NameAddrHeader.
17
+ * @param name_addr_header -
18
+ */
19
+ function nameAddrHeaderParse(nameAddrHeader: string): NameAddrHeader | undefined;
20
+ /**
21
+ * Parse the given string and returns a SIP.URI instance or undefined if
22
+ * it is an invalid URI.
23
+ * @param uri -
24
+ */
25
+ function URIParse(uri: string): URI | undefined;
26
+ }
@@ -0,0 +1,4 @@
1
+ export * from "./grammar";
2
+ export * from "./name-addr-header";
3
+ export * from "./parameters";
4
+ export * from "./uri";