ue-softphone-sdk 4.0.0 → 4.0.2

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 +2 -2
  2. package/dist/ue-softphone-sdk.js +2 -2
  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,16 +0,0 @@
1
- import { SessionDialog } from "../dialogs";
2
- import { C, OutgoingByeRequest, OutgoingRequestDelegate, RequestOptions } from "../messages";
3
- import { NonInviteClientTransaction } from "../transactions";
4
- import { UserAgentClient } from "./user-agent-client";
5
-
6
- /**
7
- * BYE UAC.
8
- * @public
9
- */
10
- export class ByeUserAgentClient extends UserAgentClient implements OutgoingByeRequest {
11
- constructor(dialog: SessionDialog, delegate?: OutgoingRequestDelegate, options?: RequestOptions) {
12
- const message = dialog.createOutgoingRequestMessage(C.BYE, options);
13
- super(NonInviteClientTransaction, dialog.userAgentCore, message, delegate);
14
- dialog.dispose();
15
- }
16
- }
@@ -1,14 +0,0 @@
1
- import { SessionDialog } from "../dialogs";
2
- import { IncomingByeRequest, IncomingRequestDelegate, IncomingRequestMessage } from "../messages";
3
- import { NonInviteServerTransaction } from "../transactions";
4
- import { UserAgentServer } from "./user-agent-server";
5
-
6
- /**
7
- * BYE UAS.
8
- * @public
9
- */
10
- export class ByeUserAgentServer extends UserAgentServer implements IncomingByeRequest {
11
- constructor(dialog: SessionDialog, message: IncomingRequestMessage, delegate?: IncomingRequestDelegate) {
12
- super(NonInviteServerTransaction, dialog.userAgentCore, message, delegate);
13
- }
14
- }
@@ -1,14 +0,0 @@
1
- import { OutgoingCancelRequest, OutgoingRequestDelegate, OutgoingRequestMessage } from "../messages";
2
- import { NonInviteClientTransaction } from "../transactions";
3
- import { UserAgentCore } from "../user-agent-core";
4
- import { UserAgentClient } from "./user-agent-client";
5
-
6
- /**
7
- * CANCEL UAC.
8
- * @public
9
- */
10
- export class CancelUserAgentClient extends UserAgentClient implements OutgoingCancelRequest {
11
- constructor(core: UserAgentCore, message: OutgoingRequestMessage, delegate?: OutgoingRequestDelegate) {
12
- super(NonInviteClientTransaction, core, message, delegate);
13
- }
14
- }
@@ -1,26 +0,0 @@
1
- export * from "./bye-user-agent-client";
2
- export * from "./bye-user-agent-server";
3
- export * from "./cancel-user-agent-client";
4
- export * from "./info-user-agent-client";
5
- export * from "./info-user-agent-server";
6
- export * from "./invite-user-agent-client";
7
- export * from "./invite-user-agent-server";
8
- export * from "./message-user-agent-client";
9
- export * from "./message-user-agent-server";
10
- export * from "./notify-user-agent-client";
11
- export * from "./notify-user-agent-server";
12
- export * from "./publish-user-agent-client";
13
- export * from "./prack-user-agent-client";
14
- export * from "./prack-user-agent-server";
15
- export * from "./re-invite-user-agent-client";
16
- export * from "./re-invite-user-agent-server";
17
- export * from "./re-subscribe-user-agent-client";
18
- export * from "./re-subscribe-user-agent-server";
19
- export * from "./refer-user-agent-client";
20
- export * from "./refer-user-agent-server";
21
- export * from "./register-user-agent-client";
22
- export * from "./register-user-agent-server";
23
- export * from "./subscribe-user-agent-client";
24
- export * from "./subscribe-user-agent-server";
25
- export * from "./user-agent-client";
26
- export * from "./user-agent-server";
@@ -1,15 +0,0 @@
1
- import { SessionDialog } from "../dialogs";
2
- import { C, OutgoingInfoRequest, OutgoingRequestDelegate, RequestOptions } from "../messages";
3
- import { NonInviteClientTransaction } from "../transactions";
4
- import { UserAgentClient } from "./user-agent-client";
5
-
6
- /**
7
- * INFO UAC.
8
- * @public
9
- */
10
- export class InfoUserAgentClient extends UserAgentClient implements OutgoingInfoRequest {
11
- constructor(dialog: SessionDialog, delegate?: OutgoingRequestDelegate, options?: RequestOptions) {
12
- const message = dialog.createOutgoingRequestMessage(C.INFO, options);
13
- super(NonInviteClientTransaction, dialog.userAgentCore, message, delegate);
14
- }
15
- }
@@ -1,14 +0,0 @@
1
- import { SessionDialog } from "../dialogs";
2
- import { IncomingInfoRequest, IncomingRequestDelegate, IncomingRequestMessage } from "../messages";
3
- import { NonInviteServerTransaction } from "../transactions";
4
- import { UserAgentServer } from "./user-agent-server";
5
-
6
- /**
7
- * INFO UAS.
8
- * @public
9
- */
10
- export class InfoUserAgentServer extends UserAgentServer implements IncomingInfoRequest {
11
- constructor(dialog: SessionDialog, message: IncomingRequestMessage, delegate?: IncomingRequestDelegate) {
12
- super(NonInviteServerTransaction, dialog.userAgentCore, message, delegate);
13
- }
14
- }
@@ -1,406 +0,0 @@
1
- // @ts-nocheck
2
- import { Dialog, SessionDialog } from '../dialogs'
3
- import { TransportError } from '../exceptions'
4
- import {
5
- IncomingResponseMessage,
6
- OutgoingAckRequest,
7
- OutgoingInviteRequest,
8
- OutgoingInviteRequestDelegate,
9
- OutgoingPrackRequest,
10
- OutgoingRequestMessage,
11
- RequestOptions
12
- } from '../messages'
13
- import { SignalingState } from '../session'
14
- import { InviteClientTransaction, TransactionState } from '../transactions'
15
- import { UserAgentCore } from '../user-agent-core'
16
- import { UserAgentClient } from './user-agent-client'
17
-
18
- /**
19
- * INVITE UAC.
20
- * @remarks
21
- * 13 Initiating a Session
22
- * https://tools.ietf.org/html/rfc3261#section-13
23
- * 13.1 Overview
24
- * https://tools.ietf.org/html/rfc3261#section-13.1
25
- * 13.2 UAC Processing
26
- * https://tools.ietf.org/html/rfc3261#section-13.2
27
- * @public
28
- */
29
- export class InviteUserAgentClient extends UserAgentClient implements OutgoingInviteRequest {
30
- public delegate: OutgoingInviteRequestDelegate | undefined
31
-
32
- private confirmedDialogAcks = new Map<string, OutgoingAckRequest>()
33
- private confirmedDialogs = new Map<string, SessionDialog>()
34
- private earlyDialogs = new Map<string, SessionDialog>()
35
-
36
- constructor(core: UserAgentCore, message: OutgoingRequestMessage, delegate?: OutgoingInviteRequestDelegate) {
37
- super(InviteClientTransaction, core, message, delegate)
38
- this.delegate = delegate
39
- }
40
-
41
- public dispose(): void {
42
- // The UAC core considers the INVITE transaction completed 64*T1 seconds
43
- // after the reception of the first 2xx response. At this point all the
44
- // early dialogs that have not transitioned to established dialogs are
45
- // terminated. Once the INVITE transaction is considered completed by
46
- // the UAC core, no more new 2xx responses are expected to arrive.
47
- //
48
- // If, after acknowledging any 2xx response to an INVITE, the UAC does
49
- // not want to continue with that dialog, then the UAC MUST terminate
50
- // the dialog by sending a BYE request as described in Section 15.
51
- // https://tools.ietf.org/html/rfc3261#section-13.2.2.4
52
- this.earlyDialogs.forEach((earlyDialog) => earlyDialog.dispose())
53
- this.earlyDialogs.clear()
54
- super.dispose()
55
- }
56
-
57
- /**
58
- * Special case for transport error while sending ACK.
59
- * @param error - Transport error
60
- */
61
- protected onTransportError(error: TransportError): void {
62
- if (this.transaction.state === TransactionState.Calling) {
63
- return super.onTransportError(error)
64
- }
65
- // If not in 'calling' state, the transport error occurred while sending an ACK.
66
- this.logger.error(error.message)
67
- this.logger.error('User agent client request transport error while sending ACK.')
68
- }
69
-
70
- /**
71
- * Once the INVITE has been passed to the INVITE client transaction, the
72
- * UAC waits for responses for the INVITE.
73
- * https://tools.ietf.org/html/rfc3261#section-13.2.2
74
- * @param incomingResponse - Incoming response to INVITE request.
75
- */
76
- protected receiveResponse(message: IncomingResponseMessage): void {
77
- if (!this.authenticationGuard(message)) {
78
- return
79
- }
80
-
81
- const statusCode = message.statusCode ? message.statusCode.toString() : ''
82
- if (!statusCode) {
83
- throw new Error('Response status code undefined.')
84
- }
85
-
86
- switch (true) {
87
- case /^100$/.test(statusCode):
88
- if (this.delegate && this.delegate.onTrying) {
89
- this.delegate.onTrying({ message })
90
- }
91
- return
92
- case /^1[0-9]{2}$/.test(statusCode):
93
- // Zero, one or multiple provisional responses may arrive before one or
94
- // more final responses are received. Provisional responses for an
95
- // INVITE request can create "early dialogs". If a provisional response
96
- // has a tag in the To field, and if the dialog ID of the response does
97
- // not match an existing dialog, one is constructed using the procedures
98
- // defined in Section 12.1.2.
99
- //
100
- // The early dialog will only be needed if the UAC needs to send a
101
- // request to its peer within the dialog before the initial INVITE
102
- // transaction completes. Header fields present in a provisional
103
- // response are applicable as long as the dialog is in the early state
104
- // (for example, an Allow header field in a provisional response
105
- // contains the methods that can be used in the dialog while this is in
106
- // the early state).
107
- // https://tools.ietf.org/html/rfc3261#section-13.2.2.1
108
- {
109
- // Dialogs are created through the generation of non-failure responses
110
- // to requests with specific methods. Within this specification, only
111
- // 2xx and 101-199 responses with a To tag, where the request was
112
- // INVITE, will establish a dialog. A dialog established by a non-final
113
- // response to a request is in the "early" state and it is called an
114
- // early dialog.
115
- // https://tools.ietf.org/html/rfc3261#section-12.1
116
-
117
- // Provisional without to tag, no dialog to create.
118
- if (!message.toTag) {
119
- this.logger.warn('Non-100 1xx INVITE response received without a to tag, dropping.')
120
- return
121
- }
122
-
123
- // When a UAS responds to a request with a response that establishes a
124
- // dialog (such as a 2xx to INVITE), the UAS MUST copy all Record-Route
125
- // header field values from the request into the response (including the
126
- // URIs, URI parameters, and any Record-Route header field parameters,
127
- // whether they are known or unknown to the UAS) and MUST maintain the
128
- // order of those values. The UAS MUST add a Contact header field to
129
- // the response.
130
- // https://tools.ietf.org/html/rfc3261#section-12.1.1
131
-
132
- // Provisional without Contact header field, malformed response.
133
- const contact = message.parseHeader('contact')
134
- if (!contact) {
135
- this.logger.error('Non-100 1xx INVITE response received without a Contact header field, dropping.')
136
- return
137
- }
138
-
139
- // Compute dialog state.
140
- const dialogState = Dialog.initialDialogStateForUserAgentClient(this.message, message)
141
-
142
- // Have existing early dialog or create a new one.
143
- let earlyDialog = this.earlyDialogs.get(dialogState.id)
144
- if (!earlyDialog) {
145
- const transaction = this.transaction
146
- if (!(transaction instanceof InviteClientTransaction)) {
147
- throw new Error('Transaction not instance of InviteClientTransaction.')
148
- }
149
- earlyDialog = new SessionDialog(transaction, this.core, dialogState)
150
- this.earlyDialogs.set(earlyDialog.id, earlyDialog)
151
- }
152
-
153
- // Guard against out of order reliable provisional responses.
154
- // Note that this is where the rseq tracking is done.
155
- if (!earlyDialog.reliableSequenceGuard(message)) {
156
- this.logger.warn('1xx INVITE reliable response received out of order or is a retransmission, dropping.')
157
- return
158
- }
159
-
160
- // If the initial offer is in an INVITE, the answer MUST be in a
161
- // reliable non-failure message from UAS back to UAC which is
162
- // correlated to that INVITE. For this specification, that is
163
- // only the final 2xx response to that INVITE. That same exact
164
- // answer MAY also be placed in any provisional responses sent
165
- // prior to the answer. The UAC MUST treat the first session
166
- // description it receives as the answer, and MUST ignore any
167
- // session descriptions in subsequent responses to the initial
168
- // INVITE.
169
- // https://tools.ietf.org/html/rfc3261#section-13.2.1
170
- if (
171
- earlyDialog.signalingState === SignalingState.Initial ||
172
- earlyDialog.signalingState === SignalingState.HaveLocalOffer
173
- ) {
174
- earlyDialog.signalingStateTransition(message)
175
- }
176
-
177
- // Pass response to delegate.
178
- const session = earlyDialog
179
- if (this.delegate && this.delegate.onProgress) {
180
- this.delegate.onProgress({
181
- message,
182
- session,
183
- prack: (options?: RequestOptions): OutgoingPrackRequest => {
184
- const outgoingPrackRequest = session.prack(undefined, options)
185
- return outgoingPrackRequest
186
- }
187
- })
188
- }
189
- }
190
- return
191
- case /^2[0-9]{2}$/.test(statusCode):
192
- // Multiple 2xx responses may arrive at the UAC for a single INVITE
193
- // request due to a forking proxy. Each response is distinguished by
194
- // the tag parameter in the To header field, and each represents a
195
- // distinct dialog, with a distinct dialog identifier.
196
- //
197
- // If the dialog identifier in the 2xx response matches the dialog
198
- // identifier of an existing dialog, the dialog MUST be transitioned to
199
- // the "confirmed" state, and the route set for the dialog MUST be
200
- // recomputed based on the 2xx response using the procedures of Section
201
- // 12.2.1.2. Otherwise, a new dialog in the "confirmed" state MUST be
202
- // constructed using the procedures of Section 12.1.2.
203
- // https://tools.ietf.org/html/rfc3261#section-13.2.2.4
204
- {
205
- // Dialogs are created through the generation of non-failure responses
206
- // to requests with specific methods. Within this specification, only
207
- // 2xx and 101-199 responses with a To tag, where the request was
208
- // INVITE, will establish a dialog. A dialog established by a non-final
209
- // response to a request is in the "early" state and it is called an
210
- // early dialog.
211
- // https://tools.ietf.org/html/rfc3261#section-12.1
212
-
213
- // Final without to tag, malformed response.
214
- if (!message.toTag) {
215
- this.logger.error('2xx INVITE response received without a to tag, dropping.')
216
- return
217
- }
218
-
219
- // When a UAS responds to a request with a response that establishes a
220
- // dialog (such as a 2xx to INVITE), the UAS MUST copy all Record-Route
221
- // header field values from the request into the response (including the
222
- // URIs, URI parameters, and any Record-Route header field parameters,
223
- // whether they are known or unknown to the UAS) and MUST maintain the
224
- // order of those values. The UAS MUST add a Contact header field to
225
- // the response.
226
- // https://tools.ietf.org/html/rfc3261#section-12.1.1
227
-
228
- // Final without Contact header field, malformed response.
229
- const contact = message.parseHeader('contact')
230
- if (!contact) {
231
- this.logger.error('2xx INVITE response received without a Contact header field, dropping.')
232
- return
233
- }
234
-
235
- // Compute dialog state.
236
- const dialogState = Dialog.initialDialogStateForUserAgentClient(this.message, message)
237
-
238
- // NOTE: Currently our transaction layer is caching the 2xx ACKs and
239
- // handling retransmissions of the ACK which is an approach which is
240
- // not to spec. In any event, this block is intended to provide a to
241
- // spec implementation of ACK retransmissions, but it should not be
242
- // hit currently.
243
- let dialog = this.confirmedDialogs.get(dialogState.id)
244
- if (dialog) {
245
- // Once the ACK has been constructed, the procedures of [4] are used to
246
- // determine the destination address, port and transport. However, the
247
- // request is passed to the transport layer directly for transmission,
248
- // rather than a client transaction. This is because the UAC core
249
- // handles retransmissions of the ACK, not the transaction layer. The
250
- // ACK MUST be passed to the client transport every time a
251
- // retransmission of the 2xx final response that triggered the ACK
252
- // arrives.
253
- // https://tools.ietf.org/html/rfc3261#section-13.2.2.4
254
- const outgoingAckRequest = this.confirmedDialogAcks.get(dialogState.id)
255
- if (outgoingAckRequest) {
256
- const transaction = this.transaction
257
- if (!(transaction instanceof InviteClientTransaction)) {
258
- throw new Error('Client transaction not instance of InviteClientTransaction.')
259
- }
260
- transaction.ackResponse(outgoingAckRequest.message)
261
- } else {
262
- // If still waiting for an ACK, drop the retransmission of the 2xx final response.
263
- }
264
- return
265
- }
266
-
267
- // If the dialog identifier in the 2xx response matches the dialog
268
- // identifier of an existing dialog, the dialog MUST be transitioned to
269
- // the "confirmed" state, and the route set for the dialog MUST be
270
- // recomputed based on the 2xx response using the procedures of Section
271
- // 12.2.1.2. Otherwise, a new dialog in the "confirmed" state MUST be
272
- // constructed using the procedures of Section 12.1.2.
273
- // https://tools.ietf.org/html/rfc3261#section-13.2.2.4
274
- dialog = this.earlyDialogs.get(dialogState.id)
275
- if (dialog) {
276
- dialog.confirm()
277
- dialog.recomputeRouteSet(message)
278
- this.earlyDialogs.delete(dialog.id)
279
- this.confirmedDialogs.set(dialog.id, dialog)
280
- } else {
281
- const transaction = this.transaction
282
- if (!(transaction instanceof InviteClientTransaction)) {
283
- throw new Error('Transaction not instance of InviteClientTransaction.')
284
- }
285
- dialog = new SessionDialog(transaction, this.core, dialogState)
286
- this.confirmedDialogs.set(dialog.id, dialog)
287
- }
288
-
289
- // If the initial offer is in an INVITE, the answer MUST be in a
290
- // reliable non-failure message from UAS back to UAC which is
291
- // correlated to that INVITE. For this specification, that is
292
- // only the final 2xx response to that INVITE. That same exact
293
- // answer MAY also be placed in any provisional responses sent
294
- // prior to the answer. The UAC MUST treat the first session
295
- // description it receives as the answer, and MUST ignore any
296
- // session descriptions in subsequent responses to the initial
297
- // INVITE.
298
- // https://tools.ietf.org/html/rfc3261#section-13.2.1
299
- if (
300
- dialog.signalingState === SignalingState.Initial ||
301
- dialog.signalingState === SignalingState.HaveLocalOffer
302
- ) {
303
- dialog.signalingStateTransition(message)
304
- }
305
-
306
- // Session Initiated! :)
307
- const session = dialog
308
-
309
- // The UAC core MUST generate an ACK request for each 2xx received from
310
- // the transaction layer. The header fields of the ACK are constructed
311
- // in the same way as for any request sent within a dialog (see Section
312
- // 12) with the exception of the CSeq and the header fields related to
313
- // authentication. The sequence number of the CSeq header field MUST be
314
- // the same as the INVITE being acknowledged, but the CSeq method MUST
315
- // be ACK. The ACK MUST contain the same credentials as the INVITE. If
316
- // the 2xx contains an offer (based on the rules above), the ACK MUST
317
- // carry an answer in its body. If the offer in the 2xx response is not
318
- // acceptable, the UAC core MUST generate a valid answer in the ACK and
319
- // then send a BYE immediately.
320
- // https://tools.ietf.org/html/rfc3261#section-13.2.2.4
321
- if (this.delegate && this.delegate.onAccept) {
322
- this.delegate.onAccept({
323
- message,
324
- session,
325
- ack: (options?: RequestOptions): OutgoingAckRequest => {
326
- const outgoingAckRequest = session.ack(options)
327
- this.confirmedDialogAcks.set(session.id, outgoingAckRequest)
328
- return outgoingAckRequest
329
- }
330
- })
331
- } else {
332
- const outgoingAckRequest = session.ack()
333
- this.confirmedDialogAcks.set(session.id, outgoingAckRequest)
334
- }
335
- }
336
- return
337
- case /^3[0-9]{2}$/.test(statusCode):
338
- // 12.3 Termination of a Dialog
339
- //
340
- // Independent of the method, if a request outside of a dialog generates
341
- // a non-2xx final response, any early dialogs created through
342
- // provisional responses to that request are terminated. The mechanism
343
- // for terminating confirmed dialogs is method specific. In this
344
- // specification, the BYE method terminates a session and the dialog
345
- // associated with it. See Section 15 for details.
346
- // https://tools.ietf.org/html/rfc3261#section-12.3
347
-
348
- // All early dialogs are considered terminated upon reception of the
349
- // non-2xx final response.
350
- //
351
- // After having received the non-2xx final response the UAC core
352
- // considers the INVITE transaction completed. The INVITE client
353
- // transaction handles the generation of ACKs for the response (see
354
- // Section 17).
355
- // https://tools.ietf.org/html/rfc3261#section-13.2.2.3
356
- this.earlyDialogs.forEach((earlyDialog) => earlyDialog.dispose())
357
- this.earlyDialogs.clear()
358
-
359
- // A 3xx response may contain one or more Contact header field values
360
- // providing new addresses where the callee might be reachable.
361
- // Depending on the status code of the 3xx response (see Section 21.3),
362
- // the UAC MAY choose to try those new addresses.
363
- // https://tools.ietf.org/html/rfc3261#section-13.2.2.2
364
- if (this.delegate && this.delegate.onRedirect) {
365
- this.delegate.onRedirect({ message })
366
- }
367
- return
368
- case /^[4-6][0-9]{2}$/.test(statusCode):
369
- // 12.3 Termination of a Dialog
370
- //
371
- // Independent of the method, if a request outside of a dialog generates
372
- // a non-2xx final response, any early dialogs created through
373
- // provisional responses to that request are terminated. The mechanism
374
- // for terminating confirmed dialogs is method specific. In this
375
- // specification, the BYE method terminates a session and the dialog
376
- // associated with it. See Section 15 for details.
377
- // https://tools.ietf.org/html/rfc3261#section-12.3
378
-
379
- // All early dialogs are considered terminated upon reception of the
380
- // non-2xx final response.
381
- //
382
- // After having received the non-2xx final response the UAC core
383
- // considers the INVITE transaction completed. The INVITE client
384
- // transaction handles the generation of ACKs for the response (see
385
- // Section 17).
386
- // https://tools.ietf.org/html/rfc3261#section-13.2.2.3
387
- this.earlyDialogs.forEach((earlyDialog) => earlyDialog.dispose())
388
- this.earlyDialogs.clear()
389
-
390
- // A single non-2xx final response may be received for the INVITE. 4xx,
391
- // 5xx and 6xx responses may contain a Contact header field value
392
- // indicating the location where additional information about the error
393
- // can be found. Subsequent final responses (which would only arrive
394
- // under error conditions) MUST be ignored.
395
- // https://tools.ietf.org/html/rfc3261#section-13.2.2.3
396
- if (this.delegate && this.delegate.onReject) {
397
- this.delegate.onReject({ message })
398
- }
399
- return
400
- default:
401
- throw new Error(`Invalid status code ${statusCode}`)
402
- }
403
-
404
- throw new Error(`Executing what should be an unreachable code path receiving ${statusCode} response.`)
405
- }
406
- }