ue-softphone-sdk 4.0.0 → 4.0.1

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 (394) hide show
  1. package/dist/lib/ue-soft-phone.min.js +1 -1
  2. package/dist/ue-softphone-sdk.js +1 -1
  3. package/package.json +4 -1
  4. package/.babelrc +0 -12
  5. package/.gitlab-ci.yml +0 -3
  6. package/Dockerfile +0 -17
  7. package/dist/lib/types/lib/sip.js/api/ack.d.ts +0 -12
  8. package/dist/lib/types/lib/sip.js/api/bye.d.ts +0 -16
  9. package/dist/lib/types/lib/sip.js/api/dtmf.d.ts +0 -15
  10. package/dist/lib/types/lib/sip.js/api/emitter.d.ts +0 -88
  11. package/dist/lib/types/lib/sip.js/api/exceptions/content-type-unsupported.d.ts +0 -8
  12. package/dist/lib/types/lib/sip.js/api/exceptions/index.d.ts +0 -5
  13. package/dist/lib/types/lib/sip.js/api/exceptions/request-pending.d.ts +0 -9
  14. package/dist/lib/types/lib/sip.js/api/exceptions/session-description-handler.d.ts +0 -8
  15. package/dist/lib/types/lib/sip.js/api/exceptions/session-terminated.d.ts +0 -8
  16. package/dist/lib/types/lib/sip.js/api/exceptions/state-transition.d.ts +0 -8
  17. package/dist/lib/types/lib/sip.js/api/index.d.ts +0 -59
  18. package/dist/lib/types/lib/sip.js/api/info.d.ts +0 -16
  19. package/dist/lib/types/lib/sip.js/api/invitation-accept-options.d.ts +0 -19
  20. package/dist/lib/types/lib/sip.js/api/invitation-progress-options.d.ts +0 -38
  21. package/dist/lib/types/lib/sip.js/api/invitation-reject-options.d.ts +0 -25
  22. package/dist/lib/types/lib/sip.js/api/invitation.d.ts +0 -179
  23. package/dist/lib/types/lib/sip.js/api/inviter-cancel-options.d.ts +0 -9
  24. package/dist/lib/types/lib/sip.js/api/inviter-invite-options.d.ts +0 -28
  25. package/dist/lib/types/lib/sip.js/api/inviter-options.d.ts +0 -43
  26. package/dist/lib/types/lib/sip.js/api/inviter.d.ts +0 -236
  27. package/dist/lib/types/lib/sip.js/api/message.d.ts +0 -16
  28. package/dist/lib/types/lib/sip.js/api/messager-message-options.d.ts +0 -11
  29. package/dist/lib/types/lib/sip.js/api/messager-options.d.ts +0 -17
  30. package/dist/lib/types/lib/sip.js/api/messager.d.ts +0 -26
  31. package/dist/lib/types/lib/sip.js/api/notification.d.ts +0 -16
  32. package/dist/lib/types/lib/sip.js/api/notifier.d.ts +0 -8
  33. package/dist/lib/types/lib/sip.js/api/publisher-options.d.ts +0 -33
  34. package/dist/lib/types/lib/sip.js/api/publisher-publish-options.d.ts +0 -6
  35. package/dist/lib/types/lib/sip.js/api/publisher-state.d.ts +0 -21
  36. package/dist/lib/types/lib/sip.js/api/publisher-unpublish-options.d.ts +0 -6
  37. package/dist/lib/types/lib/sip.js/api/publisher.d.ts +0 -65
  38. package/dist/lib/types/lib/sip.js/api/referral.d.ts +0 -38
  39. package/dist/lib/types/lib/sip.js/api/registerer-options.d.ts +0 -46
  40. package/dist/lib/types/lib/sip.js/api/registerer-register-options.d.ts +0 -11
  41. package/dist/lib/types/lib/sip.js/api/registerer-state.d.ts +0 -21
  42. package/dist/lib/types/lib/sip.js/api/registerer-unregister-options.d.ts +0 -16
  43. package/dist/lib/types/lib/sip.js/api/registerer.d.ts +0 -144
  44. package/dist/lib/types/lib/sip.js/api/session-bye-options.d.ts +0 -11
  45. package/dist/lib/types/lib/sip.js/api/session-delegate.d.ts +0 -79
  46. package/dist/lib/types/lib/sip.js/api/session-description-handler-factory.d.ts +0 -15
  47. package/dist/lib/types/lib/sip.js/api/session-description-handler.d.ts +0 -74
  48. package/dist/lib/types/lib/sip.js/api/session-info-options.d.ts +0 -11
  49. package/dist/lib/types/lib/sip.js/api/session-invite-options.d.ts +0 -28
  50. package/dist/lib/types/lib/sip.js/api/session-message-options.d.ts +0 -11
  51. package/dist/lib/types/lib/sip.js/api/session-options.d.ts +0 -8
  52. package/dist/lib/types/lib/sip.js/api/session-refer-options.d.ts +0 -14
  53. package/dist/lib/types/lib/sip.js/api/session-state.d.ts +0 -45
  54. package/dist/lib/types/lib/sip.js/api/session.d.ts +0 -359
  55. package/dist/lib/types/lib/sip.js/api/subscriber-options.d.ts +0 -11
  56. package/dist/lib/types/lib/sip.js/api/subscriber-subscribe-options.d.ts +0 -6
  57. package/dist/lib/types/lib/sip.js/api/subscriber.d.ts +0 -94
  58. package/dist/lib/types/lib/sip.js/api/subscription-delegate.d.ts +0 -12
  59. package/dist/lib/types/lib/sip.js/api/subscription-options.d.ts +0 -8
  60. package/dist/lib/types/lib/sip.js/api/subscription-state.d.ts +0 -19
  61. package/dist/lib/types/lib/sip.js/api/subscription-subscribe-options.d.ts +0 -6
  62. package/dist/lib/types/lib/sip.js/api/subscription-unsubscribe-options.d.ts +0 -6
  63. package/dist/lib/types/lib/sip.js/api/subscription.d.ts +0 -84
  64. package/dist/lib/types/lib/sip.js/api/transport-state.d.ts +0 -37
  65. package/dist/lib/types/lib/sip.js/api/transport.d.ts +0 -159
  66. package/dist/lib/types/lib/sip.js/api/user-agent-delegate.d.ts +0 -84
  67. package/dist/lib/types/lib/sip.js/api/user-agent-options.d.ts +0 -253
  68. package/dist/lib/types/lib/sip.js/api/user-agent-state.d.ts +0 -14
  69. package/dist/lib/types/lib/sip.js/api/user-agent.d.ts +0 -200
  70. package/dist/lib/types/lib/sip.js/core/dialogs/dialog-state.d.ts +0 -34
  71. package/dist/lib/types/lib/sip.js/core/dialogs/dialog.d.ts +0 -161
  72. package/dist/lib/types/lib/sip.js/core/dialogs/index.d.ts +0 -4
  73. package/dist/lib/types/lib/sip.js/core/dialogs/session-dialog.d.ts +0 -196
  74. package/dist/lib/types/lib/sip.js/core/dialogs/subscription-dialog.d.ts +0 -120
  75. package/dist/lib/types/lib/sip.js/core/exceptions/exception.d.ts +0 -8
  76. package/dist/lib/types/lib/sip.js/core/exceptions/index.d.ts +0 -3
  77. package/dist/lib/types/lib/sip.js/core/exceptions/transaction-state-error.d.ts +0 -8
  78. package/dist/lib/types/lib/sip.js/core/exceptions/transport-error.d.ts +0 -8
  79. package/dist/lib/types/lib/sip.js/core/index.d.ts +0 -15
  80. package/dist/lib/types/lib/sip.js/core/log/index.d.ts +0 -3
  81. package/dist/lib/types/lib/sip.js/core/log/levels.d.ts +0 -10
  82. package/dist/lib/types/lib/sip.js/core/log/logger-factory.d.ts +0 -21
  83. package/dist/lib/types/lib/sip.js/core/log/logger.d.ts +0 -19
  84. package/dist/lib/types/lib/sip.js/core/messages/body.d.ts +0 -64
  85. package/dist/lib/types/lib/sip.js/core/messages/digest-authentication.d.ts +0 -51
  86. package/dist/lib/types/lib/sip.js/core/messages/incoming-message.d.ts +0 -79
  87. package/dist/lib/types/lib/sip.js/core/messages/incoming-request-message.d.ts +0 -10
  88. package/dist/lib/types/lib/sip.js/core/messages/incoming-request.d.ts +0 -67
  89. package/dist/lib/types/lib/sip.js/core/messages/incoming-response-message.d.ts +0 -10
  90. package/dist/lib/types/lib/sip.js/core/messages/incoming-response.d.ts +0 -12
  91. package/dist/lib/types/lib/sip.js/core/messages/index.d.ts +0 -13
  92. package/dist/lib/types/lib/sip.js/core/messages/md5.d.ts +0 -32
  93. package/dist/lib/types/lib/sip.js/core/messages/methods/ack.d.ts +0 -18
  94. package/dist/lib/types/lib/sip.js/core/messages/methods/bye.d.ts +0 -21
  95. package/dist/lib/types/lib/sip.js/core/messages/methods/cancel.d.ts +0 -21
  96. package/dist/lib/types/lib/sip.js/core/messages/methods/constants.d.ts +0 -20
  97. package/dist/lib/types/lib/sip.js/core/messages/methods/index.d.ts +0 -13
  98. package/dist/lib/types/lib/sip.js/core/messages/methods/info.d.ts +0 -21
  99. package/dist/lib/types/lib/sip.js/core/messages/methods/invite.d.ts +0 -86
  100. package/dist/lib/types/lib/sip.js/core/messages/methods/message.d.ts +0 -21
  101. package/dist/lib/types/lib/sip.js/core/messages/methods/notify.d.ts +0 -21
  102. package/dist/lib/types/lib/sip.js/core/messages/methods/prack.d.ts +0 -21
  103. package/dist/lib/types/lib/sip.js/core/messages/methods/publish.d.ts +0 -21
  104. package/dist/lib/types/lib/sip.js/core/messages/methods/refer.d.ts +0 -21
  105. package/dist/lib/types/lib/sip.js/core/messages/methods/register.d.ts +0 -21
  106. package/dist/lib/types/lib/sip.js/core/messages/methods/subscribe.d.ts +0 -54
  107. package/dist/lib/types/lib/sip.js/core/messages/outgoing-request-message.d.ts +0 -94
  108. package/dist/lib/types/lib/sip.js/core/messages/outgoing-request.d.ts +0 -67
  109. package/dist/lib/types/lib/sip.js/core/messages/outgoing-response.d.ts +0 -42
  110. package/dist/lib/types/lib/sip.js/core/messages/parser.d.ts +0 -14
  111. package/dist/lib/types/lib/sip.js/core/messages/utils.d.ts +0 -24
  112. package/dist/lib/types/lib/sip.js/core/session/index.d.ts +0 -2
  113. package/dist/lib/types/lib/sip.js/core/session/session-delegate.d.ts +0 -70
  114. package/dist/lib/types/lib/sip.js/core/session/session.d.ts +0 -134
  115. package/dist/lib/types/lib/sip.js/core/subscription/index.d.ts +0 -2
  116. package/dist/lib/types/lib/sip.js/core/subscription/subscription-delegate.d.ts +0 -27
  117. package/dist/lib/types/lib/sip.js/core/subscription/subscription.d.ts +0 -55
  118. package/dist/lib/types/lib/sip.js/core/timers.d.ts +0 -20
  119. package/dist/lib/types/lib/sip.js/core/transactions/client-transaction.d.ts +0 -45
  120. package/dist/lib/types/lib/sip.js/core/transactions/index.d.ts +0 -10
  121. package/dist/lib/types/lib/sip.js/core/transactions/invite-client-transaction.d.ts +0 -116
  122. package/dist/lib/types/lib/sip.js/core/transactions/invite-server-transaction.d.ts +0 -127
  123. package/dist/lib/types/lib/sip.js/core/transactions/non-invite-client-transaction.d.ts +0 -69
  124. package/dist/lib/types/lib/sip.js/core/transactions/non-invite-server-transaction.d.ts +0 -57
  125. package/dist/lib/types/lib/sip.js/core/transactions/server-transaction.d.ts +0 -35
  126. package/dist/lib/types/lib/sip.js/core/transactions/transaction-state.d.ts +0 -13
  127. package/dist/lib/types/lib/sip.js/core/transactions/transaction-user.d.ts +0 -72
  128. package/dist/lib/types/lib/sip.js/core/transactions/transaction.d.ts +0 -79
  129. package/dist/lib/types/lib/sip.js/core/transport.d.ts +0 -31
  130. package/dist/lib/types/lib/sip.js/core/user-agent-core/allowed-methods.d.ts +0 -4
  131. package/dist/lib/types/lib/sip.js/core/user-agent-core/index.d.ts +0 -3
  132. package/dist/lib/types/lib/sip.js/core/user-agent-core/user-agent-core-configuration.d.ts +0 -99
  133. package/dist/lib/types/lib/sip.js/core/user-agent-core/user-agent-core-delegate.d.ts +0 -37
  134. package/dist/lib/types/lib/sip.js/core/user-agent-core/user-agent-core.d.ts +0 -179
  135. package/dist/lib/types/lib/sip.js/core/user-agents/bye-user-agent-client.d.ts +0 -10
  136. package/dist/lib/types/lib/sip.js/core/user-agents/bye-user-agent-server.d.ts +0 -10
  137. package/dist/lib/types/lib/sip.js/core/user-agents/cancel-user-agent-client.d.ts +0 -10
  138. package/dist/lib/types/lib/sip.js/core/user-agents/index.d.ts +0 -26
  139. package/dist/lib/types/lib/sip.js/core/user-agents/info-user-agent-client.d.ts +0 -10
  140. package/dist/lib/types/lib/sip.js/core/user-agents/info-user-agent-server.d.ts +0 -10
  141. package/dist/lib/types/lib/sip.js/core/user-agents/invite-user-agent-client.d.ts +0 -35
  142. package/dist/lib/types/lib/sip.js/core/user-agents/invite-user-agent-server.d.ts +0 -77
  143. package/dist/lib/types/lib/sip.js/core/user-agents/message-user-agent-client.d.ts +0 -10
  144. package/dist/lib/types/lib/sip.js/core/user-agents/message-user-agent-server.d.ts +0 -10
  145. package/dist/lib/types/lib/sip.js/core/user-agents/notify-user-agent-client.d.ts +0 -10
  146. package/dist/lib/types/lib/sip.js/core/user-agents/notify-user-agent-server.d.ts +0 -16
  147. package/dist/lib/types/lib/sip.js/core/user-agents/prack-user-agent-client.d.ts +0 -10
  148. package/dist/lib/types/lib/sip.js/core/user-agents/prack-user-agent-server.d.ts +0 -16
  149. package/dist/lib/types/lib/sip.js/core/user-agents/publish-user-agent-client.d.ts +0 -10
  150. package/dist/lib/types/lib/sip.js/core/user-agents/re-invite-user-agent-client.d.ts +0 -18
  151. package/dist/lib/types/lib/sip.js/core/user-agents/re-invite-user-agent-server.d.ts +0 -41
  152. package/dist/lib/types/lib/sip.js/core/user-agents/re-subscribe-user-agent-client.d.ts +0 -17
  153. package/dist/lib/types/lib/sip.js/core/user-agents/re-subscribe-user-agent-server.d.ts +0 -10
  154. package/dist/lib/types/lib/sip.js/core/user-agents/refer-user-agent-client.d.ts +0 -10
  155. package/dist/lib/types/lib/sip.js/core/user-agents/refer-user-agent-server.d.ts +0 -16
  156. package/dist/lib/types/lib/sip.js/core/user-agents/register-user-agent-client.d.ts +0 -10
  157. package/dist/lib/types/lib/sip.js/core/user-agents/register-user-agent-server.d.ts +0 -11
  158. package/dist/lib/types/lib/sip.js/core/user-agents/subscribe-user-agent-client.d.ts +0 -65
  159. package/dist/lib/types/lib/sip.js/core/user-agents/subscribe-user-agent-server.d.ts +0 -11
  160. package/dist/lib/types/lib/sip.js/core/user-agents/user-agent-client.d.ts +0 -103
  161. package/dist/lib/types/lib/sip.js/core/user-agents/user-agent-server.d.ts +0 -79
  162. package/dist/lib/types/lib/sip.js/grammar/grammar.d.ts +0 -26
  163. package/dist/lib/types/lib/sip.js/grammar/index.d.ts +0 -4
  164. package/dist/lib/types/lib/sip.js/grammar/name-addr-header.d.ts +0 -24
  165. package/dist/lib/types/lib/sip.js/grammar/parameters.d.ts +0 -16
  166. package/dist/lib/types/lib/sip.js/grammar/pegjs/dist/grammar.d.ts +0 -50
  167. package/dist/lib/types/lib/sip.js/grammar/uri.d.ts +0 -62
  168. package/dist/lib/types/lib/sip.js/index.d.ts +0 -9
  169. package/dist/lib/types/lib/sip.js/platform/web/index.d.ts +0 -4
  170. package/dist/lib/types/lib/sip.js/platform/web/modifiers/index.d.ts +0 -5
  171. package/dist/lib/types/lib/sip.js/platform/web/modifiers/modifiers.d.ts +0 -41
  172. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/index.d.ts +0 -14
  173. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/media-stream-factory-default.d.ts +0 -6
  174. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/media-stream-factory.d.ts +0 -6
  175. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/peer-connection-configuration-default.d.ts +0 -5
  176. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/peer-connection-delegate.d.ts +0 -63
  177. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-configuration.d.ts +0 -16
  178. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory-default.d.ts +0 -11
  179. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory-options.d.ts +0 -9
  180. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory.d.ts +0 -16
  181. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-options.d.ts +0 -47
  182. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler.d.ts +0 -212
  183. package/dist/lib/types/lib/sip.js/platform/web/simple-user/index.d.ts +0 -7
  184. package/dist/lib/types/lib/sip.js/platform/web/simple-user/simple-user-delegate.d.ts +0 -72
  185. package/dist/lib/types/lib/sip.js/platform/web/simple-user/simple-user-options.d.ts +0 -90
  186. package/dist/lib/types/lib/sip.js/platform/web/simple-user/simple-user.d.ts +0 -226
  187. package/dist/lib/types/lib/sip.js/platform/web/transport/index.d.ts +0 -6
  188. package/dist/lib/types/lib/sip.js/platform/web/transport/transport-options.d.ts +0 -30
  189. package/dist/lib/types/lib/sip.js/platform/web/transport/transport.d.ts +0 -125
  190. package/dist/lib/types/lib/sip.js/version.d.ts +0 -1
  191. package/dist/lib/types/webrtc/webrtc-method.d.ts +0 -2
  192. package/dist/lib/types/webrtc/webrtc.d.ts +0 -38
  193. package/index.html/index.html +0 -118
  194. package/nginx.conf +0 -56
  195. package/rollup-new.config.mjs +0 -20
  196. package/rollup.config.js +0 -45
  197. package/src/config.ts +0 -19
  198. package/src/index.ts +0 -2473
  199. package/src/lib/sip.js/api/ack.ts +0 -15
  200. package/src/lib/sip.js/api/api-extractor.json +0 -350
  201. package/src/lib/sip.js/api/bye.ts +0 -27
  202. package/src/lib/sip.js/api/dtmf.ts +0 -27
  203. package/src/lib/sip.js/api/emitter.ts +0 -110
  204. package/src/lib/sip.js/api/exceptions/content-type-unsupported.ts +0 -11
  205. package/src/lib/sip.js/api/exceptions/index.ts +0 -5
  206. package/src/lib/sip.js/api/exceptions/request-pending.ts +0 -12
  207. package/src/lib/sip.js/api/exceptions/session-description-handler.ts +0 -11
  208. package/src/lib/sip.js/api/exceptions/session-terminated.ts +0 -11
  209. package/src/lib/sip.js/api/exceptions/state-transition.ts +0 -11
  210. package/src/lib/sip.js/api/index.ts +0 -59
  211. package/src/lib/sip.js/api/info.ts +0 -27
  212. package/src/lib/sip.js/api/invitation-accept-options.ts +0 -20
  213. package/src/lib/sip.js/api/invitation-progress-options.ts +0 -36
  214. package/src/lib/sip.js/api/invitation-reject-options.ts +0 -22
  215. package/src/lib/sip.js/api/invitation.ts +0 -815
  216. package/src/lib/sip.js/api/inviter-cancel-options.ts +0 -9
  217. package/src/lib/sip.js/api/inviter-invite-options.ts +0 -29
  218. package/src/lib/sip.js/api/inviter-options.ts +0 -44
  219. package/src/lib/sip.js/api/inviter.ts +0 -1126
  220. package/src/lib/sip.js/api/message.ts +0 -27
  221. package/src/lib/sip.js/api/messager-message-options.ts +0 -12
  222. package/src/lib/sip.js/api/messager-options.ts +0 -18
  223. package/src/lib/sip.js/api/messager.ts +0 -89
  224. package/src/lib/sip.js/api/notification.ts +0 -27
  225. package/src/lib/sip.js/api/notifier.ts +0 -7
  226. package/src/lib/sip.js/api/publisher-options.ts +0 -34
  227. package/src/lib/sip.js/api/publisher-publish-options.ts +0 -6
  228. package/src/lib/sip.js/api/publisher-state.ts +0 -21
  229. package/src/lib/sip.js/api/publisher-unpublish-options.ts +0 -6
  230. package/src/lib/sip.js/api/publisher.ts +0 -421
  231. package/src/lib/sip.js/api/referral.ts +0 -89
  232. package/src/lib/sip.js/api/registerer-options.ts +0 -55
  233. package/src/lib/sip.js/api/registerer-register-options.ts +0 -12
  234. package/src/lib/sip.js/api/registerer-state.ts +0 -21
  235. package/src/lib/sip.js/api/registerer-unregister-options.ts +0 -17
  236. package/src/lib/sip.js/api/registerer.ts +0 -819
  237. package/src/lib/sip.js/api/session-bye-options.ts +0 -12
  238. package/src/lib/sip.js/api/session-delegate.ts +0 -87
  239. package/src/lib/sip.js/api/session-description-handler-factory.ts +0 -16
  240. package/src/lib/sip.js/api/session-description-handler.ts +0 -89
  241. package/src/lib/sip.js/api/session-info-options.ts +0 -12
  242. package/src/lib/sip.js/api/session-invite-options.ts +0 -29
  243. package/src/lib/sip.js/api/session-message-options.ts +0 -12
  244. package/src/lib/sip.js/api/session-options.ts +0 -8
  245. package/src/lib/sip.js/api/session-refer-options.ts +0 -15
  246. package/src/lib/sip.js/api/session-state.ts +0 -45
  247. package/src/lib/sip.js/api/session.ts +0 -1454
  248. package/src/lib/sip.js/api/subscriber-options.ts +0 -12
  249. package/src/lib/sip.js/api/subscriber-subscribe-options.ts +0 -6
  250. package/src/lib/sip.js/api/subscriber.ts +0 -537
  251. package/src/lib/sip.js/api/subscription-delegate.ts +0 -13
  252. package/src/lib/sip.js/api/subscription-options.ts +0 -8
  253. package/src/lib/sip.js/api/subscription-state.ts +0 -19
  254. package/src/lib/sip.js/api/subscription-subscribe-options.ts +0 -6
  255. package/src/lib/sip.js/api/subscription-unsubscribe-options.ts +0 -6
  256. package/src/lib/sip.js/api/subscription.ts +0 -161
  257. package/src/lib/sip.js/api/transport-state.ts +0 -37
  258. package/src/lib/sip.js/api/transport.ts +0 -169
  259. package/src/lib/sip.js/api/user-agent-delegate.ts +0 -95
  260. package/src/lib/sip.js/api/user-agent-options.ts +0 -322
  261. package/src/lib/sip.js/api/user-agent-state.ts +0 -14
  262. package/src/lib/sip.js/api/user-agent.ts +0 -1013
  263. package/src/lib/sip.js/core/api-extractor.json +0 -350
  264. package/src/lib/sip.js/core/dialogs/dialog-state.ts +0 -35
  265. package/src/lib/sip.js/core/dialogs/dialog.ts +0 -605
  266. package/src/lib/sip.js/core/dialogs/index.ts +0 -4
  267. package/src/lib/sip.js/core/dialogs/session-dialog.ts +0 -997
  268. package/src/lib/sip.js/core/dialogs/subscription-dialog.ts +0 -558
  269. package/src/lib/sip.js/core/exceptions/exception.ts +0 -11
  270. package/src/lib/sip.js/core/exceptions/index.ts +0 -3
  271. package/src/lib/sip.js/core/exceptions/transaction-state-error.ts +0 -11
  272. package/src/lib/sip.js/core/exceptions/transport-error.ts +0 -11
  273. package/src/lib/sip.js/core/index.ts +0 -19
  274. package/src/lib/sip.js/core/log/index.ts +0 -3
  275. package/src/lib/sip.js/core/log/levels.ts +0 -10
  276. package/src/lib/sip.js/core/log/logger-factory.ts +0 -119
  277. package/src/lib/sip.js/core/log/logger.ts +0 -42
  278. package/src/lib/sip.js/core/messages/body.ts +0 -171
  279. package/src/lib/sip.js/core/messages/digest-authentication.ts +0 -190
  280. package/src/lib/sip.js/core/messages/incoming-message.ts +0 -152
  281. package/src/lib/sip.js/core/messages/incoming-request-message.ts +0 -14
  282. package/src/lib/sip.js/core/messages/incoming-request.ts +0 -75
  283. package/src/lib/sip.js/core/messages/incoming-response-message.ts +0 -14
  284. package/src/lib/sip.js/core/messages/incoming-response.ts +0 -13
  285. package/src/lib/sip.js/core/messages/index.ts +0 -18
  286. package/src/lib/sip.js/core/messages/md5.ts +0 -437
  287. package/src/lib/sip.js/core/messages/methods/ack.ts +0 -22
  288. package/src/lib/sip.js/core/messages/methods/bye.ts +0 -22
  289. package/src/lib/sip.js/core/messages/methods/cancel.ts +0 -22
  290. package/src/lib/sip.js/core/messages/methods/constants.ts +0 -21
  291. package/src/lib/sip.js/core/messages/methods/index.ts +0 -13
  292. package/src/lib/sip.js/core/messages/methods/info.ts +0 -22
  293. package/src/lib/sip.js/core/messages/methods/invite.ts +0 -104
  294. package/src/lib/sip.js/core/messages/methods/message.ts +0 -22
  295. package/src/lib/sip.js/core/messages/methods/notify.ts +0 -22
  296. package/src/lib/sip.js/core/messages/methods/prack.ts +0 -22
  297. package/src/lib/sip.js/core/messages/methods/publish.ts +0 -22
  298. package/src/lib/sip.js/core/messages/methods/refer.ts +0 -22
  299. package/src/lib/sip.js/core/messages/methods/register.ts +0 -22
  300. package/src/lib/sip.js/core/messages/methods/subscribe.ts +0 -59
  301. package/src/lib/sip.js/core/messages/outgoing-request-message.ts +0 -299
  302. package/src/lib/sip.js/core/messages/outgoing-request.ts +0 -77
  303. package/src/lib/sip.js/core/messages/outgoing-response.ts +0 -174
  304. package/src/lib/sip.js/core/messages/parser.ts +0 -265
  305. package/src/lib/sip.js/core/messages/utils.ts +0 -144
  306. package/src/lib/sip.js/core/session/index.ts +0 -2
  307. package/src/lib/sip.js/core/session/session-delegate.ts +0 -88
  308. package/src/lib/sip.js/core/session/session.ts +0 -158
  309. package/src/lib/sip.js/core/subscription/index.ts +0 -2
  310. package/src/lib/sip.js/core/subscription/subscription-delegate.ts +0 -30
  311. package/src/lib/sip.js/core/subscription/subscription.ts +0 -61
  312. package/src/lib/sip.js/core/timers.ts +0 -24
  313. package/src/lib/sip.js/core/transactions/client-transaction.ts +0 -78
  314. package/src/lib/sip.js/core/transactions/index.ts +0 -10
  315. package/src/lib/sip.js/core/transactions/invite-client-transaction.ts +0 -505
  316. package/src/lib/sip.js/core/transactions/invite-server-transaction.ts +0 -433
  317. package/src/lib/sip.js/core/transactions/non-invite-client-transaction.ts +0 -258
  318. package/src/lib/sip.js/core/transactions/non-invite-server-transaction.ts +0 -242
  319. package/src/lib/sip.js/core/transactions/server-transaction.ts +0 -47
  320. package/src/lib/sip.js/core/transactions/transaction-state.ts +0 -13
  321. package/src/lib/sip.js/core/transactions/transaction-user.ts +0 -82
  322. package/src/lib/sip.js/core/transactions/transaction.ts +0 -149
  323. package/src/lib/sip.js/core/transport.ts +0 -32
  324. package/src/lib/sip.js/core/user-agent-core/allowed-methods.ts +0 -19
  325. package/src/lib/sip.js/core/user-agent-core/index.ts +0 -3
  326. package/src/lib/sip.js/core/user-agent-core/user-agent-core-configuration.ts +0 -111
  327. package/src/lib/sip.js/core/user-agent-core/user-agent-core-delegate.ts +0 -50
  328. package/src/lib/sip.js/core/user-agent-core/user-agent-core.ts +0 -905
  329. package/src/lib/sip.js/core/user-agents/bye-user-agent-client.ts +0 -16
  330. package/src/lib/sip.js/core/user-agents/bye-user-agent-server.ts +0 -14
  331. package/src/lib/sip.js/core/user-agents/cancel-user-agent-client.ts +0 -14
  332. package/src/lib/sip.js/core/user-agents/index.ts +0 -26
  333. package/src/lib/sip.js/core/user-agents/info-user-agent-client.ts +0 -15
  334. package/src/lib/sip.js/core/user-agents/info-user-agent-server.ts +0 -14
  335. package/src/lib/sip.js/core/user-agents/invite-user-agent-client.ts +0 -406
  336. package/src/lib/sip.js/core/user-agents/invite-user-agent-server.ts +0 -269
  337. package/src/lib/sip.js/core/user-agents/message-user-agent-client.ts +0 -14
  338. package/src/lib/sip.js/core/user-agents/message-user-agent-server.ts +0 -14
  339. package/src/lib/sip.js/core/user-agents/notify-user-agent-client.ts +0 -15
  340. package/src/lib/sip.js/core/user-agents/notify-user-agent-server.ts +0 -30
  341. package/src/lib/sip.js/core/user-agents/prack-user-agent-client.ts +0 -16
  342. package/src/lib/sip.js/core/user-agents/prack-user-agent-server.ts +0 -37
  343. package/src/lib/sip.js/core/user-agents/publish-user-agent-client.ts +0 -14
  344. package/src/lib/sip.js/core/user-agents/re-invite-user-agent-client.ts +0 -128
  345. package/src/lib/sip.js/core/user-agents/re-invite-user-agent-server.ts +0 -109
  346. package/src/lib/sip.js/core/user-agents/re-subscribe-user-agent-client.ts +0 -78
  347. package/src/lib/sip.js/core/user-agents/re-subscribe-user-agent-server.ts +0 -14
  348. package/src/lib/sip.js/core/user-agents/refer-user-agent-client.ts +0 -15
  349. package/src/lib/sip.js/core/user-agents/refer-user-agent-server.ts +0 -30
  350. package/src/lib/sip.js/core/user-agents/register-user-agent-client.ts +0 -14
  351. package/src/lib/sip.js/core/user-agents/register-user-agent-server.ts +0 -14
  352. package/src/lib/sip.js/core/user-agents/subscribe-user-agent-client.ts +0 -342
  353. package/src/lib/sip.js/core/user-agents/subscribe-user-agent-server.ts +0 -14
  354. package/src/lib/sip.js/core/user-agents/user-agent-client.ts +0 -378
  355. package/src/lib/sip.js/core/user-agents/user-agent-server.ts +0 -276
  356. package/src/lib/sip.js/grammar/grammar.ts +0 -55
  357. package/src/lib/sip.js/grammar/index.ts +0 -4
  358. package/src/lib/sip.js/grammar/name-addr-header.ts +0 -58
  359. package/src/lib/sip.js/grammar/parameters.ts +0 -45
  360. package/src/lib/sip.js/grammar/pegjs/README.md +0 -9
  361. package/src/lib/sip.js/grammar/pegjs/dist/grammar.ts +0 -1557
  362. package/src/lib/sip.js/grammar/pegjs/src/grammar.pegjs +0 -1009
  363. package/src/lib/sip.js/grammar/uri.ts +0 -370
  364. package/src/lib/sip.js/index.ts +0 -20
  365. package/src/lib/sip.js/platform/react/README.md +0 -1
  366. package/src/lib/sip.js/platform/web/index.ts +0 -4
  367. package/src/lib/sip.js/platform/web/modifiers/index.ts +0 -5
  368. package/src/lib/sip.js/platform/web/modifiers/modifiers.ts +0 -180
  369. package/src/lib/sip.js/platform/web/session-description-handler/api-extractor.json +0 -350
  370. package/src/lib/sip.js/platform/web/session-description-handler/index.ts +0 -14
  371. package/src/lib/sip.js/platform/web/session-description-handler/media-stream-factory-default.ts +0 -22
  372. package/src/lib/sip.js/platform/web/session-description-handler/media-stream-factory.ts +0 -10
  373. package/src/lib/sip.js/platform/web/session-description-handler/peer-connection-configuration-default.ts +0 -17
  374. package/src/lib/sip.js/platform/web/session-description-handler/peer-connection-delegate.ts +0 -72
  375. package/src/lib/sip.js/platform/web/session-description-handler/session-description-handler-configuration.ts +0 -17
  376. package/src/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory-default.ts +0 -45
  377. package/src/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory-options.ts +0 -10
  378. package/src/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory.ts +0 -17
  379. package/src/lib/sip.js/platform/web/session-description-handler/session-description-handler-options.ts +0 -56
  380. package/src/lib/sip.js/platform/web/session-description-handler/session-description-handler.ts +0 -938
  381. package/src/lib/sip.js/platform/web/simple-user/api-extractor.json +0 -350
  382. package/src/lib/sip.js/platform/web/simple-user/index.ts +0 -7
  383. package/src/lib/sip.js/platform/web/simple-user/simple-user-delegate.ts +0 -82
  384. package/src/lib/sip.js/platform/web/simple-user/simple-user-options.ts +0 -102
  385. package/src/lib/sip.js/platform/web/simple-user/simple-user.ts +0 -1099
  386. package/src/lib/sip.js/platform/web/transport/api-extractor.json +0 -350
  387. package/src/lib/sip.js/platform/web/transport/index.ts +0 -6
  388. package/src/lib/sip.js/platform/web/transport/transport-options.ts +0 -34
  389. package/src/lib/sip.js/platform/web/transport/transport.ts +0 -743
  390. package/src/lib/sip.js/version.ts +0 -1
  391. package/src/lib/socket.io.esm.min.js +0 -7
  392. package/src/webrtc/webrtc-method.ts +0 -49
  393. package/src/webrtc/webrtc.ts +0 -350
  394. package/tsconfig.json +0 -21
@@ -1,27 +0,0 @@
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
- }
@@ -1,12 +0,0 @@
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
- }
@@ -1,18 +0,0 @@
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
- }
@@ -1,89 +0,0 @@
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
- }
@@ -1,27 +0,0 @@
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
- }
@@ -1,7 +0,0 @@
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 {}
@@ -1,34 +0,0 @@
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
- }
@@ -1,6 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-empty-interface */
2
- /**
3
- * Options for {@link Publisher.publish}.
4
- * @public
5
- */
6
- export interface PublisherPublishOptions {}
@@ -1,21 +0,0 @@
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
- }
@@ -1,6 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-empty-interface */
2
- /**
3
- * Options for {@link Publisher.unpublish}.
4
- * @public
5
- */
6
- export interface PublisherUnpublishOptions {}
@@ -1,421 +0,0 @@
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
- }