ue-softphone-sdk-beta 4.0.11 → 4.0.13

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 (189) hide show
  1. package/dist/lib/types/lib/sip.js/api/ack.d.ts +12 -0
  2. package/dist/lib/types/lib/sip.js/api/bye.d.ts +16 -0
  3. package/dist/lib/types/lib/sip.js/api/dtmf.d.ts +15 -0
  4. package/dist/lib/types/lib/sip.js/api/emitter.d.ts +88 -0
  5. package/dist/lib/types/lib/sip.js/api/exceptions/content-type-unsupported.d.ts +8 -0
  6. package/dist/lib/types/lib/sip.js/api/exceptions/index.d.ts +5 -0
  7. package/dist/lib/types/lib/sip.js/api/exceptions/request-pending.d.ts +9 -0
  8. package/dist/lib/types/lib/sip.js/api/exceptions/session-description-handler.d.ts +8 -0
  9. package/dist/lib/types/lib/sip.js/api/exceptions/session-terminated.d.ts +8 -0
  10. package/dist/lib/types/lib/sip.js/api/exceptions/state-transition.d.ts +8 -0
  11. package/dist/lib/types/lib/sip.js/api/index.d.ts +59 -0
  12. package/dist/lib/types/lib/sip.js/api/info.d.ts +16 -0
  13. package/dist/lib/types/lib/sip.js/api/invitation-accept-options.d.ts +19 -0
  14. package/dist/lib/types/lib/sip.js/api/invitation-progress-options.d.ts +38 -0
  15. package/dist/lib/types/lib/sip.js/api/invitation-reject-options.d.ts +25 -0
  16. package/dist/lib/types/lib/sip.js/api/invitation.d.ts +179 -0
  17. package/dist/lib/types/lib/sip.js/api/inviter-cancel-options.d.ts +9 -0
  18. package/dist/lib/types/lib/sip.js/api/inviter-invite-options.d.ts +28 -0
  19. package/dist/lib/types/lib/sip.js/api/inviter-options.d.ts +43 -0
  20. package/dist/lib/types/lib/sip.js/api/inviter.d.ts +236 -0
  21. package/dist/lib/types/lib/sip.js/api/message.d.ts +16 -0
  22. package/dist/lib/types/lib/sip.js/api/messager-message-options.d.ts +11 -0
  23. package/dist/lib/types/lib/sip.js/api/messager-options.d.ts +17 -0
  24. package/dist/lib/types/lib/sip.js/api/messager.d.ts +26 -0
  25. package/dist/lib/types/lib/sip.js/api/notification.d.ts +16 -0
  26. package/dist/lib/types/lib/sip.js/api/notifier.d.ts +8 -0
  27. package/dist/lib/types/lib/sip.js/api/publisher-options.d.ts +33 -0
  28. package/dist/lib/types/lib/sip.js/api/publisher-publish-options.d.ts +6 -0
  29. package/dist/lib/types/lib/sip.js/api/publisher-state.d.ts +21 -0
  30. package/dist/lib/types/lib/sip.js/api/publisher-unpublish-options.d.ts +6 -0
  31. package/dist/lib/types/lib/sip.js/api/publisher.d.ts +65 -0
  32. package/dist/lib/types/lib/sip.js/api/referral.d.ts +38 -0
  33. package/dist/lib/types/lib/sip.js/api/registerer-options.d.ts +46 -0
  34. package/dist/lib/types/lib/sip.js/api/registerer-register-options.d.ts +11 -0
  35. package/dist/lib/types/lib/sip.js/api/registerer-state.d.ts +21 -0
  36. package/dist/lib/types/lib/sip.js/api/registerer-unregister-options.d.ts +16 -0
  37. package/dist/lib/types/lib/sip.js/api/registerer.d.ts +144 -0
  38. package/dist/lib/types/lib/sip.js/api/session-bye-options.d.ts +11 -0
  39. package/dist/lib/types/lib/sip.js/api/session-delegate.d.ts +79 -0
  40. package/dist/lib/types/lib/sip.js/api/session-description-handler-factory.d.ts +15 -0
  41. package/dist/lib/types/lib/sip.js/api/session-description-handler.d.ts +74 -0
  42. package/dist/lib/types/lib/sip.js/api/session-info-options.d.ts +11 -0
  43. package/dist/lib/types/lib/sip.js/api/session-invite-options.d.ts +28 -0
  44. package/dist/lib/types/lib/sip.js/api/session-message-options.d.ts +11 -0
  45. package/dist/lib/types/lib/sip.js/api/session-options.d.ts +8 -0
  46. package/dist/lib/types/lib/sip.js/api/session-refer-options.d.ts +14 -0
  47. package/dist/lib/types/lib/sip.js/api/session-state.d.ts +45 -0
  48. package/dist/lib/types/lib/sip.js/api/session.d.ts +359 -0
  49. package/dist/lib/types/lib/sip.js/api/subscriber-options.d.ts +11 -0
  50. package/dist/lib/types/lib/sip.js/api/subscriber-subscribe-options.d.ts +6 -0
  51. package/dist/lib/types/lib/sip.js/api/subscriber.d.ts +94 -0
  52. package/dist/lib/types/lib/sip.js/api/subscription-delegate.d.ts +12 -0
  53. package/dist/lib/types/lib/sip.js/api/subscription-options.d.ts +8 -0
  54. package/dist/lib/types/lib/sip.js/api/subscription-state.d.ts +19 -0
  55. package/dist/lib/types/lib/sip.js/api/subscription-subscribe-options.d.ts +6 -0
  56. package/dist/lib/types/lib/sip.js/api/subscription-unsubscribe-options.d.ts +6 -0
  57. package/dist/lib/types/lib/sip.js/api/subscription.d.ts +84 -0
  58. package/dist/lib/types/lib/sip.js/api/transport-state.d.ts +37 -0
  59. package/dist/lib/types/lib/sip.js/api/transport.d.ts +159 -0
  60. package/dist/lib/types/lib/sip.js/api/user-agent-delegate.d.ts +84 -0
  61. package/dist/lib/types/lib/sip.js/api/user-agent-options.d.ts +253 -0
  62. package/dist/lib/types/lib/sip.js/api/user-agent-state.d.ts +14 -0
  63. package/dist/lib/types/lib/sip.js/api/user-agent.d.ts +200 -0
  64. package/dist/lib/types/lib/sip.js/core/dialogs/dialog-state.d.ts +34 -0
  65. package/dist/lib/types/lib/sip.js/core/dialogs/dialog.d.ts +161 -0
  66. package/dist/lib/types/lib/sip.js/core/dialogs/index.d.ts +4 -0
  67. package/dist/lib/types/lib/sip.js/core/dialogs/session-dialog.d.ts +196 -0
  68. package/dist/lib/types/lib/sip.js/core/dialogs/subscription-dialog.d.ts +120 -0
  69. package/dist/lib/types/lib/sip.js/core/exceptions/exception.d.ts +8 -0
  70. package/dist/lib/types/lib/sip.js/core/exceptions/index.d.ts +3 -0
  71. package/dist/lib/types/lib/sip.js/core/exceptions/transaction-state-error.d.ts +8 -0
  72. package/dist/lib/types/lib/sip.js/core/exceptions/transport-error.d.ts +8 -0
  73. package/dist/lib/types/lib/sip.js/core/index.d.ts +15 -0
  74. package/dist/lib/types/lib/sip.js/core/log/index.d.ts +3 -0
  75. package/dist/lib/types/lib/sip.js/core/log/levels.d.ts +10 -0
  76. package/dist/lib/types/lib/sip.js/core/log/logger-factory.d.ts +21 -0
  77. package/dist/lib/types/lib/sip.js/core/log/logger.d.ts +19 -0
  78. package/dist/lib/types/lib/sip.js/core/messages/body.d.ts +64 -0
  79. package/dist/lib/types/lib/sip.js/core/messages/digest-authentication.d.ts +51 -0
  80. package/dist/lib/types/lib/sip.js/core/messages/incoming-message.d.ts +79 -0
  81. package/dist/lib/types/lib/sip.js/core/messages/incoming-request-message.d.ts +10 -0
  82. package/dist/lib/types/lib/sip.js/core/messages/incoming-request.d.ts +67 -0
  83. package/dist/lib/types/lib/sip.js/core/messages/incoming-response-message.d.ts +10 -0
  84. package/dist/lib/types/lib/sip.js/core/messages/incoming-response.d.ts +12 -0
  85. package/dist/lib/types/lib/sip.js/core/messages/index.d.ts +13 -0
  86. package/dist/lib/types/lib/sip.js/core/messages/md5.d.ts +32 -0
  87. package/dist/lib/types/lib/sip.js/core/messages/methods/ack.d.ts +18 -0
  88. package/dist/lib/types/lib/sip.js/core/messages/methods/bye.d.ts +21 -0
  89. package/dist/lib/types/lib/sip.js/core/messages/methods/cancel.d.ts +21 -0
  90. package/dist/lib/types/lib/sip.js/core/messages/methods/constants.d.ts +20 -0
  91. package/dist/lib/types/lib/sip.js/core/messages/methods/index.d.ts +13 -0
  92. package/dist/lib/types/lib/sip.js/core/messages/methods/info.d.ts +21 -0
  93. package/dist/lib/types/lib/sip.js/core/messages/methods/invite.d.ts +86 -0
  94. package/dist/lib/types/lib/sip.js/core/messages/methods/message.d.ts +21 -0
  95. package/dist/lib/types/lib/sip.js/core/messages/methods/notify.d.ts +21 -0
  96. package/dist/lib/types/lib/sip.js/core/messages/methods/prack.d.ts +21 -0
  97. package/dist/lib/types/lib/sip.js/core/messages/methods/publish.d.ts +21 -0
  98. package/dist/lib/types/lib/sip.js/core/messages/methods/refer.d.ts +21 -0
  99. package/dist/lib/types/lib/sip.js/core/messages/methods/register.d.ts +21 -0
  100. package/dist/lib/types/lib/sip.js/core/messages/methods/subscribe.d.ts +54 -0
  101. package/dist/lib/types/lib/sip.js/core/messages/outgoing-request-message.d.ts +94 -0
  102. package/dist/lib/types/lib/sip.js/core/messages/outgoing-request.d.ts +67 -0
  103. package/dist/lib/types/lib/sip.js/core/messages/outgoing-response.d.ts +42 -0
  104. package/dist/lib/types/lib/sip.js/core/messages/parser.d.ts +14 -0
  105. package/dist/lib/types/lib/sip.js/core/messages/utils.d.ts +24 -0
  106. package/dist/lib/types/lib/sip.js/core/session/index.d.ts +2 -0
  107. package/dist/lib/types/lib/sip.js/core/session/session-delegate.d.ts +70 -0
  108. package/dist/lib/types/lib/sip.js/core/session/session.d.ts +134 -0
  109. package/dist/lib/types/lib/sip.js/core/subscription/index.d.ts +2 -0
  110. package/dist/lib/types/lib/sip.js/core/subscription/subscription-delegate.d.ts +27 -0
  111. package/dist/lib/types/lib/sip.js/core/subscription/subscription.d.ts +55 -0
  112. package/dist/lib/types/lib/sip.js/core/timers.d.ts +20 -0
  113. package/dist/lib/types/lib/sip.js/core/transactions/client-transaction.d.ts +45 -0
  114. package/dist/lib/types/lib/sip.js/core/transactions/index.d.ts +10 -0
  115. package/dist/lib/types/lib/sip.js/core/transactions/invite-client-transaction.d.ts +116 -0
  116. package/dist/lib/types/lib/sip.js/core/transactions/invite-server-transaction.d.ts +127 -0
  117. package/dist/lib/types/lib/sip.js/core/transactions/non-invite-client-transaction.d.ts +69 -0
  118. package/dist/lib/types/lib/sip.js/core/transactions/non-invite-server-transaction.d.ts +57 -0
  119. package/dist/lib/types/lib/sip.js/core/transactions/server-transaction.d.ts +35 -0
  120. package/dist/lib/types/lib/sip.js/core/transactions/transaction-state.d.ts +13 -0
  121. package/dist/lib/types/lib/sip.js/core/transactions/transaction-user.d.ts +72 -0
  122. package/dist/lib/types/lib/sip.js/core/transactions/transaction.d.ts +79 -0
  123. package/dist/lib/types/lib/sip.js/core/transport.d.ts +31 -0
  124. package/dist/lib/types/lib/sip.js/core/user-agent-core/allowed-methods.d.ts +4 -0
  125. package/dist/lib/types/lib/sip.js/core/user-agent-core/index.d.ts +3 -0
  126. package/dist/lib/types/lib/sip.js/core/user-agent-core/user-agent-core-configuration.d.ts +99 -0
  127. package/dist/lib/types/lib/sip.js/core/user-agent-core/user-agent-core-delegate.d.ts +37 -0
  128. package/dist/lib/types/lib/sip.js/core/user-agent-core/user-agent-core.d.ts +179 -0
  129. package/dist/lib/types/lib/sip.js/core/user-agents/bye-user-agent-client.d.ts +10 -0
  130. package/dist/lib/types/lib/sip.js/core/user-agents/bye-user-agent-server.d.ts +10 -0
  131. package/dist/lib/types/lib/sip.js/core/user-agents/cancel-user-agent-client.d.ts +10 -0
  132. package/dist/lib/types/lib/sip.js/core/user-agents/index.d.ts +26 -0
  133. package/dist/lib/types/lib/sip.js/core/user-agents/info-user-agent-client.d.ts +10 -0
  134. package/dist/lib/types/lib/sip.js/core/user-agents/info-user-agent-server.d.ts +10 -0
  135. package/dist/lib/types/lib/sip.js/core/user-agents/invite-user-agent-client.d.ts +35 -0
  136. package/dist/lib/types/lib/sip.js/core/user-agents/invite-user-agent-server.d.ts +77 -0
  137. package/dist/lib/types/lib/sip.js/core/user-agents/message-user-agent-client.d.ts +10 -0
  138. package/dist/lib/types/lib/sip.js/core/user-agents/message-user-agent-server.d.ts +10 -0
  139. package/dist/lib/types/lib/sip.js/core/user-agents/notify-user-agent-client.d.ts +10 -0
  140. package/dist/lib/types/lib/sip.js/core/user-agents/notify-user-agent-server.d.ts +16 -0
  141. package/dist/lib/types/lib/sip.js/core/user-agents/prack-user-agent-client.d.ts +10 -0
  142. package/dist/lib/types/lib/sip.js/core/user-agents/prack-user-agent-server.d.ts +16 -0
  143. package/dist/lib/types/lib/sip.js/core/user-agents/publish-user-agent-client.d.ts +10 -0
  144. package/dist/lib/types/lib/sip.js/core/user-agents/re-invite-user-agent-client.d.ts +18 -0
  145. package/dist/lib/types/lib/sip.js/core/user-agents/re-invite-user-agent-server.d.ts +41 -0
  146. package/dist/lib/types/lib/sip.js/core/user-agents/re-subscribe-user-agent-client.d.ts +17 -0
  147. package/dist/lib/types/lib/sip.js/core/user-agents/re-subscribe-user-agent-server.d.ts +10 -0
  148. package/dist/lib/types/lib/sip.js/core/user-agents/refer-user-agent-client.d.ts +10 -0
  149. package/dist/lib/types/lib/sip.js/core/user-agents/refer-user-agent-server.d.ts +16 -0
  150. package/dist/lib/types/lib/sip.js/core/user-agents/register-user-agent-client.d.ts +10 -0
  151. package/dist/lib/types/lib/sip.js/core/user-agents/register-user-agent-server.d.ts +11 -0
  152. package/dist/lib/types/lib/sip.js/core/user-agents/subscribe-user-agent-client.d.ts +65 -0
  153. package/dist/lib/types/lib/sip.js/core/user-agents/subscribe-user-agent-server.d.ts +11 -0
  154. package/dist/lib/types/lib/sip.js/core/user-agents/user-agent-client.d.ts +103 -0
  155. package/dist/lib/types/lib/sip.js/core/user-agents/user-agent-server.d.ts +79 -0
  156. package/dist/lib/types/lib/sip.js/grammar/grammar.d.ts +26 -0
  157. package/dist/lib/types/lib/sip.js/grammar/index.d.ts +4 -0
  158. package/dist/lib/types/lib/sip.js/grammar/name-addr-header.d.ts +24 -0
  159. package/dist/lib/types/lib/sip.js/grammar/parameters.d.ts +16 -0
  160. package/dist/lib/types/lib/sip.js/grammar/pegjs/dist/grammar.d.ts +50 -0
  161. package/dist/lib/types/lib/sip.js/grammar/uri.d.ts +62 -0
  162. package/dist/lib/types/lib/sip.js/index.d.ts +9 -0
  163. package/dist/lib/types/lib/sip.js/platform/web/index.d.ts +4 -0
  164. package/dist/lib/types/lib/sip.js/platform/web/modifiers/index.d.ts +5 -0
  165. package/dist/lib/types/lib/sip.js/platform/web/modifiers/modifiers.d.ts +41 -0
  166. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/index.d.ts +14 -0
  167. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/media-stream-factory-default.d.ts +6 -0
  168. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/media-stream-factory.d.ts +6 -0
  169. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/peer-connection-configuration-default.d.ts +5 -0
  170. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/peer-connection-delegate.d.ts +63 -0
  171. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-configuration.d.ts +16 -0
  172. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory-default.d.ts +11 -0
  173. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory-options.d.ts +9 -0
  174. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-factory.d.ts +16 -0
  175. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler-options.d.ts +47 -0
  176. package/dist/lib/types/lib/sip.js/platform/web/session-description-handler/session-description-handler.d.ts +212 -0
  177. package/dist/lib/types/lib/sip.js/platform/web/simple-user/index.d.ts +7 -0
  178. package/dist/lib/types/lib/sip.js/platform/web/simple-user/simple-user-delegate.d.ts +72 -0
  179. package/dist/lib/types/lib/sip.js/platform/web/simple-user/simple-user-options.d.ts +90 -0
  180. package/dist/lib/types/lib/sip.js/platform/web/simple-user/simple-user.d.ts +226 -0
  181. package/dist/lib/types/lib/sip.js/platform/web/transport/index.d.ts +6 -0
  182. package/dist/lib/types/lib/sip.js/platform/web/transport/transport-options.d.ts +30 -0
  183. package/dist/lib/types/lib/sip.js/platform/web/transport/transport.d.ts +125 -0
  184. package/dist/lib/types/lib/sip.js/version.d.ts +1 -0
  185. package/dist/lib/types/webrtc/webrtc-method.d.ts +2 -0
  186. package/dist/lib/types/webrtc/webrtc.d.ts +38 -0
  187. package/dist/lib/ue-soft-phone.min.js +1 -1
  188. package/dist/ue-softphone-sdk.js +1 -1
  189. package/package.json +1 -1
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Delegate for {@link SimpleUser}.
3
+ * @public
4
+ */
5
+ export interface SimpleUserDelegate {
6
+ /**
7
+ * Called when a call is answered.
8
+ * @remarks
9
+ * Callback for handling establishment of a new Session.
10
+ */
11
+ onCallAnswered?(): void;
12
+ /**
13
+ * Called when a call is created.
14
+ * @remarks
15
+ * Callback for handling the creation of a new Session.
16
+ */
17
+ onCallCreated?(): void;
18
+ /**
19
+ * Called when a call is received.
20
+ * @remarks
21
+ * Callback for handling incoming INVITE requests.
22
+ * The callback must either accept or reject the incoming call by calling `answer()` or `decline()` respectively.
23
+ */
24
+ onCallReceived?(): void;
25
+ /**
26
+ * Called when a call is hung up.
27
+ * @remarks
28
+ * Callback for handling termination of a Session.
29
+ */
30
+ onCallHangup?(): void;
31
+ /**
32
+ * Called when a call is put on hold or taken off hold.
33
+ * @remarks
34
+ * Callback for handling re-INVITE responses.
35
+ */
36
+ onCallHold?(held: boolean): void;
37
+ /**
38
+ * Called when a call receives an incoming DTMF tone.
39
+ * @remarks
40
+ * Callback for handling an incoming INFO request with content type application/dtmf-relay.
41
+ */
42
+ onCallDTMFReceived?(tone: string, duration: number): void;
43
+ /**
44
+ * Called upon receiving a message.
45
+ * @remarks
46
+ * Callback for handling incoming MESSAGE requests.
47
+ * @param message - The message received.
48
+ */
49
+ onMessageReceived?(message: string): void;
50
+ /**
51
+ * Called when user is registered to received calls.
52
+ */
53
+ onRegistered?(): void;
54
+ /**
55
+ * Called when user is no longer registered to received calls.
56
+ */
57
+ onUnregistered?(): void;
58
+ /**
59
+ * Called when user is connected to server.
60
+ * @remarks
61
+ * Callback for handling user becomes connected.
62
+ */
63
+ onServerConnect?(): void;
64
+ /**
65
+ * Called when user is no longer connected.
66
+ * @remarks
67
+ * Callback for handling user becomes disconnected.
68
+ *
69
+ * @param error - An Error if server caused the disconnect. Otherwise undefined.
70
+ */
71
+ onServerDisconnect?(error?: Error): void;
72
+ }
@@ -0,0 +1,90 @@
1
+ import { UserAgentOptions } from "../../../api";
2
+ import { SimpleUserDelegate } from "./simple-user-delegate";
3
+ /**
4
+ * Media for {@link SimpleUserOptions}.
5
+ * @public
6
+ */
7
+ export interface SimpleUserMedia {
8
+ /**
9
+ * Offer/Answer constraints determine if audio and/or video are utilized.
10
+ * If not specified, only audio is utilized (audio is true, video is false).
11
+ * @remarks
12
+ * Constraints are used when creating local media stream.
13
+ * If undefined, defaults to audio true and video false.
14
+ * If audio and video are false, media stream will have no tracks.
15
+ */
16
+ constraints?: SimpleUserMediaConstraints;
17
+ /** HTML elements for local media streams. */
18
+ local?: SimpleUserMediaLocal;
19
+ /** Local HTML media elements. */
20
+ remote?: SimpleUserMediaRemote;
21
+ }
22
+ /**
23
+ * Constraints for {@link SimpleUserMedia}.
24
+ * @public
25
+ */
26
+ export interface SimpleUserMediaConstraints {
27
+ /** If true, offer and answer to send and receive audio. */
28
+ audio: boolean;
29
+ /** If true, offer and answer to send and receive video. */
30
+ video: boolean;
31
+ }
32
+ /**
33
+ * Local media elements for {@link SimpleUserMedia}.
34
+ * @public
35
+ */
36
+ export interface SimpleUserMediaLocal {
37
+ /** The local video media stream is attached to this element. */
38
+ video?: HTMLVideoElement;
39
+ }
40
+ /**
41
+ * Remote media elements for {@link SimpleUserMedia}.
42
+ * @public
43
+ */
44
+ export interface SimpleUserMediaRemote {
45
+ /** The remote audio media stream is attached to this element. */
46
+ audio?: HTMLAudioElement;
47
+ /** The remote video media stream is attached to this element. */
48
+ video?: HTMLVideoElement;
49
+ }
50
+ /**
51
+ * Options for {@link SimpleUser}.
52
+ * @public
53
+ */
54
+ export interface SimpleUserOptions {
55
+ /**
56
+ * User's SIP Address of Record (AOR).
57
+ * @remarks
58
+ * The AOR is registered to receive incoming calls.
59
+ * If not specified, a random anonymous address is created for the user.
60
+ */
61
+ aor?: string;
62
+ /**
63
+ * Delegate for SimpleUser.
64
+ */
65
+ delegate?: SimpleUserDelegate;
66
+ /**
67
+ * Media options.
68
+ */
69
+ media?: SimpleUserMedia;
70
+ /**
71
+ * Maximum number of times to attempt to reconnection.
72
+ * @remarks
73
+ * When the transport connection is lost (WebSocket disconnects),
74
+ * reconnection will be attempted immediately. If that fails,
75
+ * reconnection will be attempted again when the browser indicates
76
+ * the application has come online. See:
77
+ * https://developer.mozilla.org/en-US/docs/Web/API/NavigatorOnLine
78
+ * @defaultValue 3
79
+ */
80
+ reconnectionAttempts?: number;
81
+ /**
82
+ * Seconds to wait between reconnection attempts.
83
+ * @defaultValue 4
84
+ */
85
+ reconnectionDelay?: number;
86
+ /**
87
+ * Options for UserAgent.
88
+ */
89
+ userAgentOptions?: UserAgentOptions;
90
+ }
@@ -0,0 +1,226 @@
1
+ import { InvitationAcceptOptions, InviterInviteOptions, InviterOptions, RegistererOptions, RegistererRegisterOptions, RegistererUnregisterOptions } from "../../../api";
2
+ import { SimpleUserDelegate } from "./simple-user-delegate";
3
+ import { SimpleUserOptions } from "./simple-user-options";
4
+ /**
5
+ * A simple SIP user class.
6
+ * @remarks
7
+ * While this class is completely functional for simple use cases, it is not intended
8
+ * to provide an interface which is suitable for most (must less all) applications.
9
+ * While this class has many limitations (for example, it only handles a single concurrent session),
10
+ * it is, however, intended to serve as a simple example of using the SIP.js API.
11
+ * @public
12
+ */
13
+ export declare class SimpleUser {
14
+ /** Delegate. */
15
+ delegate: SimpleUserDelegate | undefined;
16
+ private attemptingReconnection;
17
+ private connectRequested;
18
+ private logger;
19
+ private held;
20
+ private muted;
21
+ private options;
22
+ private registerer;
23
+ private registerRequested;
24
+ private session;
25
+ private userAgent;
26
+ /**
27
+ * Constructs a new instance of the `SimpleUser` class.
28
+ * @param server - SIP WebSocket Server URL.
29
+ * @param options - Options bucket. See {@link SimpleUserOptions} for details.
30
+ */
31
+ constructor(server: string, options?: SimpleUserOptions);
32
+ /**
33
+ * Instance identifier.
34
+ * @internal
35
+ */
36
+ get id(): string;
37
+ /** The local media stream. Undefined if call not answered. */
38
+ get localMediaStream(): MediaStream | undefined;
39
+ /** The remote media stream. Undefined if call not answered. */
40
+ get remoteMediaStream(): MediaStream | undefined;
41
+ /**
42
+ * The local audio track, if available.
43
+ * @deprecated Use localMediaStream and get track from the stream.
44
+ */
45
+ get localAudioTrack(): MediaStreamTrack | undefined;
46
+ /**
47
+ * The local video track, if available.
48
+ * @deprecated Use localMediaStream and get track from the stream.
49
+ */
50
+ get localVideoTrack(): MediaStreamTrack | undefined;
51
+ /**
52
+ * The remote audio track, if available.
53
+ * @deprecated Use remoteMediaStream and get track from the stream.
54
+ */
55
+ get remoteAudioTrack(): MediaStreamTrack | undefined;
56
+ /**
57
+ * The remote video track, if available.
58
+ * @deprecated Use remoteMediaStream and get track from the stream.
59
+ */
60
+ get remoteVideoTrack(): MediaStreamTrack | undefined;
61
+ /**
62
+ * Connect.
63
+ * @remarks
64
+ * Start the UserAgent's WebSocket Transport.
65
+ */
66
+ connect(): Promise<void>;
67
+ /**
68
+ * Disconnect.
69
+ * @remarks
70
+ * Stop the UserAgent's WebSocket Transport.
71
+ */
72
+ disconnect(): Promise<void>;
73
+ /**
74
+ * Return true if connected.
75
+ */
76
+ isConnected(): boolean;
77
+ /**
78
+ * Start receiving incoming calls.
79
+ * @remarks
80
+ * Send a REGISTER request for the UserAgent's AOR.
81
+ * Resolves when the REGISTER request is sent, otherwise rejects.
82
+ */
83
+ register(registererOptions?: RegistererOptions, registererRegisterOptions?: RegistererRegisterOptions): Promise<void>;
84
+ /**
85
+ * Stop receiving incoming calls.
86
+ * @remarks
87
+ * Send an un-REGISTER request for the UserAgent's AOR.
88
+ * Resolves when the un-REGISTER request is sent, otherwise rejects.
89
+ */
90
+ unregister(registererUnregisterOptions?: RegistererUnregisterOptions): Promise<void>;
91
+ /**
92
+ * Make an outgoing call.
93
+ * @remarks
94
+ * Send an INVITE request to create a new Session.
95
+ * Resolves when the INVITE request is sent, otherwise rejects.
96
+ * Use `onCallAnswered` delegate method to determine if Session is established.
97
+ * @param destination - The target destination to call. A SIP address to send the INVITE to.
98
+ * @param inviterOptions - Optional options for Inviter constructor.
99
+ * @param inviterInviteOptions - Optional options for Inviter.invite().
100
+ */
101
+ call(destination: string, inviterOptions?: InviterOptions, inviterInviteOptions?: InviterInviteOptions): Promise<void>;
102
+ /**
103
+ * Hangup a call.
104
+ * @remarks
105
+ * Send a BYE request, CANCEL request or reject response to end the current Session.
106
+ * Resolves when the request/response is sent, otherwise rejects.
107
+ * Use `onCallTerminated` delegate method to determine if and when call is ended.
108
+ */
109
+ hangup(): Promise<void>;
110
+ /**
111
+ * Answer an incoming call.
112
+ * @remarks
113
+ * Accept an incoming INVITE request creating a new Session.
114
+ * Resolves with the response is sent, otherwise rejects.
115
+ * Use `onCallAnswered` delegate method to determine if and when call is established.
116
+ * @param invitationAcceptOptions - Optional options for Inviter.accept().
117
+ */
118
+ answer(invitationAcceptOptions?: InvitationAcceptOptions): Promise<void>;
119
+ /**
120
+ * Decline an incoming call.
121
+ * @remarks
122
+ * Reject an incoming INVITE request.
123
+ * Resolves with the response is sent, otherwise rejects.
124
+ * Use `onCallTerminated` delegate method to determine if and when call is ended.
125
+ */
126
+ decline(): Promise<void>;
127
+ /**
128
+ * Hold call
129
+ * @remarks
130
+ * Send a re-INVITE with new offer indicating "hold".
131
+ * Resolves when the re-INVITE request is sent, otherwise rejects.
132
+ * Use `onCallHold` delegate method to determine if request is accepted or rejected.
133
+ * See: https://tools.ietf.org/html/rfc6337
134
+ */
135
+ hold(): Promise<void>;
136
+ /**
137
+ * Unhold call.
138
+ * @remarks
139
+ * Send a re-INVITE with new offer indicating "unhold".
140
+ * Resolves when the re-INVITE request is sent, otherwise rejects.
141
+ * Use `onCallHold` delegate method to determine if request is accepted or rejected.
142
+ * See: https://tools.ietf.org/html/rfc6337
143
+ */
144
+ unhold(): Promise<void>;
145
+ /**
146
+ * Hold state.
147
+ * @remarks
148
+ * True if session media is on hold.
149
+ */
150
+ isHeld(): boolean;
151
+ /**
152
+ * Mute call.
153
+ * @remarks
154
+ * Disable sender's media tracks.
155
+ */
156
+ mute(): void;
157
+ /**
158
+ * Unmute call.
159
+ * @remarks
160
+ * Enable sender's media tracks.
161
+ */
162
+ unmute(): void;
163
+ /**
164
+ * Mute state.
165
+ * @remarks
166
+ * True if sender's media track is disabled.
167
+ */
168
+ isMuted(): boolean;
169
+ /**
170
+ * Send DTMF.
171
+ * @remarks
172
+ * Send an INFO request with content type application/dtmf-relay.
173
+ * @param tone - Tone to send.
174
+ */
175
+ sendDTMF(tone: string): Promise<void>;
176
+ /**
177
+ * Send a message.
178
+ * @remarks
179
+ * Send a MESSAGE request.
180
+ * @param destination - The target destination for the message. A SIP address to send the MESSAGE to.
181
+ */
182
+ message(destination: string, message: string): Promise<void>;
183
+ /** Media constraints. */
184
+ private get constraints();
185
+ /**
186
+ * Attempt reconnection up to `maxReconnectionAttempts` times.
187
+ * @param reconnectionAttempt - Current attempt number.
188
+ */
189
+ private attemptReconnection;
190
+ /** Helper function to remove media from html elements. */
191
+ private cleanupMedia;
192
+ /** Helper function to enable/disable media tracks. */
193
+ private enableReceiverTracks;
194
+ /** Helper function to enable/disable media tracks. */
195
+ private enableSenderTracks;
196
+ /**
197
+ * Setup session delegate and state change handler.
198
+ * @param session - Session to setup
199
+ * @param referralInviterOptions - Options for any Inviter created as result of a REFER.
200
+ */
201
+ private initSession;
202
+ /** Helper function to init send then send invite. */
203
+ private sendInvite;
204
+ /**
205
+ * Puts Session on hold.
206
+ * @param hold - Hold on if true, off if false.
207
+ */
208
+ private setHold;
209
+ /**
210
+ * Puts Session on mute.
211
+ * @param mute - Mute on if true, off if false.
212
+ */
213
+ private setMute;
214
+ /** Helper function to attach local media to html elements. */
215
+ private setupLocalMedia;
216
+ /** Helper function to attach remote media to html elements. */
217
+ private setupRemoteMedia;
218
+ /**
219
+ * End a session.
220
+ * @remarks
221
+ * Send a BYE request, CANCEL request or reject response to end the current Session.
222
+ * Resolves when the request/response is sent, otherwise rejects.
223
+ * Use `onCallTerminated` delegate method to determine if and when Session is terminated.
224
+ */
225
+ private terminate;
226
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * A Transport implementation for web browsers.
3
+ * @packageDocumentation
4
+ */
5
+ export * from "./transport";
6
+ export * from "./transport-options";
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Transport options.
3
+ * @public
4
+ */
5
+ export interface TransportOptions {
6
+ /**
7
+ * URL of WebSocket server to connect with. For example, "wss://localhost:8080".
8
+ */
9
+ server: string;
10
+ /**
11
+ * Seconds to wait for WebSocket to connect before giving up.
12
+ * @defaultValue `5`
13
+ */
14
+ connectionTimeout?: number;
15
+ /**
16
+ * Keep alive - needs review.
17
+ * @internal
18
+ */
19
+ keepAliveInterval?: number;
20
+ /**
21
+ * Keep alive - needs review.
22
+ * @internal
23
+ */
24
+ keepAliveDebounce?: number;
25
+ /**
26
+ * If true, messages sent and received by the transport are logged.
27
+ * @defaultValue `true`
28
+ */
29
+ traceSip?: boolean;
30
+ }
@@ -0,0 +1,125 @@
1
+ import { Emitter } from '../../../api/emitter';
2
+ import { Transport as TransportDefinition } from '../../../api/transport';
3
+ import { TransportState } from '../../../api/transport-state';
4
+ import { Logger } from '../../../core';
5
+ import { TransportOptions } from './transport-options';
6
+ /**
7
+ * Transport for SIP over secure WebSocket (WSS).
8
+ * @public
9
+ */
10
+ export declare class Transport implements TransportDefinition {
11
+ private static defaultOptions;
12
+ onConnect: (() => void) | undefined;
13
+ onDisconnect: ((error?: Error) => void) | undefined;
14
+ onMessage: ((message: string) => void) | undefined;
15
+ private _protocol;
16
+ private _state;
17
+ private _stateEventEmitter;
18
+ private _ws;
19
+ private configuration;
20
+ private connectPromise;
21
+ private connectResolve;
22
+ private connectReject;
23
+ private connectTimeout;
24
+ private disconnectPromise;
25
+ private disconnectResolve;
26
+ private disconnectReject;
27
+ private keepAliveInterval;
28
+ private keepAliveDebounceTimeout;
29
+ private logger;
30
+ private transitioningState;
31
+ constructor(logger: Logger, options?: TransportOptions);
32
+ dispose(): Promise<void>;
33
+ /**
34
+ * The protocol.
35
+ *
36
+ * @remarks
37
+ * Formatted as defined for the Via header sent-protocol transport.
38
+ * https://tools.ietf.org/html/rfc3261#section-20.42
39
+ */
40
+ get protocol(): string;
41
+ /**
42
+ * The URL of the WebSocket Server.
43
+ */
44
+ get server(): string;
45
+ /**
46
+ * Transport state.
47
+ */
48
+ get state(): TransportState;
49
+ /**
50
+ * Transport state change emitter.
51
+ */
52
+ get stateChange(): Emitter<TransportState>;
53
+ /**
54
+ * The WebSocket.
55
+ */
56
+ get ws(): WebSocket | undefined;
57
+ /**
58
+ * Connect to network.
59
+ * Resolves once connected. Otherwise rejects with an Error.
60
+ */
61
+ connect(): Promise<void>;
62
+ /**
63
+ * Disconnect from network.
64
+ * Resolves once disconnected. Otherwise rejects with an Error.
65
+ */
66
+ disconnect(): Promise<void>;
67
+ /**
68
+ * Returns true if the `state` equals "Connected".
69
+ * @remarks
70
+ * This is equivalent to `state === TransportState.Connected`.
71
+ */
72
+ isConnected(): boolean;
73
+ /**
74
+ * Sends a message.
75
+ * Resolves once message is sent. Otherwise rejects with an Error.
76
+ * @param message - Message to send.
77
+ */
78
+ send(message: string): Promise<void>;
79
+ private _connect;
80
+ private _disconnect;
81
+ private _send;
82
+ /**
83
+ * WebSocket "onclose" event handler.
84
+ * @param ev - Event.
85
+ */
86
+ private onWebSocketClose;
87
+ /**
88
+ * WebSocket "onerror" event handler.
89
+ * @param ev - Event.
90
+ */
91
+ private onWebSocketError;
92
+ /**
93
+ * WebSocket "onmessage" event handler.
94
+ * @param ev - Event.
95
+ */
96
+ private onWebSocketMessage;
97
+ /**
98
+ * WebSocket "onopen" event handler.
99
+ * @param ev - Event.
100
+ */
101
+ private onWebSocketOpen;
102
+ /**
103
+ * Helper function to generate an Error.
104
+ * @param state - State transitioning to.
105
+ */
106
+ private transitionLoopDetectedError;
107
+ /**
108
+ * Transition transport state.
109
+ * @internal
110
+ */
111
+ private transitionState;
112
+ private clearKeepAliveTimeout;
113
+ /**
114
+ * Send a keep-alive (a double-CRLF sequence).
115
+ */
116
+ private sendKeepAlive;
117
+ /**
118
+ * Start sending keep-alives.
119
+ */
120
+ private startSendingKeepAlives;
121
+ /**
122
+ * Stop sending keep-alives.
123
+ */
124
+ private stopSendingKeepAlives;
125
+ }
@@ -0,0 +1 @@
1
+ export declare const LIBRARY_VERSION = "0.20.0";
@@ -0,0 +1,2 @@
1
+ export declare function getAudio(id: string): HTMLAudioElement;
2
+ export declare function assignStream(stream: MediaStream, element: HTMLMediaElement): void;
@@ -0,0 +1,38 @@
1
+ import { RegistererUnregisterOptions } from '../lib/sip.js/index.ts';
2
+ interface Options {
3
+ server: string;
4
+ sip: string;
5
+ secret: string;
6
+ onmessage?(event: string): void;
7
+ error?(error: string): void;
8
+ }
9
+ export default class UeWebrtc {
10
+ private registerer;
11
+ private userAgent;
12
+ private Ginvitation;
13
+ private registerRequested;
14
+ private attemptingReconnection;
15
+ private connectRequested;
16
+ private requestDelegate;
17
+ constructor(options: Options);
18
+ accept: () => Promise<void>;
19
+ /**
20
+ * Start receiving incoming calls.
21
+ * @remarks
22
+ * Send a REGISTER request for the UserAgent's AOR.
23
+ * Resolves when the REGISTER request is sent, otherwise rejects.
24
+ */
25
+ register(): Promise<void>;
26
+ unregister(registererUnregisterOptions?: RegistererUnregisterOptions): Promise<void>;
27
+ /**
28
+ * Attempt reconnection up to `maxReconnectionAttempts` times.
29
+ * @param reconnectionAttempt - Current attempt number.
30
+ */
31
+ private attemptReconnection;
32
+ ueUnregisterWebrtc: () => Promise<boolean | void>;
33
+ sendDTMF(tone: string): Promise<void>;
34
+ disconnect(): any;
35
+ connect(): any;
36
+ isConnected(): boolean;
37
+ }
38
+ export {};