ue-softphone-sdk 3.0.17 → 4.0.0

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 (585) hide show
  1. package/Dockerfile +3 -7
  2. package/dist/lib/types/index.d.ts +1 -0
  3. package/dist/lib/types/lib/sip.js/api/ack.d.ts +12 -0
  4. package/dist/lib/types/lib/sip.js/api/bye.d.ts +16 -0
  5. package/dist/lib/types/lib/sip.js/api/dtmf.d.ts +15 -0
  6. package/dist/lib/types/lib/sip.js/api/emitter.d.ts +88 -0
  7. package/dist/lib/types/lib/sip.js/api/exceptions/content-type-unsupported.d.ts +8 -0
  8. package/dist/lib/types/lib/sip.js/api/exceptions/index.d.ts +5 -0
  9. package/dist/lib/types/lib/sip.js/api/exceptions/request-pending.d.ts +9 -0
  10. package/dist/lib/types/lib/sip.js/api/exceptions/session-description-handler.d.ts +8 -0
  11. package/dist/lib/types/lib/sip.js/api/exceptions/session-terminated.d.ts +8 -0
  12. package/dist/lib/types/lib/sip.js/api/exceptions/state-transition.d.ts +8 -0
  13. package/dist/lib/types/lib/sip.js/api/index.d.ts +59 -0
  14. package/dist/lib/types/lib/sip.js/api/info.d.ts +16 -0
  15. package/dist/lib/types/lib/sip.js/api/invitation-accept-options.d.ts +19 -0
  16. package/dist/lib/types/lib/sip.js/api/invitation-progress-options.d.ts +38 -0
  17. package/dist/lib/types/lib/sip.js/api/invitation-reject-options.d.ts +25 -0
  18. package/dist/lib/types/lib/sip.js/api/invitation.d.ts +179 -0
  19. package/dist/lib/types/lib/sip.js/api/inviter-cancel-options.d.ts +9 -0
  20. package/dist/lib/types/lib/sip.js/api/inviter-invite-options.d.ts +28 -0
  21. package/dist/lib/types/lib/sip.js/api/inviter-options.d.ts +43 -0
  22. package/dist/lib/types/lib/sip.js/api/inviter.d.ts +236 -0
  23. package/dist/lib/types/lib/sip.js/api/message.d.ts +16 -0
  24. package/dist/lib/types/lib/sip.js/api/messager-message-options.d.ts +11 -0
  25. package/dist/lib/types/lib/sip.js/api/messager-options.d.ts +17 -0
  26. package/dist/lib/types/lib/sip.js/api/messager.d.ts +26 -0
  27. package/dist/lib/types/lib/sip.js/api/notification.d.ts +16 -0
  28. package/dist/lib/types/lib/sip.js/api/notifier.d.ts +8 -0
  29. package/dist/lib/types/lib/sip.js/api/publisher-options.d.ts +33 -0
  30. package/dist/lib/types/lib/sip.js/api/publisher-publish-options.d.ts +6 -0
  31. package/dist/lib/types/lib/sip.js/api/publisher-state.d.ts +21 -0
  32. package/dist/lib/types/lib/sip.js/api/publisher-unpublish-options.d.ts +6 -0
  33. package/dist/lib/types/lib/sip.js/api/publisher.d.ts +65 -0
  34. package/dist/lib/types/lib/sip.js/api/referral.d.ts +38 -0
  35. package/dist/lib/types/lib/sip.js/api/registerer-options.d.ts +46 -0
  36. package/dist/lib/types/lib/sip.js/api/registerer-register-options.d.ts +11 -0
  37. package/dist/lib/types/lib/sip.js/api/registerer-state.d.ts +21 -0
  38. package/dist/lib/types/lib/sip.js/api/registerer-unregister-options.d.ts +16 -0
  39. package/dist/lib/types/lib/sip.js/api/registerer.d.ts +144 -0
  40. package/dist/lib/types/lib/sip.js/api/session-bye-options.d.ts +11 -0
  41. package/dist/lib/types/lib/sip.js/api/session-delegate.d.ts +79 -0
  42. package/dist/lib/types/lib/sip.js/api/session-description-handler-factory.d.ts +15 -0
  43. package/dist/lib/types/lib/sip.js/api/session-description-handler.d.ts +74 -0
  44. package/dist/lib/types/lib/sip.js/api/session-info-options.d.ts +11 -0
  45. package/dist/lib/types/lib/sip.js/api/session-invite-options.d.ts +28 -0
  46. package/dist/lib/types/lib/sip.js/api/session-message-options.d.ts +11 -0
  47. package/dist/lib/types/lib/sip.js/api/session-options.d.ts +8 -0
  48. package/dist/lib/types/lib/sip.js/api/session-refer-options.d.ts +14 -0
  49. package/dist/lib/types/lib/sip.js/api/session-state.d.ts +45 -0
  50. package/dist/lib/types/lib/sip.js/api/session.d.ts +359 -0
  51. package/dist/lib/types/lib/sip.js/api/subscriber-options.d.ts +11 -0
  52. package/dist/lib/types/lib/sip.js/api/subscriber-subscribe-options.d.ts +6 -0
  53. package/dist/lib/types/lib/sip.js/api/subscriber.d.ts +94 -0
  54. package/dist/lib/types/lib/sip.js/api/subscription-delegate.d.ts +12 -0
  55. package/dist/lib/types/lib/sip.js/api/subscription-options.d.ts +8 -0
  56. package/dist/lib/types/lib/sip.js/api/subscription-state.d.ts +19 -0
  57. package/dist/lib/types/lib/sip.js/api/subscription-subscribe-options.d.ts +6 -0
  58. package/dist/lib/types/lib/sip.js/api/subscription-unsubscribe-options.d.ts +6 -0
  59. package/dist/lib/types/lib/sip.js/api/subscription.d.ts +84 -0
  60. package/dist/lib/types/lib/sip.js/api/transport-state.d.ts +37 -0
  61. package/dist/lib/types/lib/sip.js/api/transport.d.ts +159 -0
  62. package/dist/lib/types/lib/sip.js/api/user-agent-delegate.d.ts +84 -0
  63. package/dist/lib/types/lib/sip.js/api/user-agent-options.d.ts +253 -0
  64. package/dist/lib/types/lib/sip.js/api/user-agent-state.d.ts +14 -0
  65. package/dist/lib/types/lib/sip.js/api/user-agent.d.ts +200 -0
  66. package/dist/lib/types/lib/sip.js/core/dialogs/dialog-state.d.ts +34 -0
  67. package/dist/lib/types/lib/sip.js/core/dialogs/dialog.d.ts +161 -0
  68. package/dist/lib/types/lib/sip.js/core/dialogs/index.d.ts +4 -0
  69. package/dist/lib/types/lib/sip.js/core/dialogs/session-dialog.d.ts +196 -0
  70. package/dist/lib/types/lib/sip.js/core/dialogs/subscription-dialog.d.ts +120 -0
  71. package/dist/lib/types/lib/sip.js/core/exceptions/exception.d.ts +8 -0
  72. package/dist/lib/types/lib/sip.js/core/exceptions/index.d.ts +3 -0
  73. package/dist/lib/types/lib/sip.js/core/exceptions/transaction-state-error.d.ts +8 -0
  74. package/dist/lib/types/lib/sip.js/core/exceptions/transport-error.d.ts +8 -0
  75. package/dist/lib/types/lib/sip.js/core/index.d.ts +15 -0
  76. package/dist/lib/types/lib/sip.js/core/log/index.d.ts +3 -0
  77. package/dist/lib/types/lib/sip.js/core/log/levels.d.ts +10 -0
  78. package/dist/lib/types/lib/sip.js/core/log/logger-factory.d.ts +21 -0
  79. package/dist/lib/types/lib/sip.js/core/log/logger.d.ts +19 -0
  80. package/dist/lib/types/lib/sip.js/core/messages/body.d.ts +64 -0
  81. package/dist/lib/types/lib/sip.js/core/messages/digest-authentication.d.ts +51 -0
  82. package/dist/lib/types/lib/sip.js/core/messages/incoming-message.d.ts +79 -0
  83. package/dist/lib/types/lib/sip.js/core/messages/incoming-request-message.d.ts +10 -0
  84. package/dist/lib/types/lib/sip.js/core/messages/incoming-request.d.ts +67 -0
  85. package/dist/lib/types/lib/sip.js/core/messages/incoming-response-message.d.ts +10 -0
  86. package/dist/lib/types/lib/sip.js/core/messages/incoming-response.d.ts +12 -0
  87. package/dist/lib/types/lib/sip.js/core/messages/index.d.ts +13 -0
  88. package/dist/lib/types/lib/sip.js/core/messages/md5.d.ts +32 -0
  89. package/dist/lib/types/lib/sip.js/core/messages/methods/ack.d.ts +18 -0
  90. package/dist/lib/types/lib/sip.js/core/messages/methods/bye.d.ts +21 -0
  91. package/dist/lib/types/lib/sip.js/core/messages/methods/cancel.d.ts +21 -0
  92. package/dist/lib/types/lib/sip.js/core/messages/methods/constants.d.ts +20 -0
  93. package/dist/lib/types/lib/sip.js/core/messages/methods/index.d.ts +13 -0
  94. package/dist/lib/types/lib/sip.js/core/messages/methods/info.d.ts +21 -0
  95. package/dist/lib/types/lib/sip.js/core/messages/methods/invite.d.ts +86 -0
  96. package/dist/lib/types/lib/sip.js/core/messages/methods/message.d.ts +21 -0
  97. package/dist/lib/types/lib/sip.js/core/messages/methods/notify.d.ts +21 -0
  98. package/dist/lib/types/lib/sip.js/core/messages/methods/prack.d.ts +21 -0
  99. package/dist/lib/types/lib/sip.js/core/messages/methods/publish.d.ts +21 -0
  100. package/dist/lib/types/lib/sip.js/core/messages/methods/refer.d.ts +21 -0
  101. package/dist/lib/types/lib/sip.js/core/messages/methods/register.d.ts +21 -0
  102. package/dist/lib/types/lib/sip.js/core/messages/methods/subscribe.d.ts +54 -0
  103. package/dist/lib/types/lib/sip.js/core/messages/outgoing-request-message.d.ts +94 -0
  104. package/dist/lib/types/lib/sip.js/core/messages/outgoing-request.d.ts +67 -0
  105. package/dist/lib/types/lib/sip.js/core/messages/outgoing-response.d.ts +42 -0
  106. package/dist/lib/types/lib/sip.js/core/messages/parser.d.ts +14 -0
  107. package/dist/lib/types/lib/sip.js/core/messages/utils.d.ts +24 -0
  108. package/dist/lib/types/lib/sip.js/core/session/index.d.ts +2 -0
  109. package/dist/lib/types/lib/sip.js/core/session/session-delegate.d.ts +70 -0
  110. package/dist/lib/types/lib/sip.js/core/session/session.d.ts +134 -0
  111. package/dist/lib/types/lib/sip.js/core/subscription/index.d.ts +2 -0
  112. package/dist/lib/types/lib/sip.js/core/subscription/subscription-delegate.d.ts +27 -0
  113. package/dist/lib/types/lib/sip.js/core/subscription/subscription.d.ts +55 -0
  114. package/dist/lib/types/lib/sip.js/core/timers.d.ts +20 -0
  115. package/dist/lib/types/lib/sip.js/core/transactions/client-transaction.d.ts +45 -0
  116. package/dist/lib/types/lib/sip.js/core/transactions/index.d.ts +10 -0
  117. package/dist/lib/types/lib/sip.js/core/transactions/invite-client-transaction.d.ts +116 -0
  118. package/dist/lib/types/lib/sip.js/core/transactions/invite-server-transaction.d.ts +127 -0
  119. package/dist/lib/types/lib/sip.js/core/transactions/non-invite-client-transaction.d.ts +69 -0
  120. package/dist/lib/types/lib/sip.js/core/transactions/non-invite-server-transaction.d.ts +57 -0
  121. package/dist/lib/types/lib/sip.js/core/transactions/server-transaction.d.ts +35 -0
  122. package/dist/lib/types/lib/sip.js/core/transactions/transaction-state.d.ts +13 -0
  123. package/dist/lib/types/lib/sip.js/core/transactions/transaction-user.d.ts +72 -0
  124. package/dist/lib/types/lib/sip.js/core/transactions/transaction.d.ts +79 -0
  125. package/dist/lib/types/lib/sip.js/core/transport.d.ts +31 -0
  126. package/dist/lib/types/lib/sip.js/core/user-agent-core/allowed-methods.d.ts +4 -0
  127. package/dist/lib/types/lib/sip.js/core/user-agent-core/index.d.ts +3 -0
  128. package/dist/lib/types/lib/sip.js/core/user-agent-core/user-agent-core-configuration.d.ts +99 -0
  129. package/dist/lib/types/lib/sip.js/core/user-agent-core/user-agent-core-delegate.d.ts +37 -0
  130. package/dist/lib/types/lib/sip.js/core/user-agent-core/user-agent-core.d.ts +179 -0
  131. package/dist/lib/types/lib/sip.js/core/user-agents/bye-user-agent-client.d.ts +10 -0
  132. package/dist/lib/types/lib/sip.js/core/user-agents/bye-user-agent-server.d.ts +10 -0
  133. package/dist/lib/types/lib/sip.js/core/user-agents/cancel-user-agent-client.d.ts +10 -0
  134. package/dist/lib/types/lib/sip.js/core/user-agents/index.d.ts +26 -0
  135. package/dist/lib/types/lib/sip.js/core/user-agents/info-user-agent-client.d.ts +10 -0
  136. package/dist/lib/types/lib/sip.js/core/user-agents/info-user-agent-server.d.ts +10 -0
  137. package/dist/lib/types/lib/sip.js/core/user-agents/invite-user-agent-client.d.ts +35 -0
  138. package/dist/lib/types/lib/sip.js/core/user-agents/invite-user-agent-server.d.ts +77 -0
  139. package/dist/lib/types/lib/sip.js/core/user-agents/message-user-agent-client.d.ts +10 -0
  140. package/dist/lib/types/lib/sip.js/core/user-agents/message-user-agent-server.d.ts +10 -0
  141. package/dist/lib/types/lib/sip.js/core/user-agents/notify-user-agent-client.d.ts +10 -0
  142. package/dist/lib/types/lib/sip.js/core/user-agents/notify-user-agent-server.d.ts +16 -0
  143. package/dist/lib/types/lib/sip.js/core/user-agents/prack-user-agent-client.d.ts +10 -0
  144. package/dist/lib/types/lib/sip.js/core/user-agents/prack-user-agent-server.d.ts +16 -0
  145. package/dist/lib/types/lib/sip.js/core/user-agents/publish-user-agent-client.d.ts +10 -0
  146. package/dist/lib/types/lib/sip.js/core/user-agents/re-invite-user-agent-client.d.ts +18 -0
  147. package/dist/lib/types/lib/sip.js/core/user-agents/re-invite-user-agent-server.d.ts +41 -0
  148. package/dist/lib/types/lib/sip.js/core/user-agents/re-subscribe-user-agent-client.d.ts +17 -0
  149. package/dist/lib/types/lib/sip.js/core/user-agents/re-subscribe-user-agent-server.d.ts +10 -0
  150. package/dist/lib/types/lib/sip.js/core/user-agents/refer-user-agent-client.d.ts +10 -0
  151. package/dist/lib/types/lib/sip.js/core/user-agents/refer-user-agent-server.d.ts +16 -0
  152. package/dist/lib/types/lib/sip.js/core/user-agents/register-user-agent-client.d.ts +10 -0
  153. package/dist/lib/types/lib/sip.js/core/user-agents/register-user-agent-server.d.ts +11 -0
  154. package/dist/lib/types/lib/sip.js/core/user-agents/subscribe-user-agent-client.d.ts +65 -0
  155. package/dist/lib/types/lib/sip.js/core/user-agents/subscribe-user-agent-server.d.ts +11 -0
  156. package/dist/lib/types/lib/sip.js/core/user-agents/user-agent-client.d.ts +103 -0
  157. package/dist/lib/types/lib/sip.js/core/user-agents/user-agent-server.d.ts +79 -0
  158. package/dist/lib/types/lib/sip.js/grammar/grammar.d.ts +26 -0
  159. package/dist/lib/types/lib/sip.js/grammar/index.d.ts +4 -0
  160. package/dist/lib/types/lib/sip.js/grammar/name-addr-header.d.ts +24 -0
  161. package/dist/lib/types/lib/sip.js/grammar/parameters.d.ts +16 -0
  162. package/dist/lib/types/lib/sip.js/grammar/pegjs/dist/grammar.d.ts +50 -0
  163. package/dist/lib/types/lib/sip.js/grammar/uri.d.ts +62 -0
  164. package/dist/lib/types/lib/sip.js/index.d.ts +9 -0
  165. package/dist/lib/types/lib/sip.js/platform/web/index.d.ts +4 -0
  166. package/dist/lib/types/lib/sip.js/platform/web/modifiers/index.d.ts +5 -0
  167. package/dist/lib/types/lib/sip.js/platform/web/modifiers/modifiers.d.ts +41 -0
  168. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/index.d.ts +14 -0
  169. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/media-stream-factory-default.d.ts +6 -0
  170. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/media-stream-factory.d.ts +6 -0
  171. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/peer-connection-configuration-default.d.ts +5 -0
  172. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/peer-connection-delegate.d.ts +63 -0
  173. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-configuration.d.ts +16 -0
  174. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory-default.d.ts +11 -0
  175. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory-options.d.ts +9 -0
  176. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory.d.ts +16 -0
  177. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-options.d.ts +47 -0
  178. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler.d.ts +212 -0
  179. package/dist/lib/types/lib/sip.js/platform/web/simple-user/index.d.ts +7 -0
  180. package/dist/lib/types/lib/sip.js/platform/web/simple-user/simple-user-delegate.d.ts +72 -0
  181. package/dist/lib/types/lib/sip.js/platform/web/simple-user/simple-user-options.d.ts +90 -0
  182. package/dist/lib/types/lib/sip.js/platform/web/simple-user/simple-user.d.ts +226 -0
  183. package/dist/lib/types/lib/sip.js/platform/web/transport/index.d.ts +6 -0
  184. package/dist/lib/types/lib/sip.js/platform/web/transport/transport-options.d.ts +30 -0
  185. package/dist/lib/types/lib/sip.js/platform/web/transport/transport.d.ts +125 -0
  186. package/dist/lib/types/lib/sip.js/version.d.ts +1 -0
  187. package/dist/lib/types/webrtc/webrtc-method.d.ts +2 -0
  188. package/dist/lib/types/webrtc/webrtc.d.ts +38 -0
  189. package/dist/lib/ue-soft-phone.min.js +3 -3
  190. package/dist/types/index.d.ts +1 -0
  191. package/dist/types/lib/sip.js/api/ack.d.ts +12 -0
  192. package/dist/types/lib/sip.js/api/bye.d.ts +16 -0
  193. package/dist/types/lib/sip.js/api/dtmf.d.ts +15 -0
  194. package/dist/types/lib/sip.js/api/emitter.d.ts +88 -0
  195. package/dist/types/lib/sip.js/api/exceptions/content-type-unsupported.d.ts +8 -0
  196. package/dist/types/lib/sip.js/api/exceptions/index.d.ts +5 -0
  197. package/dist/types/lib/sip.js/api/exceptions/request-pending.d.ts +9 -0
  198. package/dist/types/lib/sip.js/api/exceptions/session-description-handler.d.ts +8 -0
  199. package/dist/types/lib/sip.js/api/exceptions/session-terminated.d.ts +8 -0
  200. package/dist/types/lib/sip.js/api/exceptions/state-transition.d.ts +8 -0
  201. package/dist/types/lib/sip.js/api/index.d.ts +59 -0
  202. package/dist/types/lib/sip.js/api/info.d.ts +16 -0
  203. package/dist/types/lib/sip.js/api/invitation-accept-options.d.ts +19 -0
  204. package/dist/types/lib/sip.js/api/invitation-progress-options.d.ts +38 -0
  205. package/dist/types/lib/sip.js/api/invitation-reject-options.d.ts +25 -0
  206. package/dist/types/lib/sip.js/api/invitation.d.ts +179 -0
  207. package/dist/types/lib/sip.js/api/inviter-cancel-options.d.ts +9 -0
  208. package/dist/types/lib/sip.js/api/inviter-invite-options.d.ts +28 -0
  209. package/dist/types/lib/sip.js/api/inviter-options.d.ts +43 -0
  210. package/dist/types/lib/sip.js/api/inviter.d.ts +236 -0
  211. package/dist/types/lib/sip.js/api/message.d.ts +16 -0
  212. package/dist/types/lib/sip.js/api/messager-message-options.d.ts +11 -0
  213. package/dist/types/lib/sip.js/api/messager-options.d.ts +17 -0
  214. package/dist/types/lib/sip.js/api/messager.d.ts +26 -0
  215. package/dist/types/lib/sip.js/api/notification.d.ts +16 -0
  216. package/dist/types/lib/sip.js/api/notifier.d.ts +8 -0
  217. package/dist/types/lib/sip.js/api/publisher-options.d.ts +33 -0
  218. package/dist/types/lib/sip.js/api/publisher-publish-options.d.ts +6 -0
  219. package/dist/types/lib/sip.js/api/publisher-state.d.ts +21 -0
  220. package/dist/types/lib/sip.js/api/publisher-unpublish-options.d.ts +6 -0
  221. package/dist/types/lib/sip.js/api/publisher.d.ts +65 -0
  222. package/dist/types/lib/sip.js/api/referral.d.ts +38 -0
  223. package/dist/types/lib/sip.js/api/registerer-options.d.ts +46 -0
  224. package/dist/types/lib/sip.js/api/registerer-register-options.d.ts +11 -0
  225. package/dist/types/lib/sip.js/api/registerer-state.d.ts +21 -0
  226. package/dist/types/lib/sip.js/api/registerer-unregister-options.d.ts +16 -0
  227. package/dist/types/lib/sip.js/api/registerer.d.ts +144 -0
  228. package/dist/types/lib/sip.js/api/session-bye-options.d.ts +11 -0
  229. package/dist/types/lib/sip.js/api/session-delegate.d.ts +79 -0
  230. package/dist/types/lib/sip.js/api/session-description-handler-factory.d.ts +15 -0
  231. package/dist/types/lib/sip.js/api/session-description-handler.d.ts +74 -0
  232. package/dist/types/lib/sip.js/api/session-info-options.d.ts +11 -0
  233. package/dist/types/lib/sip.js/api/session-invite-options.d.ts +28 -0
  234. package/dist/types/lib/sip.js/api/session-message-options.d.ts +11 -0
  235. package/dist/types/lib/sip.js/api/session-options.d.ts +8 -0
  236. package/dist/types/lib/sip.js/api/session-refer-options.d.ts +14 -0
  237. package/dist/types/lib/sip.js/api/session-state.d.ts +45 -0
  238. package/dist/types/lib/sip.js/api/session.d.ts +359 -0
  239. package/dist/types/lib/sip.js/api/subscriber-options.d.ts +11 -0
  240. package/dist/types/lib/sip.js/api/subscriber-subscribe-options.d.ts +6 -0
  241. package/dist/types/lib/sip.js/api/subscriber.d.ts +94 -0
  242. package/dist/types/lib/sip.js/api/subscription-delegate.d.ts +12 -0
  243. package/dist/types/lib/sip.js/api/subscription-options.d.ts +8 -0
  244. package/dist/types/lib/sip.js/api/subscription-state.d.ts +19 -0
  245. package/dist/types/lib/sip.js/api/subscription-subscribe-options.d.ts +6 -0
  246. package/dist/types/lib/sip.js/api/subscription-unsubscribe-options.d.ts +6 -0
  247. package/dist/types/lib/sip.js/api/subscription.d.ts +84 -0
  248. package/dist/types/lib/sip.js/api/transport-state.d.ts +37 -0
  249. package/dist/types/lib/sip.js/api/transport.d.ts +159 -0
  250. package/dist/types/lib/sip.js/api/user-agent-delegate.d.ts +84 -0
  251. package/dist/types/lib/sip.js/api/user-agent-options.d.ts +253 -0
  252. package/dist/types/lib/sip.js/api/user-agent-state.d.ts +14 -0
  253. package/dist/types/lib/sip.js/api/user-agent.d.ts +200 -0
  254. package/dist/types/lib/sip.js/core/dialogs/dialog-state.d.ts +34 -0
  255. package/dist/types/lib/sip.js/core/dialogs/dialog.d.ts +161 -0
  256. package/dist/types/lib/sip.js/core/dialogs/index.d.ts +4 -0
  257. package/dist/types/lib/sip.js/core/dialogs/session-dialog.d.ts +196 -0
  258. package/dist/types/lib/sip.js/core/dialogs/subscription-dialog.d.ts +120 -0
  259. package/dist/types/lib/sip.js/core/exceptions/exception.d.ts +8 -0
  260. package/dist/types/lib/sip.js/core/exceptions/index.d.ts +3 -0
  261. package/dist/types/lib/sip.js/core/exceptions/transaction-state-error.d.ts +8 -0
  262. package/dist/types/lib/sip.js/core/exceptions/transport-error.d.ts +8 -0
  263. package/dist/types/lib/sip.js/core/index.d.ts +15 -0
  264. package/dist/types/lib/sip.js/core/log/index.d.ts +3 -0
  265. package/dist/types/lib/sip.js/core/log/levels.d.ts +10 -0
  266. package/dist/types/lib/sip.js/core/log/logger-factory.d.ts +21 -0
  267. package/dist/types/lib/sip.js/core/log/logger.d.ts +19 -0
  268. package/dist/types/lib/sip.js/core/messages/body.d.ts +64 -0
  269. package/dist/types/lib/sip.js/core/messages/digest-authentication.d.ts +51 -0
  270. package/dist/types/lib/sip.js/core/messages/incoming-message.d.ts +79 -0
  271. package/dist/types/lib/sip.js/core/messages/incoming-request-message.d.ts +10 -0
  272. package/dist/types/lib/sip.js/core/messages/incoming-request.d.ts +67 -0
  273. package/dist/types/lib/sip.js/core/messages/incoming-response-message.d.ts +10 -0
  274. package/dist/types/lib/sip.js/core/messages/incoming-response.d.ts +12 -0
  275. package/dist/types/lib/sip.js/core/messages/index.d.ts +13 -0
  276. package/dist/types/lib/sip.js/core/messages/md5.d.ts +32 -0
  277. package/dist/types/lib/sip.js/core/messages/methods/ack.d.ts +18 -0
  278. package/dist/types/lib/sip.js/core/messages/methods/bye.d.ts +21 -0
  279. package/dist/types/lib/sip.js/core/messages/methods/cancel.d.ts +21 -0
  280. package/dist/types/lib/sip.js/core/messages/methods/constants.d.ts +20 -0
  281. package/dist/types/lib/sip.js/core/messages/methods/index.d.ts +13 -0
  282. package/dist/types/lib/sip.js/core/messages/methods/info.d.ts +21 -0
  283. package/dist/types/lib/sip.js/core/messages/methods/invite.d.ts +86 -0
  284. package/dist/types/lib/sip.js/core/messages/methods/message.d.ts +21 -0
  285. package/dist/types/lib/sip.js/core/messages/methods/notify.d.ts +21 -0
  286. package/dist/types/lib/sip.js/core/messages/methods/prack.d.ts +21 -0
  287. package/dist/types/lib/sip.js/core/messages/methods/publish.d.ts +21 -0
  288. package/dist/types/lib/sip.js/core/messages/methods/refer.d.ts +21 -0
  289. package/dist/types/lib/sip.js/core/messages/methods/register.d.ts +21 -0
  290. package/dist/types/lib/sip.js/core/messages/methods/subscribe.d.ts +54 -0
  291. package/dist/types/lib/sip.js/core/messages/outgoing-request-message.d.ts +94 -0
  292. package/dist/types/lib/sip.js/core/messages/outgoing-request.d.ts +67 -0
  293. package/dist/types/lib/sip.js/core/messages/outgoing-response.d.ts +42 -0
  294. package/dist/types/lib/sip.js/core/messages/parser.d.ts +14 -0
  295. package/dist/types/lib/sip.js/core/messages/utils.d.ts +24 -0
  296. package/dist/types/lib/sip.js/core/session/index.d.ts +2 -0
  297. package/dist/types/lib/sip.js/core/session/session-delegate.d.ts +70 -0
  298. package/dist/types/lib/sip.js/core/session/session.d.ts +134 -0
  299. package/dist/types/lib/sip.js/core/subscription/index.d.ts +2 -0
  300. package/dist/types/lib/sip.js/core/subscription/subscription-delegate.d.ts +27 -0
  301. package/dist/types/lib/sip.js/core/subscription/subscription.d.ts +55 -0
  302. package/dist/types/lib/sip.js/core/timers.d.ts +20 -0
  303. package/dist/types/lib/sip.js/core/transactions/client-transaction.d.ts +45 -0
  304. package/dist/types/lib/sip.js/core/transactions/index.d.ts +10 -0
  305. package/dist/types/lib/sip.js/core/transactions/invite-client-transaction.d.ts +116 -0
  306. package/dist/types/lib/sip.js/core/transactions/invite-server-transaction.d.ts +127 -0
  307. package/dist/types/lib/sip.js/core/transactions/non-invite-client-transaction.d.ts +69 -0
  308. package/dist/types/lib/sip.js/core/transactions/non-invite-server-transaction.d.ts +57 -0
  309. package/dist/types/lib/sip.js/core/transactions/server-transaction.d.ts +35 -0
  310. package/dist/types/lib/sip.js/core/transactions/transaction-state.d.ts +13 -0
  311. package/dist/types/lib/sip.js/core/transactions/transaction-user.d.ts +72 -0
  312. package/dist/types/lib/sip.js/core/transactions/transaction.d.ts +79 -0
  313. package/dist/types/lib/sip.js/core/transport.d.ts +31 -0
  314. package/dist/types/lib/sip.js/core/user-agent-core/allowed-methods.d.ts +4 -0
  315. package/dist/types/lib/sip.js/core/user-agent-core/index.d.ts +3 -0
  316. package/dist/types/lib/sip.js/core/user-agent-core/user-agent-core-configuration.d.ts +99 -0
  317. package/dist/types/lib/sip.js/core/user-agent-core/user-agent-core-delegate.d.ts +37 -0
  318. package/dist/types/lib/sip.js/core/user-agent-core/user-agent-core.d.ts +179 -0
  319. package/dist/types/lib/sip.js/core/user-agents/bye-user-agent-client.d.ts +10 -0
  320. package/dist/types/lib/sip.js/core/user-agents/bye-user-agent-server.d.ts +10 -0
  321. package/dist/types/lib/sip.js/core/user-agents/cancel-user-agent-client.d.ts +10 -0
  322. package/dist/types/lib/sip.js/core/user-agents/index.d.ts +26 -0
  323. package/dist/types/lib/sip.js/core/user-agents/info-user-agent-client.d.ts +10 -0
  324. package/dist/types/lib/sip.js/core/user-agents/info-user-agent-server.d.ts +10 -0
  325. package/dist/types/lib/sip.js/core/user-agents/invite-user-agent-client.d.ts +35 -0
  326. package/dist/types/lib/sip.js/core/user-agents/invite-user-agent-server.d.ts +77 -0
  327. package/dist/types/lib/sip.js/core/user-agents/message-user-agent-client.d.ts +10 -0
  328. package/dist/types/lib/sip.js/core/user-agents/message-user-agent-server.d.ts +10 -0
  329. package/dist/types/lib/sip.js/core/user-agents/notify-user-agent-client.d.ts +10 -0
  330. package/dist/types/lib/sip.js/core/user-agents/notify-user-agent-server.d.ts +16 -0
  331. package/dist/types/lib/sip.js/core/user-agents/prack-user-agent-client.d.ts +10 -0
  332. package/dist/types/lib/sip.js/core/user-agents/prack-user-agent-server.d.ts +16 -0
  333. package/dist/types/lib/sip.js/core/user-agents/publish-user-agent-client.d.ts +10 -0
  334. package/dist/types/lib/sip.js/core/user-agents/re-invite-user-agent-client.d.ts +18 -0
  335. package/dist/types/lib/sip.js/core/user-agents/re-invite-user-agent-server.d.ts +41 -0
  336. package/dist/types/lib/sip.js/core/user-agents/re-subscribe-user-agent-client.d.ts +17 -0
  337. package/dist/types/lib/sip.js/core/user-agents/re-subscribe-user-agent-server.d.ts +10 -0
  338. package/dist/types/lib/sip.js/core/user-agents/refer-user-agent-client.d.ts +10 -0
  339. package/dist/types/lib/sip.js/core/user-agents/refer-user-agent-server.d.ts +16 -0
  340. package/dist/types/lib/sip.js/core/user-agents/register-user-agent-client.d.ts +10 -0
  341. package/dist/types/lib/sip.js/core/user-agents/register-user-agent-server.d.ts +11 -0
  342. package/dist/types/lib/sip.js/core/user-agents/subscribe-user-agent-client.d.ts +65 -0
  343. package/dist/types/lib/sip.js/core/user-agents/subscribe-user-agent-server.d.ts +11 -0
  344. package/dist/types/lib/sip.js/core/user-agents/user-agent-client.d.ts +103 -0
  345. package/dist/types/lib/sip.js/core/user-agents/user-agent-server.d.ts +79 -0
  346. package/dist/types/lib/sip.js/grammar/grammar.d.ts +26 -0
  347. package/dist/types/lib/sip.js/grammar/index.d.ts +4 -0
  348. package/dist/types/lib/sip.js/grammar/name-addr-header.d.ts +24 -0
  349. package/dist/types/lib/sip.js/grammar/parameters.d.ts +16 -0
  350. package/dist/types/lib/sip.js/grammar/pegjs/dist/grammar.d.ts +50 -0
  351. package/dist/types/lib/sip.js/grammar/uri.d.ts +62 -0
  352. package/dist/types/lib/sip.js/index.d.ts +9 -0
  353. package/dist/types/lib/sip.js/platform/web/index.d.ts +4 -0
  354. package/dist/types/lib/sip.js/platform/web/modifiers/index.d.ts +5 -0
  355. package/dist/types/lib/sip.js/platform/web/modifiers/modifiers.d.ts +41 -0
  356. package/dist/types/lib/sip.js/platform/web/session-description-handler/index.d.ts +14 -0
  357. package/dist/types/lib/sip.js/platform/web/session-description-handler/media-stream-factory-default.d.ts +6 -0
  358. package/dist/types/lib/sip.js/platform/web/session-description-handler/media-stream-factory.d.ts +6 -0
  359. package/dist/types/lib/sip.js/platform/web/session-description-handler/peer-connection-configuration-default.d.ts +5 -0
  360. package/dist/types/lib/sip.js/platform/web/session-description-handler/peer-connection-delegate.d.ts +63 -0
  361. package/dist/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-configuration.d.ts +16 -0
  362. package/dist/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory-default.d.ts +11 -0
  363. package/dist/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory-options.d.ts +9 -0
  364. package/dist/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory.d.ts +16 -0
  365. package/dist/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-options.d.ts +47 -0
  366. package/dist/types/lib/sip.js/platform/web/session-description-handler/session-description-handler.d.ts +212 -0
  367. package/dist/types/lib/sip.js/platform/web/simple-user/index.d.ts +7 -0
  368. package/dist/types/lib/sip.js/platform/web/simple-user/simple-user-delegate.d.ts +72 -0
  369. package/dist/types/lib/sip.js/platform/web/simple-user/simple-user-options.d.ts +90 -0
  370. package/dist/types/lib/sip.js/platform/web/simple-user/simple-user.d.ts +226 -0
  371. package/dist/types/lib/sip.js/platform/web/transport/index.d.ts +6 -0
  372. package/dist/types/lib/sip.js/platform/web/transport/transport-options.d.ts +30 -0
  373. package/dist/types/lib/sip.js/platform/web/transport/transport.d.ts +125 -0
  374. package/dist/types/lib/sip.js/version.d.ts +1 -0
  375. package/dist/types/webrtc/webrtc-method.d.ts +2 -0
  376. package/dist/types/webrtc/webrtc.d.ts +38 -0
  377. package/dist/ue-softphone-sdk.js +2 -2
  378. package/index.html/index.html +23 -9
  379. package/package.json +1 -1
  380. package/src/index.ts +33 -15
  381. package/src/lib/sip.js/api/ack.ts +15 -0
  382. package/src/lib/sip.js/api/api-extractor.json +350 -0
  383. package/src/lib/sip.js/api/bye.ts +27 -0
  384. package/src/lib/sip.js/api/dtmf.ts +27 -0
  385. package/src/lib/sip.js/api/emitter.ts +110 -0
  386. package/src/lib/sip.js/api/exceptions/content-type-unsupported.ts +11 -0
  387. package/src/lib/sip.js/api/exceptions/index.ts +5 -0
  388. package/src/lib/sip.js/api/exceptions/request-pending.ts +12 -0
  389. package/src/lib/sip.js/api/exceptions/session-description-handler.ts +11 -0
  390. package/src/lib/sip.js/api/exceptions/session-terminated.ts +11 -0
  391. package/src/lib/sip.js/api/exceptions/state-transition.ts +11 -0
  392. package/src/lib/sip.js/api/index.ts +59 -0
  393. package/src/lib/sip.js/api/info.ts +27 -0
  394. package/src/lib/sip.js/api/invitation-accept-options.ts +20 -0
  395. package/src/lib/sip.js/api/invitation-progress-options.ts +36 -0
  396. package/src/lib/sip.js/api/invitation-reject-options.ts +22 -0
  397. package/src/lib/sip.js/api/invitation.ts +815 -0
  398. package/src/lib/sip.js/api/inviter-cancel-options.ts +9 -0
  399. package/src/lib/sip.js/api/inviter-invite-options.ts +29 -0
  400. package/src/lib/sip.js/api/inviter-options.ts +44 -0
  401. package/src/lib/sip.js/api/inviter.ts +1126 -0
  402. package/src/lib/sip.js/api/message.ts +27 -0
  403. package/src/lib/sip.js/api/messager-message-options.ts +12 -0
  404. package/src/lib/sip.js/api/messager-options.ts +18 -0
  405. package/src/lib/sip.js/api/messager.ts +89 -0
  406. package/src/lib/sip.js/api/notification.ts +27 -0
  407. package/src/lib/sip.js/api/notifier.ts +7 -0
  408. package/src/lib/sip.js/api/publisher-options.ts +34 -0
  409. package/src/lib/sip.js/api/publisher-publish-options.ts +6 -0
  410. package/src/lib/sip.js/api/publisher-state.ts +21 -0
  411. package/src/lib/sip.js/api/publisher-unpublish-options.ts +6 -0
  412. package/src/lib/sip.js/api/publisher.ts +421 -0
  413. package/src/lib/sip.js/api/referral.ts +89 -0
  414. package/src/lib/sip.js/api/registerer-options.ts +55 -0
  415. package/src/lib/sip.js/api/registerer-register-options.ts +12 -0
  416. package/src/lib/sip.js/api/registerer-state.ts +21 -0
  417. package/src/lib/sip.js/api/registerer-unregister-options.ts +17 -0
  418. package/src/lib/sip.js/api/registerer.ts +819 -0
  419. package/src/lib/sip.js/api/session-bye-options.ts +12 -0
  420. package/src/lib/sip.js/api/session-delegate.ts +87 -0
  421. package/src/lib/sip.js/api/session-description-handler-factory.ts +16 -0
  422. package/src/lib/sip.js/api/session-description-handler.ts +89 -0
  423. package/src/lib/sip.js/api/session-info-options.ts +12 -0
  424. package/src/lib/sip.js/api/session-invite-options.ts +29 -0
  425. package/src/lib/sip.js/api/session-message-options.ts +12 -0
  426. package/src/lib/sip.js/api/session-options.ts +8 -0
  427. package/src/lib/sip.js/api/session-refer-options.ts +15 -0
  428. package/src/lib/sip.js/api/session-state.ts +45 -0
  429. package/src/lib/sip.js/api/session.ts +1454 -0
  430. package/src/lib/sip.js/api/subscriber-options.ts +12 -0
  431. package/src/lib/sip.js/api/subscriber-subscribe-options.ts +6 -0
  432. package/src/lib/sip.js/api/subscriber.ts +537 -0
  433. package/src/lib/sip.js/api/subscription-delegate.ts +13 -0
  434. package/src/lib/sip.js/api/subscription-options.ts +8 -0
  435. package/src/lib/sip.js/api/subscription-state.ts +19 -0
  436. package/src/lib/sip.js/api/subscription-subscribe-options.ts +6 -0
  437. package/src/lib/sip.js/api/subscription-unsubscribe-options.ts +6 -0
  438. package/src/lib/sip.js/api/subscription.ts +161 -0
  439. package/src/lib/sip.js/api/transport-state.ts +37 -0
  440. package/src/lib/sip.js/api/transport.ts +169 -0
  441. package/src/lib/sip.js/api/user-agent-delegate.ts +95 -0
  442. package/src/lib/sip.js/api/user-agent-options.ts +322 -0
  443. package/src/lib/sip.js/api/user-agent-state.ts +14 -0
  444. package/src/lib/sip.js/api/user-agent.ts +1013 -0
  445. package/src/lib/sip.js/core/api-extractor.json +350 -0
  446. package/src/lib/sip.js/core/dialogs/dialog-state.ts +35 -0
  447. package/src/lib/sip.js/core/dialogs/dialog.ts +605 -0
  448. package/src/lib/sip.js/core/dialogs/index.ts +4 -0
  449. package/src/lib/sip.js/core/dialogs/session-dialog.ts +997 -0
  450. package/src/lib/sip.js/core/dialogs/subscription-dialog.ts +558 -0
  451. package/src/lib/sip.js/core/exceptions/exception.ts +11 -0
  452. package/src/lib/sip.js/core/exceptions/index.ts +3 -0
  453. package/src/lib/sip.js/core/exceptions/transaction-state-error.ts +11 -0
  454. package/src/lib/sip.js/core/exceptions/transport-error.ts +11 -0
  455. package/src/lib/sip.js/core/index.ts +19 -0
  456. package/src/lib/sip.js/core/log/index.ts +3 -0
  457. package/src/lib/sip.js/core/log/levels.ts +10 -0
  458. package/src/lib/sip.js/core/log/logger-factory.ts +119 -0
  459. package/src/lib/sip.js/core/log/logger.ts +42 -0
  460. package/src/lib/sip.js/core/messages/body.ts +171 -0
  461. package/src/lib/sip.js/core/messages/digest-authentication.ts +190 -0
  462. package/src/lib/sip.js/core/messages/incoming-message.ts +152 -0
  463. package/src/lib/sip.js/core/messages/incoming-request-message.ts +14 -0
  464. package/src/lib/sip.js/core/messages/incoming-request.ts +75 -0
  465. package/src/lib/sip.js/core/messages/incoming-response-message.ts +14 -0
  466. package/src/lib/sip.js/core/messages/incoming-response.ts +13 -0
  467. package/src/lib/sip.js/core/messages/index.ts +18 -0
  468. package/src/lib/sip.js/core/messages/md5.ts +437 -0
  469. package/src/lib/sip.js/core/messages/methods/ack.ts +22 -0
  470. package/src/lib/sip.js/core/messages/methods/bye.ts +22 -0
  471. package/src/lib/sip.js/core/messages/methods/cancel.ts +22 -0
  472. package/src/lib/sip.js/core/messages/methods/constants.ts +21 -0
  473. package/src/lib/sip.js/core/messages/methods/index.ts +13 -0
  474. package/src/lib/sip.js/core/messages/methods/info.ts +22 -0
  475. package/src/lib/sip.js/core/messages/methods/invite.ts +104 -0
  476. package/src/lib/sip.js/core/messages/methods/message.ts +22 -0
  477. package/src/lib/sip.js/core/messages/methods/notify.ts +22 -0
  478. package/src/lib/sip.js/core/messages/methods/prack.ts +22 -0
  479. package/src/lib/sip.js/core/messages/methods/publish.ts +22 -0
  480. package/src/lib/sip.js/core/messages/methods/refer.ts +22 -0
  481. package/src/lib/sip.js/core/messages/methods/register.ts +22 -0
  482. package/src/lib/sip.js/core/messages/methods/subscribe.ts +59 -0
  483. package/src/lib/sip.js/core/messages/outgoing-request-message.ts +299 -0
  484. package/src/lib/sip.js/core/messages/outgoing-request.ts +77 -0
  485. package/src/lib/sip.js/core/messages/outgoing-response.ts +174 -0
  486. package/src/lib/sip.js/core/messages/parser.ts +265 -0
  487. package/src/lib/sip.js/core/messages/utils.ts +144 -0
  488. package/src/lib/sip.js/core/session/index.ts +2 -0
  489. package/src/lib/sip.js/core/session/session-delegate.ts +88 -0
  490. package/src/lib/sip.js/core/session/session.ts +158 -0
  491. package/src/lib/sip.js/core/subscription/index.ts +2 -0
  492. package/src/lib/sip.js/core/subscription/subscription-delegate.ts +30 -0
  493. package/src/lib/sip.js/core/subscription/subscription.ts +61 -0
  494. package/src/lib/sip.js/core/timers.ts +24 -0
  495. package/src/lib/sip.js/core/transactions/client-transaction.ts +78 -0
  496. package/src/lib/sip.js/core/transactions/index.ts +10 -0
  497. package/src/lib/sip.js/core/transactions/invite-client-transaction.ts +505 -0
  498. package/src/lib/sip.js/core/transactions/invite-server-transaction.ts +433 -0
  499. package/src/lib/sip.js/core/transactions/non-invite-client-transaction.ts +258 -0
  500. package/src/lib/sip.js/core/transactions/non-invite-server-transaction.ts +242 -0
  501. package/src/lib/sip.js/core/transactions/server-transaction.ts +47 -0
  502. package/src/lib/sip.js/core/transactions/transaction-state.ts +13 -0
  503. package/src/lib/sip.js/core/transactions/transaction-user.ts +82 -0
  504. package/src/lib/sip.js/core/transactions/transaction.ts +149 -0
  505. package/src/lib/sip.js/core/transport.ts +32 -0
  506. package/src/lib/sip.js/core/user-agent-core/allowed-methods.ts +19 -0
  507. package/src/lib/sip.js/core/user-agent-core/index.ts +3 -0
  508. package/src/lib/sip.js/core/user-agent-core/user-agent-core-configuration.ts +111 -0
  509. package/src/lib/sip.js/core/user-agent-core/user-agent-core-delegate.ts +50 -0
  510. package/src/lib/sip.js/core/user-agent-core/user-agent-core.ts +905 -0
  511. package/src/lib/sip.js/core/user-agents/bye-user-agent-client.ts +16 -0
  512. package/src/lib/sip.js/core/user-agents/bye-user-agent-server.ts +14 -0
  513. package/src/lib/sip.js/core/user-agents/cancel-user-agent-client.ts +14 -0
  514. package/src/lib/sip.js/core/user-agents/index.ts +26 -0
  515. package/src/lib/sip.js/core/user-agents/info-user-agent-client.ts +15 -0
  516. package/src/lib/sip.js/core/user-agents/info-user-agent-server.ts +14 -0
  517. package/src/lib/sip.js/core/user-agents/invite-user-agent-client.ts +406 -0
  518. package/src/lib/sip.js/core/user-agents/invite-user-agent-server.ts +269 -0
  519. package/src/lib/sip.js/core/user-agents/message-user-agent-client.ts +14 -0
  520. package/src/lib/sip.js/core/user-agents/message-user-agent-server.ts +14 -0
  521. package/src/lib/sip.js/core/user-agents/notify-user-agent-client.ts +15 -0
  522. package/src/lib/sip.js/core/user-agents/notify-user-agent-server.ts +30 -0
  523. package/src/lib/sip.js/core/user-agents/prack-user-agent-client.ts +16 -0
  524. package/src/lib/sip.js/core/user-agents/prack-user-agent-server.ts +37 -0
  525. package/src/lib/sip.js/core/user-agents/publish-user-agent-client.ts +14 -0
  526. package/src/lib/sip.js/core/user-agents/re-invite-user-agent-client.ts +128 -0
  527. package/src/lib/sip.js/core/user-agents/re-invite-user-agent-server.ts +109 -0
  528. package/src/lib/sip.js/core/user-agents/re-subscribe-user-agent-client.ts +78 -0
  529. package/src/lib/sip.js/core/user-agents/re-subscribe-user-agent-server.ts +14 -0
  530. package/src/lib/sip.js/core/user-agents/refer-user-agent-client.ts +15 -0
  531. package/src/lib/sip.js/core/user-agents/refer-user-agent-server.ts +30 -0
  532. package/src/lib/sip.js/core/user-agents/register-user-agent-client.ts +14 -0
  533. package/src/lib/sip.js/core/user-agents/register-user-agent-server.ts +14 -0
  534. package/src/lib/sip.js/core/user-agents/subscribe-user-agent-client.ts +342 -0
  535. package/src/lib/sip.js/core/user-agents/subscribe-user-agent-server.ts +14 -0
  536. package/src/lib/sip.js/core/user-agents/user-agent-client.ts +378 -0
  537. package/src/lib/sip.js/core/user-agents/user-agent-server.ts +276 -0
  538. package/src/lib/sip.js/grammar/grammar.ts +55 -0
  539. package/src/lib/sip.js/grammar/index.ts +4 -0
  540. package/src/lib/sip.js/grammar/name-addr-header.ts +58 -0
  541. package/src/lib/sip.js/grammar/parameters.ts +45 -0
  542. package/src/lib/sip.js/grammar/pegjs/README.md +9 -0
  543. package/src/lib/sip.js/grammar/pegjs/dist/grammar.ts +1557 -0
  544. package/src/lib/sip.js/grammar/pegjs/src/grammar.pegjs +1009 -0
  545. package/src/lib/sip.js/grammar/uri.ts +370 -0
  546. package/src/lib/sip.js/index.ts +20 -0
  547. package/src/lib/sip.js/platform/react/README.md +1 -0
  548. package/src/lib/sip.js/platform/web/index.ts +4 -0
  549. package/src/lib/sip.js/platform/web/modifiers/index.ts +5 -0
  550. package/src/lib/sip.js/platform/web/modifiers/modifiers.ts +180 -0
  551. package/src/lib/sip.js/platform/web/session-description-handler/api-extractor.json +350 -0
  552. package/src/lib/sip.js/platform/web/session-description-handler/index.ts +14 -0
  553. package/src/lib/sip.js/platform/web/session-description-handler/media-stream-factory-default.ts +22 -0
  554. package/src/lib/sip.js/platform/web/session-description-handler/media-stream-factory.ts +10 -0
  555. package/src/lib/sip.js/platform/web/session-description-handler/peer-connection-configuration-default.ts +17 -0
  556. package/src/lib/sip.js/platform/web/session-description-handler/peer-connection-delegate.ts +72 -0
  557. package/src/lib/sip.js/platform/web/session-description-handler/session-description-handler-configuration.ts +17 -0
  558. package/src/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory-default.ts +45 -0
  559. package/src/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory-options.ts +10 -0
  560. package/src/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory.ts +17 -0
  561. package/src/lib/sip.js/platform/web/session-description-handler/session-description-handler-options.ts +56 -0
  562. package/src/lib/sip.js/platform/web/session-description-handler/session-description-handler.ts +938 -0
  563. package/src/lib/sip.js/platform/web/simple-user/api-extractor.json +350 -0
  564. package/src/lib/sip.js/platform/web/simple-user/index.ts +7 -0
  565. package/src/lib/sip.js/platform/web/simple-user/simple-user-delegate.ts +82 -0
  566. package/src/lib/sip.js/platform/web/simple-user/simple-user-options.ts +102 -0
  567. package/src/lib/sip.js/platform/web/simple-user/simple-user.ts +1099 -0
  568. package/src/lib/sip.js/platform/web/transport/api-extractor.json +350 -0
  569. package/src/lib/sip.js/platform/web/transport/index.ts +6 -0
  570. package/src/lib/sip.js/platform/web/transport/transport-options.ts +34 -0
  571. package/src/lib/sip.js/platform/web/transport/transport.ts +743 -0
  572. package/src/lib/sip.js/version.ts +1 -0
  573. package/src/webrtc/webrtc-method.ts +49 -0
  574. package/src/webrtc/webrtc.ts +350 -0
  575. package/sdkdemo/hangup.wav +0 -0
  576. package/sdkdemo/img/wifi1.b7af5ed5.svg +0 -10
  577. package/sdkdemo/img/wifi2.1648a543.svg +0 -4
  578. package/sdkdemo/img/wifi3.ec030889.svg +0 -4
  579. package/sdkdemo/img/wifi4.101d572a.svg +0 -4
  580. package/sdkdemo/ring.wav +0 -0
  581. package/sdkdemo/ue-load.min.js +0 -119
  582. package/sdkdemo/ue.global.js +0 -15361
  583. package/sdkdemo/ue.lib.css +0 -1
  584. package/sdkdemo/ue.min.js +0 -49
  585. package/sdkdemo/webphone_ez.html +0 -76
@@ -0,0 +1,27 @@
1
+ import { IncomingMessageRequest, IncomingRequestMessage, ResponseOptions } from "../core";
2
+
3
+ /**
4
+ * A received message (incoming MESSAGE).
5
+ * @public
6
+ */
7
+ export class Message {
8
+ /** @internal */
9
+ public constructor(private incomingMessageRequest: IncomingMessageRequest) {}
10
+
11
+ /** Incoming MESSAGE request message. */
12
+ public get request(): IncomingRequestMessage {
13
+ return this.incomingMessageRequest.message;
14
+ }
15
+
16
+ /** Accept the request. */
17
+ public accept(options?: ResponseOptions): Promise<void> {
18
+ this.incomingMessageRequest.accept(options);
19
+ return Promise.resolve();
20
+ }
21
+
22
+ /** Reject the request. */
23
+ public reject(options?: ResponseOptions): Promise<void> {
24
+ this.incomingMessageRequest.reject(options);
25
+ return Promise.resolve();
26
+ }
27
+ }
@@ -0,0 +1,12 @@
1
+ import { OutgoingRequestDelegate, RequestOptions } from "../core";
2
+
3
+ /**
4
+ * Options for {@link Messager.message}.
5
+ * @public
6
+ */
7
+ export interface MessagerMessageOptions {
8
+ /** See `core` API. */
9
+ requestDelegate?: OutgoingRequestDelegate;
10
+ /** See `core` API. */
11
+ requestOptions?: RequestOptions;
12
+ }
@@ -0,0 +1,18 @@
1
+ import { URI } from "../core";
2
+
3
+ /**
4
+ * Options for {@link Messager} constructor.
5
+ * @public
6
+ */
7
+ export interface MessagerOptions {
8
+ /** Array of extra headers added to the MESSAGE. */
9
+ extraHeaders?: Array<string>;
10
+ /** @deprecated TODO: provide alternative. */
11
+ params?: {
12
+ fromDisplayName?: string;
13
+ fromTag?: string;
14
+ fromUri?: string | URI;
15
+ toDisplayName?: string;
16
+ toUri?: string | URI;
17
+ };
18
+ }
@@ -0,0 +1,89 @@
1
+ import { Body, C, Grammar, Logger, OutgoingRequestMessage, URI } from "../core";
2
+ import { MessagerMessageOptions } from "./messager-message-options";
3
+ import { MessagerOptions } from "./messager-options";
4
+ import { UserAgent } from "./user-agent";
5
+
6
+ /**
7
+ * A messager sends a {@link Message} (outgoing MESSAGE).
8
+ * @public
9
+ */
10
+ export class Messager {
11
+ private logger: Logger;
12
+ private request: OutgoingRequestMessage;
13
+ private userAgent: UserAgent;
14
+
15
+ /**
16
+ * Constructs a new instance of the `Messager` class.
17
+ * @param userAgent - User agent. See {@link UserAgent} for details.
18
+ * @param targetURI - Request URI identifying the target of the message.
19
+ * @param content - Content for the body of the message.
20
+ * @param contentType - Content type of the body of the message.
21
+ * @param options - Options bucket. See {@link MessagerOptions} for details.
22
+ */
23
+ public constructor(
24
+ userAgent: UserAgent,
25
+ targetURI: URI,
26
+ content: string,
27
+ contentType = "text/plain",
28
+ options: MessagerOptions = {}
29
+ ) {
30
+ // Logger
31
+ this.logger = userAgent.getLogger("sip.Messager");
32
+
33
+ // Default options params
34
+ options.params = options.params || {};
35
+
36
+ // URIs
37
+ let fromURI: URI | undefined = userAgent.userAgentCore.configuration.aor;
38
+ if (options.params.fromUri) {
39
+ fromURI =
40
+ typeof options.params.fromUri === "string" ? Grammar.URIParse(options.params.fromUri) : options.params.fromUri;
41
+ }
42
+ if (!fromURI) {
43
+ throw new TypeError("Invalid from URI: " + options.params.fromUri);
44
+ }
45
+ let toURI: URI | undefined = targetURI;
46
+ if (options.params.toUri) {
47
+ toURI = typeof options.params.toUri === "string" ? Grammar.URIParse(options.params.toUri) : options.params.toUri;
48
+ }
49
+ if (!toURI) {
50
+ throw new TypeError("Invalid to URI: " + options.params.toUri);
51
+ }
52
+
53
+ // Message params
54
+ const params = options.params ? { ...options.params } : {};
55
+
56
+ // Extra headers
57
+ const extraHeaders = (options.extraHeaders || []).slice();
58
+
59
+ // Body
60
+ const contentDisposition = "render";
61
+ const body: Body = {
62
+ contentDisposition,
63
+ contentType,
64
+ content
65
+ };
66
+
67
+ // Build the request
68
+ this.request = userAgent.userAgentCore.makeOutgoingRequestMessage(
69
+ C.MESSAGE,
70
+ targetURI,
71
+ fromURI,
72
+ toURI,
73
+ params,
74
+ extraHeaders,
75
+ body
76
+ );
77
+
78
+ // User agent
79
+ this.userAgent = userAgent;
80
+ }
81
+
82
+ /**
83
+ * Send the message.
84
+ */
85
+ public message(options: MessagerMessageOptions = {}): Promise<void> {
86
+ this.userAgent.userAgentCore.request(this.request, options.requestDelegate);
87
+ return Promise.resolve();
88
+ }
89
+ }
@@ -0,0 +1,27 @@
1
+ import { IncomingNotifyRequest, IncomingRequestMessage, ResponseOptions } from "../core";
2
+
3
+ /**
4
+ * A notification of an event (incoming NOTIFY).
5
+ * @public
6
+ */
7
+ export class Notification {
8
+ /** @internal */
9
+ public constructor(private incomingNotifyRequest: IncomingNotifyRequest) {}
10
+
11
+ /** Incoming NOTIFY request message. */
12
+ public get request(): IncomingRequestMessage {
13
+ return this.incomingNotifyRequest.message;
14
+ }
15
+
16
+ /** Accept the request. */
17
+ public accept(options?: ResponseOptions): Promise<void> {
18
+ this.incomingNotifyRequest.accept(options);
19
+ return Promise.resolve();
20
+ }
21
+
22
+ /** Reject the request. */
23
+ public reject(options?: ResponseOptions): Promise<void> {
24
+ this.incomingNotifyRequest.reject(options);
25
+ return Promise.resolve();
26
+ }
27
+ }
@@ -0,0 +1,7 @@
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 class Notifier {}
@@ -0,0 +1,34 @@
1
+ import { URI } from "../core";
2
+
3
+ /**
4
+ * Options for {@link Publisher} constructor.
5
+ * @public
6
+ */
7
+ export interface PublisherOptions {
8
+ /** @deprecated TODO: provide alternative. */
9
+ body?: string;
10
+ /** @deprecated TODO: provide alternative. */
11
+ contentType?: string;
12
+ /**
13
+ * Expire value for the published event.
14
+ * @defaultValue 3600
15
+ */
16
+ expires?: number;
17
+ /**
18
+ * Array of extra headers added to the PUBLISH request message.
19
+ */
20
+ extraHeaders?: Array<string>;
21
+ /** @deprecated TODO: provide alternative. */
22
+ params?: {
23
+ fromDisplayName?: string;
24
+ fromTag?: string;
25
+ fromUri?: URI;
26
+ toDisplayName?: string;
27
+ toUri?: URI;
28
+ };
29
+ /**
30
+ * If set true, UA will gracefully unpublish for the event on UA close.
31
+ * @defaultValue true
32
+ */
33
+ unpublishOnClose?: boolean;
34
+ }
@@ -0,0 +1,6 @@
1
+ /* eslint-disable @typescript-eslint/no-empty-interface */
2
+ /**
3
+ * Options for {@link Publisher.publish}.
4
+ * @public
5
+ */
6
+ export interface PublisherPublishOptions {}
@@ -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 enum PublisherState {
17
+ Initial = "Initial",
18
+ Published = "Published",
19
+ Unpublished = "Unpublished",
20
+ Terminated = "Terminated"
21
+ }
@@ -0,0 +1,6 @@
1
+ /* eslint-disable @typescript-eslint/no-empty-interface */
2
+ /**
3
+ * Options for {@link Publisher.unpublish}.
4
+ * @public
5
+ */
6
+ export interface PublisherUnpublishOptions {}
@@ -0,0 +1,421 @@
1
+ // @ts-nocheck
2
+ import {
3
+ Body,
4
+ C,
5
+ fromBodyLegacy,
6
+ IncomingResponseMessage,
7
+ Logger,
8
+ OutgoingPublishRequest,
9
+ OutgoingRequestMessage,
10
+ URI
11
+ } from '../core'
12
+ import { Emitter, EmitterImpl } from './emitter'
13
+ import { PublisherOptions } from './publisher-options'
14
+ import { PublisherPublishOptions } from './publisher-publish-options'
15
+ import { PublisherState } from './publisher-state'
16
+ import { PublisherUnpublishOptions } from './publisher-unpublish-options'
17
+ import { BodyAndContentType } from './session-description-handler'
18
+ import { UserAgent } from './user-agent'
19
+
20
+ /**
21
+ * A publisher publishes a publication (outgoing PUBLISH).
22
+ * @public
23
+ */
24
+ export class Publisher {
25
+ private event: string
26
+ private options: PublisherOptions
27
+ private target: URI
28
+ private pubRequestBody: string | undefined
29
+ private pubRequestExpires: number
30
+ private pubRequestEtag: string | undefined
31
+ private publishRefreshTimer: number | undefined
32
+
33
+ private disposed = false
34
+ private id: string
35
+ private logger: Logger
36
+ private request: OutgoingRequestMessage
37
+ private userAgent: UserAgent
38
+
39
+ /** The publication state. */
40
+ private _state: PublisherState = PublisherState.Initial
41
+ /** Emits when the registration state changes. */
42
+ private _stateEventEmitter: EmitterImpl<PublisherState>
43
+
44
+ /**
45
+ * Constructs a new instance of the `Publisher` class.
46
+ *
47
+ * @param userAgent - User agent. See {@link UserAgent} for details.
48
+ * @param targetURI - Request URI identifying the target of the message.
49
+ * @param eventType - The event type identifying the published document.
50
+ * @param options - Options bucket. See {@link PublisherOptions} for details.
51
+ */
52
+ public constructor(userAgent: UserAgent, targetURI: URI, eventType: string, options: PublisherOptions = {}) {
53
+ // state emitter
54
+ this._stateEventEmitter = new EmitterImpl<PublisherState>()
55
+
56
+ this.userAgent = userAgent
57
+
58
+ options.extraHeaders = (options.extraHeaders || []).slice()
59
+ options.contentType = options.contentType || 'text/plain'
60
+
61
+ if (typeof options.expires !== 'number' || options.expires % 1 !== 0) {
62
+ options.expires = 3600
63
+ } else {
64
+ options.expires = Number(options.expires)
65
+ }
66
+
67
+ if (typeof options.unpublishOnClose !== 'boolean') {
68
+ options.unpublishOnClose = true
69
+ }
70
+
71
+ this.target = targetURI
72
+ this.event = eventType
73
+ this.options = options
74
+ this.pubRequestExpires = options.expires
75
+
76
+ this.logger = userAgent.getLogger('sip.Publisher')
77
+
78
+ const params = options.params || {}
79
+ const fromURI = params.fromUri ? params.fromUri : userAgent.userAgentCore.configuration.aor
80
+ const toURI = params.toUri ? params.toUri : targetURI
81
+ let body: Body | undefined
82
+ if (options.body && options.contentType) {
83
+ const contentDisposition = 'render'
84
+ const contentType = options.contentType
85
+ const content = options.body
86
+ body = {
87
+ contentDisposition,
88
+ contentType,
89
+ content
90
+ }
91
+ }
92
+ const extraHeaders = (options.extraHeaders || []).slice()
93
+
94
+ // Build the request
95
+ this.request = userAgent.userAgentCore.makeOutgoingRequestMessage(
96
+ C.PUBLISH,
97
+ targetURI,
98
+ fromURI,
99
+ toURI,
100
+ params,
101
+ extraHeaders,
102
+ body
103
+ )
104
+
105
+ // Identifier
106
+ this.id = this.target.toString() + ':' + this.event
107
+
108
+ // Add to the user agent's publisher collection.
109
+ this.userAgent._publishers[this.id] = this
110
+ }
111
+
112
+ /**
113
+ * Destructor.
114
+ */
115
+ public dispose(): Promise<void> {
116
+ if (this.disposed) {
117
+ return Promise.resolve()
118
+ }
119
+ this.disposed = true
120
+ this.logger.log(`Publisher ${this.id} in state ${this.state} is being disposed`)
121
+
122
+ // Remove from the user agent's publisher collection
123
+ delete this.userAgent._publishers[this.id]
124
+
125
+ // Send unpublish, if requested
126
+ if (this.options.unpublishOnClose && this.state === PublisherState.Published) {
127
+ return this.unpublish()
128
+ }
129
+
130
+ if (this.publishRefreshTimer) {
131
+ clearTimeout(this.publishRefreshTimer)
132
+ this.publishRefreshTimer = undefined
133
+ }
134
+
135
+ this.pubRequestBody = undefined
136
+ this.pubRequestExpires = 0
137
+ this.pubRequestEtag = undefined
138
+
139
+ return Promise.resolve()
140
+ }
141
+
142
+ /** The publication state. */
143
+ public get state(): PublisherState {
144
+ return this._state
145
+ }
146
+
147
+ /** Emits when the publisher state changes. */
148
+ public get stateChange(): Emitter<PublisherState> {
149
+ return this._stateEventEmitter
150
+ }
151
+
152
+ /**
153
+ * Publish.
154
+ * @param content - Body to publish
155
+ */
156
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
157
+ public publish(content: string, options: PublisherPublishOptions = {}): Promise<void> {
158
+ // Clean up before the run
159
+ if (this.publishRefreshTimer) {
160
+ clearTimeout(this.publishRefreshTimer)
161
+ this.publishRefreshTimer = undefined
162
+ }
163
+
164
+ // is Initial or Modify request
165
+ this.options.body = content
166
+ this.pubRequestBody = this.options.body
167
+
168
+ if (this.pubRequestExpires === 0) {
169
+ // This is Initial request after unpublish
170
+ if (this.options.expires === undefined) {
171
+ throw new Error('Expires undefined.')
172
+ }
173
+ this.pubRequestExpires = this.options.expires
174
+ this.pubRequestEtag = undefined
175
+ }
176
+
177
+ this.sendPublishRequest()
178
+
179
+ return Promise.resolve()
180
+ }
181
+
182
+ /**
183
+ * Unpublish.
184
+ */
185
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
186
+ public unpublish(options: PublisherUnpublishOptions = {}): Promise<void> {
187
+ // Clean up before the run
188
+ if (this.publishRefreshTimer) {
189
+ clearTimeout(this.publishRefreshTimer)
190
+ this.publishRefreshTimer = undefined
191
+ }
192
+
193
+ this.pubRequestBody = undefined
194
+ this.pubRequestExpires = 0
195
+
196
+ if (this.pubRequestEtag !== undefined) {
197
+ this.sendPublishRequest()
198
+ }
199
+
200
+ return Promise.resolve()
201
+ }
202
+
203
+ /** @internal */
204
+ protected receiveResponse(response: IncomingResponseMessage): void {
205
+ const statusCode: number = response.statusCode || 0
206
+
207
+ switch (true) {
208
+ case /^1[0-9]{2}$/.test(statusCode.toString()):
209
+ break
210
+ case /^2[0-9]{2}$/.test(statusCode.toString()):
211
+ // Set SIP-Etag
212
+ if (response.hasHeader('SIP-ETag')) {
213
+ this.pubRequestEtag = response.getHeader('SIP-ETag')
214
+ } else {
215
+ this.logger.warn('SIP-ETag header missing in a 200-class response to PUBLISH')
216
+ }
217
+
218
+ // Update Expire
219
+ if (response.hasHeader('Expires')) {
220
+ const expires = Number(response.getHeader('Expires'))
221
+ if (typeof expires === 'number' && expires >= 0 && expires <= this.pubRequestExpires) {
222
+ this.pubRequestExpires = expires
223
+ } else {
224
+ this.logger.warn('Bad Expires header in a 200-class response to PUBLISH')
225
+ }
226
+ } else {
227
+ this.logger.warn('Expires header missing in a 200-class response to PUBLISH')
228
+ }
229
+
230
+ if (this.pubRequestExpires !== 0) {
231
+ // Schedule refresh
232
+ this.publishRefreshTimer = setTimeout(() => this.refreshRequest(), this.pubRequestExpires * 900)
233
+ if (this._state !== PublisherState.Published) {
234
+ this.stateTransition(PublisherState.Published)
235
+ }
236
+ } else {
237
+ this.stateTransition(PublisherState.Unpublished)
238
+ }
239
+ break
240
+ case /^412$/.test(statusCode.toString()):
241
+ // 412 code means no matching ETag - possibly the PUBLISH expired
242
+ // Resubmit as new request, if the current request is not a "remove"
243
+
244
+ if (this.pubRequestEtag !== undefined && this.pubRequestExpires !== 0) {
245
+ this.logger.warn('412 response to PUBLISH, recovering')
246
+ this.pubRequestEtag = undefined
247
+ if (this.options.body === undefined) {
248
+ throw new Error('Body undefined.')
249
+ }
250
+ this.publish(this.options.body)
251
+ } else {
252
+ this.logger.warn('412 response to PUBLISH, recovery failed')
253
+ this.pubRequestExpires = 0
254
+ this.stateTransition(PublisherState.Unpublished)
255
+ this.stateTransition(PublisherState.Terminated)
256
+ }
257
+ break
258
+ case /^423$/.test(statusCode.toString()):
259
+ // 423 code means we need to adjust the Expires interval up
260
+ if (this.pubRequestExpires !== 0 && response.hasHeader('Min-Expires')) {
261
+ const minExpires = Number(response.getHeader('Min-Expires'))
262
+ if (typeof minExpires === 'number' || minExpires > this.pubRequestExpires) {
263
+ this.logger.warn('423 code in response to PUBLISH, adjusting the Expires value and trying to recover')
264
+ this.pubRequestExpires = minExpires
265
+ if (this.options.body === undefined) {
266
+ throw new Error('Body undefined.')
267
+ }
268
+ this.publish(this.options.body)
269
+ } else {
270
+ this.logger.warn('Bad 423 response Min-Expires header received for PUBLISH')
271
+ this.pubRequestExpires = 0
272
+ this.stateTransition(PublisherState.Unpublished)
273
+ this.stateTransition(PublisherState.Terminated)
274
+ }
275
+ } else {
276
+ this.logger.warn('423 response to PUBLISH, recovery failed')
277
+ this.pubRequestExpires = 0
278
+ this.stateTransition(PublisherState.Unpublished)
279
+ this.stateTransition(PublisherState.Terminated)
280
+ }
281
+ break
282
+ default:
283
+ this.pubRequestExpires = 0
284
+ this.stateTransition(PublisherState.Unpublished)
285
+ this.stateTransition(PublisherState.Terminated)
286
+ break
287
+ }
288
+
289
+ // Do the cleanup
290
+ if (this.pubRequestExpires === 0) {
291
+ if (this.publishRefreshTimer) {
292
+ clearTimeout(this.publishRefreshTimer)
293
+ this.publishRefreshTimer = undefined
294
+ }
295
+
296
+ this.pubRequestBody = undefined
297
+ this.pubRequestEtag = undefined
298
+ }
299
+ }
300
+
301
+ /** @internal */
302
+ protected send(): OutgoingPublishRequest {
303
+ return this.userAgent.userAgentCore.publish(this.request, {
304
+ onAccept: (response): void => this.receiveResponse(response.message),
305
+ onProgress: (response): void => this.receiveResponse(response.message),
306
+ onRedirect: (response): void => this.receiveResponse(response.message),
307
+ onReject: (response): void => this.receiveResponse(response.message),
308
+ onTrying: (response): void => this.receiveResponse(response.message)
309
+ })
310
+ }
311
+
312
+ private refreshRequest(): void {
313
+ // Clean up before the run
314
+ if (this.publishRefreshTimer) {
315
+ clearTimeout(this.publishRefreshTimer)
316
+ this.publishRefreshTimer = undefined
317
+ }
318
+
319
+ // This is Refresh request
320
+ this.pubRequestBody = undefined
321
+
322
+ if (this.pubRequestEtag === undefined) {
323
+ throw new Error('Etag undefined')
324
+ }
325
+
326
+ if (this.pubRequestExpires === 0) {
327
+ throw new Error('Expires zero')
328
+ }
329
+
330
+ this.sendPublishRequest()
331
+ }
332
+
333
+ private sendPublishRequest(): OutgoingPublishRequest {
334
+ const reqOptions = { ...this.options }
335
+
336
+ reqOptions.extraHeaders = (this.options.extraHeaders || []).slice()
337
+
338
+ reqOptions.extraHeaders.push('Event: ' + this.event)
339
+ reqOptions.extraHeaders.push('Expires: ' + this.pubRequestExpires)
340
+
341
+ if (this.pubRequestEtag !== undefined) {
342
+ reqOptions.extraHeaders.push('SIP-If-Match: ' + this.pubRequestEtag)
343
+ }
344
+
345
+ const ruri = this.target
346
+ const params = this.options.params || {}
347
+ let bodyAndContentType: BodyAndContentType | undefined
348
+ if (this.pubRequestBody !== undefined) {
349
+ if (this.options.contentType === undefined) {
350
+ throw new Error('Content type undefined.')
351
+ }
352
+ bodyAndContentType = {
353
+ body: this.pubRequestBody,
354
+ contentType: this.options.contentType
355
+ }
356
+ }
357
+ let body: Body | undefined
358
+ if (bodyAndContentType) {
359
+ body = fromBodyLegacy(bodyAndContentType)
360
+ }
361
+
362
+ this.request = this.userAgent.userAgentCore.makeOutgoingRequestMessage(
363
+ C.PUBLISH,
364
+ ruri,
365
+ params.fromUri ? params.fromUri : this.userAgent.userAgentCore.configuration.aor,
366
+ params.toUri ? params.toUri : this.target,
367
+ params,
368
+ reqOptions.extraHeaders,
369
+ body
370
+ )
371
+
372
+ return this.send()
373
+ }
374
+
375
+ /**
376
+ * Transition publication state.
377
+ */
378
+ private stateTransition(newState: PublisherState): void {
379
+ const invalidTransition = (): void => {
380
+ throw new Error(`Invalid state transition from ${this._state} to ${newState}`)
381
+ }
382
+
383
+ // Validate transition
384
+ switch (this._state) {
385
+ case PublisherState.Initial:
386
+ if (
387
+ newState !== PublisherState.Published &&
388
+ newState !== PublisherState.Unpublished &&
389
+ newState !== PublisherState.Terminated
390
+ ) {
391
+ invalidTransition()
392
+ }
393
+ break
394
+ case PublisherState.Published:
395
+ if (newState !== PublisherState.Unpublished && newState !== PublisherState.Terminated) {
396
+ invalidTransition()
397
+ }
398
+ break
399
+ case PublisherState.Unpublished:
400
+ if (newState !== PublisherState.Published && newState !== PublisherState.Terminated) {
401
+ invalidTransition()
402
+ }
403
+ break
404
+ case PublisherState.Terminated:
405
+ invalidTransition()
406
+ break
407
+ default:
408
+ throw new Error('Unrecognized state.')
409
+ }
410
+
411
+ // Transition
412
+ this._state = newState
413
+ this.logger.log(`Publication transitioned to state ${this._state}`)
414
+ this._stateEventEmitter.emit(this._state)
415
+
416
+ // Dispose
417
+ if (newState === PublisherState.Terminated) {
418
+ this.dispose()
419
+ }
420
+ }
421
+ }