ue-softphone-sdk 2.2.2 → 2.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/bye.d.ts +16 -0
- package/dist/api/dtmf.d.ts +15 -0
- package/dist/api/emitter.d.ts +88 -0
- package/dist/api/exceptions/content-type-unsupported.d.ts +8 -0
- package/dist/api/exceptions/index.d.ts +5 -0
- package/dist/api/exceptions/request-pending.d.ts +9 -0
- package/dist/api/exceptions/session-description-handler.d.ts +8 -0
- package/dist/api/exceptions/session-terminated.d.ts +8 -0
- package/dist/api/exceptions/state-transition.d.ts +8 -0
- package/dist/api/index.d.ts +58 -0
- package/dist/api/info.d.ts +16 -0
- package/dist/api/invitation-accept-options.d.ts +19 -0
- package/dist/api/invitation-progress-options.d.ts +38 -0
- package/dist/api/invitation-reject-options.d.ts +25 -0
- package/dist/api/invitation.d.ts +179 -0
- package/dist/api/inviter-cancel-options.d.ts +9 -0
- package/dist/api/inviter-invite-options.d.ts +28 -0
- package/dist/api/inviter-options.d.ts +43 -0
- package/dist/api/inviter.d.ts +236 -0
- package/dist/api/message.d.ts +16 -0
- package/dist/api/messager-message-options.d.ts +11 -0
- package/dist/api/messager-options.d.ts +17 -0
- package/dist/api/messager.d.ts +26 -0
- package/dist/api/notification.d.ts +16 -0
- package/dist/api/notifier.d.ts +8 -0
- package/dist/api/publisher-options.d.ts +33 -0
- package/dist/api/publisher-publish-options.d.ts +6 -0
- package/dist/api/publisher-state.d.ts +21 -0
- package/dist/api/publisher-unpublish-options.d.ts +6 -0
- package/dist/api/publisher.d.ts +65 -0
- package/dist/api/referral.d.ts +38 -0
- package/dist/api/registerer-options.d.ts +46 -0
- package/dist/api/registerer-register-options.d.ts +11 -0
- package/dist/api/registerer-state.d.ts +21 -0
- package/dist/api/registerer-unregister-options.d.ts +16 -0
- package/dist/api/registerer.d.ts +144 -0
- package/dist/api/session-bye-options.d.ts +11 -0
- package/dist/api/session-delegate.d.ts +73 -0
- package/dist/api/session-description-handler-factory.d.ts +15 -0
- package/dist/api/session-description-handler.d.ts +74 -0
- package/dist/api/session-info-options.d.ts +11 -0
- package/dist/api/session-invite-options.d.ts +28 -0
- package/dist/api/session-message-options.d.ts +11 -0
- package/dist/api/session-options.d.ts +8 -0
- package/dist/api/session-refer-options.d.ts +14 -0
- package/dist/api/session-state.d.ts +45 -0
- package/dist/api/session.d.ts +359 -0
- package/dist/api/subscriber-options.d.ts +11 -0
- package/dist/api/subscriber-subscribe-options.d.ts +6 -0
- package/dist/api/subscriber.d.ts +94 -0
- package/dist/api/subscription-delegate.d.ts +12 -0
- package/dist/api/subscription-options.d.ts +8 -0
- package/dist/api/subscription-state.d.ts +19 -0
- package/dist/api/subscription-subscribe-options.d.ts +6 -0
- package/dist/api/subscription-unsubscribe-options.d.ts +6 -0
- package/dist/api/subscription.d.ts +84 -0
- package/dist/api/transport-state.d.ts +37 -0
- package/dist/api/transport.d.ts +159 -0
- package/dist/api/user-agent-delegate.d.ts +84 -0
- package/dist/api/user-agent-options.d.ts +253 -0
- package/dist/api/user-agent-state.d.ts +14 -0
- package/dist/api/user-agent.d.ts +200 -0
- package/dist/core/dialogs/dialog-state.d.ts +34 -0
- package/dist/core/dialogs/dialog.d.ts +161 -0
- package/dist/core/dialogs/index.d.ts +4 -0
- package/dist/core/dialogs/session-dialog.d.ts +196 -0
- package/dist/core/dialogs/subscription-dialog.d.ts +120 -0
- package/dist/core/exceptions/exception.d.ts +8 -0
- package/dist/core/exceptions/index.d.ts +3 -0
- package/dist/core/exceptions/transaction-state-error.d.ts +8 -0
- package/dist/core/exceptions/transport-error.d.ts +8 -0
- package/dist/core/index.d.ts +15 -0
- package/dist/core/log/index.d.ts +3 -0
- package/dist/core/log/levels.d.ts +10 -0
- package/dist/core/log/logger-factory.d.ts +21 -0
- package/dist/core/log/logger.d.ts +19 -0
- package/dist/core/messages/body.d.ts +64 -0
- package/dist/core/messages/digest-authentication.d.ts +51 -0
- package/dist/core/messages/incoming-message.d.ts +79 -0
- package/dist/core/messages/incoming-request-message.d.ts +10 -0
- package/dist/core/messages/incoming-request.d.ts +67 -0
- package/dist/core/messages/incoming-response-message.d.ts +10 -0
- package/dist/core/messages/incoming-response.d.ts +12 -0
- package/dist/core/messages/index.d.ts +13 -0
- package/dist/core/messages/md5.d.ts +32 -0
- package/dist/core/messages/methods/ack.d.ts +18 -0
- package/dist/core/messages/methods/bye.d.ts +21 -0
- package/dist/core/messages/methods/cancel.d.ts +21 -0
- package/dist/core/messages/methods/constants.d.ts +20 -0
- package/dist/core/messages/methods/index.d.ts +13 -0
- package/dist/core/messages/methods/info.d.ts +21 -0
- package/dist/core/messages/methods/invite.d.ts +86 -0
- package/dist/core/messages/methods/message.d.ts +21 -0
- package/dist/core/messages/methods/notify.d.ts +21 -0
- package/dist/core/messages/methods/prack.d.ts +21 -0
- package/dist/core/messages/methods/publish.d.ts +21 -0
- package/dist/core/messages/methods/refer.d.ts +21 -0
- package/dist/core/messages/methods/register.d.ts +21 -0
- package/dist/core/messages/methods/subscribe.d.ts +54 -0
- package/dist/core/messages/outgoing-request-message.d.ts +94 -0
- package/dist/core/messages/outgoing-request.d.ts +67 -0
- package/dist/core/messages/outgoing-response.d.ts +42 -0
- package/dist/core/messages/parser.d.ts +14 -0
- package/dist/core/messages/utils.d.ts +24 -0
- package/dist/core/session/index.d.ts +2 -0
- package/dist/core/session/session-delegate.d.ts +70 -0
- package/dist/core/session/session.d.ts +134 -0
- package/dist/core/subscription/index.d.ts +2 -0
- package/dist/core/subscription/subscription-delegate.d.ts +27 -0
- package/dist/core/subscription/subscription.d.ts +55 -0
- package/dist/core/timers.d.ts +20 -0
- package/dist/core/transactions/client-transaction.d.ts +45 -0
- package/dist/core/transactions/index.d.ts +10 -0
- package/dist/core/transactions/invite-client-transaction.d.ts +116 -0
- package/dist/core/transactions/invite-server-transaction.d.ts +127 -0
- package/dist/core/transactions/non-invite-client-transaction.d.ts +69 -0
- package/dist/core/transactions/non-invite-server-transaction.d.ts +57 -0
- package/dist/core/transactions/server-transaction.d.ts +35 -0
- package/dist/core/transactions/transaction-state.d.ts +13 -0
- package/dist/core/transactions/transaction-user.d.ts +72 -0
- package/dist/core/transactions/transaction.d.ts +79 -0
- package/dist/core/transport.d.ts +31 -0
- package/dist/core/user-agent-core/allowed-methods.d.ts +4 -0
- package/dist/core/user-agent-core/index.d.ts +3 -0
- package/dist/core/user-agent-core/user-agent-core-configuration.d.ts +99 -0
- package/dist/core/user-agent-core/user-agent-core-delegate.d.ts +37 -0
- package/dist/core/user-agent-core/user-agent-core.d.ts +179 -0
- package/dist/core/user-agents/bye-user-agent-client.d.ts +10 -0
- package/dist/core/user-agents/bye-user-agent-server.d.ts +10 -0
- package/dist/core/user-agents/cancel-user-agent-client.d.ts +10 -0
- package/dist/core/user-agents/index.d.ts +26 -0
- package/dist/core/user-agents/info-user-agent-client.d.ts +10 -0
- package/dist/core/user-agents/info-user-agent-server.d.ts +10 -0
- package/dist/core/user-agents/invite-user-agent-client.d.ts +35 -0
- package/dist/core/user-agents/invite-user-agent-server.d.ts +77 -0
- package/dist/core/user-agents/message-user-agent-client.d.ts +10 -0
- package/dist/core/user-agents/message-user-agent-server.d.ts +10 -0
- package/dist/core/user-agents/notify-user-agent-client.d.ts +10 -0
- package/dist/core/user-agents/notify-user-agent-server.d.ts +16 -0
- package/dist/core/user-agents/prack-user-agent-client.d.ts +10 -0
- package/dist/core/user-agents/prack-user-agent-server.d.ts +16 -0
- package/dist/core/user-agents/publish-user-agent-client.d.ts +10 -0
- package/dist/core/user-agents/re-invite-user-agent-client.d.ts +18 -0
- package/dist/core/user-agents/re-invite-user-agent-server.d.ts +41 -0
- package/dist/core/user-agents/re-subscribe-user-agent-client.d.ts +17 -0
- package/dist/core/user-agents/re-subscribe-user-agent-server.d.ts +10 -0
- package/dist/core/user-agents/refer-user-agent-client.d.ts +10 -0
- package/dist/core/user-agents/refer-user-agent-server.d.ts +16 -0
- package/dist/core/user-agents/register-user-agent-client.d.ts +10 -0
- package/dist/core/user-agents/register-user-agent-server.d.ts +11 -0
- package/dist/core/user-agents/subscribe-user-agent-client.d.ts +65 -0
- package/dist/core/user-agents/subscribe-user-agent-server.d.ts +11 -0
- package/dist/core/user-agents/user-agent-client.d.ts +103 -0
- package/dist/core/user-agents/user-agent-server.d.ts +79 -0
- package/dist/grammar/grammar.d.ts +26 -0
- package/dist/grammar/index.d.ts +4 -0
- package/dist/grammar/name-addr-header.d.ts +24 -0
- package/dist/grammar/parameters.d.ts +16 -0
- package/dist/grammar/pegjs/dist/grammar.d.ts +50 -0
- package/dist/grammar/uri.d.ts +62 -0
- package/dist/{types/index.d.ts → index.d.ts} +7 -3
- package/dist/main.d.ts +9 -0
- package/dist/new-index.d.ts +199 -0
- package/dist/platform/web/index.d.ts +4 -0
- package/dist/platform/web/modifiers/index.d.ts +5 -0
- package/dist/platform/web/modifiers/modifiers.d.ts +41 -0
- package/dist/platform/web/session-description-handler/index.d.ts +14 -0
- package/dist/platform/web/session-description-handler/media-stream-factory-default.d.ts +6 -0
- package/dist/platform/web/session-description-handler/media-stream-factory.d.ts +6 -0
- package/dist/platform/web/session-description-handler/peer-connection-configuration-default.d.ts +5 -0
- package/dist/platform/web/session-description-handler/peer-connection-delegate.d.ts +63 -0
- package/dist/platform/web/session-description-handler/session-description-handler-configuration.d.ts +16 -0
- package/dist/platform/web/session-description-handler/session-description-handler-factory-default.d.ts +11 -0
- package/dist/platform/web/session-description-handler/session-description-handler-factory-options.d.ts +9 -0
- package/dist/platform/web/session-description-handler/session-description-handler-factory.d.ts +16 -0
- package/dist/platform/web/session-description-handler/session-description-handler-options.d.ts +47 -0
- package/dist/platform/web/session-description-handler/session-description-handler.d.ts +212 -0
- package/dist/platform/web/simple-user/index.d.ts +7 -0
- package/dist/platform/web/simple-user/simple-user-delegate.d.ts +72 -0
- package/dist/platform/web/simple-user/simple-user-options.d.ts +90 -0
- package/dist/platform/web/simple-user/simple-user.d.ts +226 -0
- package/dist/platform/web/transport/index.d.ts +6 -0
- package/dist/platform/web/transport/transport-options.d.ts +30 -0
- package/dist/platform/web/transport/transport.d.ts +125 -0
- package/dist/ue-softphone-sdk.js +2 -1
- package/dist/ue-softphone-sdk.js.map +1 -0
- package/dist/version.d.ts +1 -0
- package/dist/webPhoneSdk.d.ts +24 -0
- package/dist/webrtc.d.ts +17 -0
- package/{rollup-new.config.mjs → new-rollup.config.mjs} +1 -1
- package/package.json +6 -6
- package/rollup.config.js +15 -14
- package/src/api/api-extractor.json +358 -0
- package/src/api/bye.ts +27 -0
- package/src/api/dtmf.ts +27 -0
- package/src/api/emitter.ts +110 -0
- package/src/api/exceptions/content-type-unsupported.ts +11 -0
- package/src/api/exceptions/index.ts +5 -0
- package/src/api/exceptions/request-pending.ts +12 -0
- package/src/api/exceptions/session-description-handler.ts +11 -0
- package/src/api/exceptions/session-terminated.ts +11 -0
- package/src/api/exceptions/state-transition.ts +11 -0
- package/src/api/index.ts +58 -0
- package/src/api/info.ts +27 -0
- package/src/api/invitation-accept-options.ts +20 -0
- package/src/api/invitation-progress-options.ts +36 -0
- package/src/api/invitation-reject-options.ts +22 -0
- package/src/api/invitation.ts +816 -0
- package/src/api/inviter-cancel-options.ts +9 -0
- package/src/api/inviter-invite-options.ts +29 -0
- package/src/api/inviter-options.ts +44 -0
- package/src/api/inviter.ts +1126 -0
- package/src/api/message.ts +27 -0
- package/src/api/messager-message-options.ts +12 -0
- package/src/api/messager-options.ts +18 -0
- package/src/api/messager.ts +89 -0
- package/src/api/notification.ts +27 -0
- package/src/api/notifier.ts +7 -0
- package/src/api/publisher-options.ts +34 -0
- package/src/api/publisher-publish-options.ts +6 -0
- package/src/api/publisher-state.ts +21 -0
- package/src/api/publisher-unpublish-options.ts +6 -0
- package/src/api/publisher.ts +418 -0
- package/src/api/referral.ts +89 -0
- package/src/api/registerer-options.ts +55 -0
- package/src/api/registerer-register-options.ts +12 -0
- package/src/api/registerer-state.ts +21 -0
- package/src/api/registerer-unregister-options.ts +17 -0
- package/src/api/registerer.ts +814 -0
- package/src/api/session-bye-options.ts +12 -0
- package/src/api/session-delegate.ts +80 -0
- package/src/api/session-description-handler-factory.ts +16 -0
- package/src/api/session-description-handler.ts +89 -0
- package/src/api/session-info-options.ts +12 -0
- package/src/api/session-invite-options.ts +29 -0
- package/src/api/session-message-options.ts +12 -0
- package/src/api/session-options.ts +8 -0
- package/src/api/session-refer-options.ts +15 -0
- package/src/api/session-state.ts +45 -0
- package/src/api/session.ts +1448 -0
- package/src/api/subscriber-options.ts +12 -0
- package/src/api/subscriber-subscribe-options.ts +6 -0
- package/src/api/subscriber.ts +536 -0
- package/src/api/subscription-delegate.ts +13 -0
- package/src/api/subscription-options.ts +8 -0
- package/src/api/subscription-state.ts +19 -0
- package/src/api/subscription-subscribe-options.ts +6 -0
- package/src/api/subscription-unsubscribe-options.ts +6 -0
- package/src/api/subscription.ts +161 -0
- package/src/api/transport-state.ts +37 -0
- package/src/api/transport.ts +169 -0
- package/src/api/user-agent-delegate.ts +95 -0
- package/src/api/user-agent-options.ts +322 -0
- package/src/api/user-agent-state.ts +14 -0
- package/src/api/user-agent.ts +1014 -0
- package/src/core/api-extractor.json +358 -0
- package/src/core/dialogs/dialog-state.ts +35 -0
- package/src/core/dialogs/dialog.ts +605 -0
- package/src/core/dialogs/index.ts +4 -0
- package/src/core/dialogs/session-dialog.ts +996 -0
- package/src/core/dialogs/subscription-dialog.ts +557 -0
- package/src/core/exceptions/exception.ts +11 -0
- package/src/core/exceptions/index.ts +3 -0
- package/src/core/exceptions/transaction-state-error.ts +11 -0
- package/src/core/exceptions/transport-error.ts +11 -0
- package/src/core/index.ts +19 -0
- package/src/core/log/index.ts +3 -0
- package/src/core/log/levels.ts +10 -0
- package/src/core/log/logger-factory.ts +119 -0
- package/src/core/log/logger.ts +42 -0
- package/src/core/messages/body.ts +171 -0
- package/src/core/messages/digest-authentication.ts +190 -0
- package/src/core/messages/incoming-message.ts +152 -0
- package/src/core/messages/incoming-request-message.ts +14 -0
- package/src/core/messages/incoming-request.ts +75 -0
- package/src/core/messages/incoming-response-message.ts +14 -0
- package/src/core/messages/incoming-response.ts +13 -0
- package/src/core/messages/index.ts +18 -0
- package/src/core/messages/md5.ts +437 -0
- package/src/core/messages/methods/ack.ts +22 -0
- package/src/core/messages/methods/bye.ts +22 -0
- package/src/core/messages/methods/cancel.ts +22 -0
- package/src/core/messages/methods/constants.ts +21 -0
- package/src/core/messages/methods/index.ts +13 -0
- package/src/core/messages/methods/info.ts +22 -0
- package/src/core/messages/methods/invite.ts +104 -0
- package/src/core/messages/methods/message.ts +22 -0
- package/src/core/messages/methods/notify.ts +22 -0
- package/src/core/messages/methods/prack.ts +22 -0
- package/src/core/messages/methods/publish.ts +22 -0
- package/src/core/messages/methods/refer.ts +22 -0
- package/src/core/messages/methods/register.ts +22 -0
- package/src/core/messages/methods/subscribe.ts +59 -0
- package/src/core/messages/outgoing-request-message.ts +299 -0
- package/src/core/messages/outgoing-request.ts +77 -0
- package/src/core/messages/outgoing-response.ts +174 -0
- package/src/core/messages/parser.ts +265 -0
- package/src/core/messages/utils.ts +144 -0
- package/src/core/session/index.ts +2 -0
- package/src/core/session/session-delegate.ts +88 -0
- package/src/core/session/session.ts +158 -0
- package/src/core/subscription/index.ts +2 -0
- package/src/core/subscription/subscription-delegate.ts +30 -0
- package/src/core/subscription/subscription.ts +61 -0
- package/src/core/timers.ts +24 -0
- package/src/core/transactions/client-transaction.ts +78 -0
- package/src/core/transactions/index.ts +10 -0
- package/src/core/transactions/invite-client-transaction.ts +504 -0
- package/src/core/transactions/invite-server-transaction.ts +432 -0
- package/src/core/transactions/non-invite-client-transaction.ts +257 -0
- package/src/core/transactions/non-invite-server-transaction.ts +241 -0
- package/src/core/transactions/server-transaction.ts +47 -0
- package/src/core/transactions/transaction-state.ts +13 -0
- package/src/core/transactions/transaction-user.ts +82 -0
- package/src/core/transactions/transaction.ts +149 -0
- package/src/core/transport.ts +32 -0
- package/src/core/user-agent-core/allowed-methods.ts +19 -0
- package/src/core/user-agent-core/index.ts +3 -0
- package/src/core/user-agent-core/user-agent-core-configuration.ts +111 -0
- package/src/core/user-agent-core/user-agent-core-delegate.ts +50 -0
- package/src/core/user-agent-core/user-agent-core.ts +905 -0
- package/src/core/user-agents/bye-user-agent-client.ts +16 -0
- package/src/core/user-agents/bye-user-agent-server.ts +14 -0
- package/src/core/user-agents/cancel-user-agent-client.ts +14 -0
- package/src/core/user-agents/index.ts +26 -0
- package/src/core/user-agents/info-user-agent-client.ts +15 -0
- package/src/core/user-agents/info-user-agent-server.ts +14 -0
- package/src/core/user-agents/invite-user-agent-client.ts +405 -0
- package/src/core/user-agents/invite-user-agent-server.ts +269 -0
- package/src/core/user-agents/message-user-agent-client.ts +14 -0
- package/src/core/user-agents/message-user-agent-server.ts +14 -0
- package/src/core/user-agents/notify-user-agent-client.ts +15 -0
- package/src/core/user-agents/notify-user-agent-server.ts +30 -0
- package/src/core/user-agents/prack-user-agent-client.ts +16 -0
- package/src/core/user-agents/prack-user-agent-server.ts +37 -0
- package/src/core/user-agents/publish-user-agent-client.ts +14 -0
- package/src/core/user-agents/re-invite-user-agent-client.ts +127 -0
- package/src/core/user-agents/re-invite-user-agent-server.ts +109 -0
- package/src/core/user-agents/re-subscribe-user-agent-client.ts +78 -0
- package/src/core/user-agents/re-subscribe-user-agent-server.ts +14 -0
- package/src/core/user-agents/refer-user-agent-client.ts +15 -0
- package/src/core/user-agents/refer-user-agent-server.ts +30 -0
- package/src/core/user-agents/register-user-agent-client.ts +14 -0
- package/src/core/user-agents/register-user-agent-server.ts +14 -0
- package/src/core/user-agents/subscribe-user-agent-client.ts +341 -0
- package/src/core/user-agents/subscribe-user-agent-server.ts +14 -0
- package/src/core/user-agents/user-agent-client.ts +378 -0
- package/src/core/user-agents/user-agent-server.ts +276 -0
- package/src/grammar/grammar.ts +55 -0
- package/src/grammar/index.ts +4 -0
- package/src/grammar/name-addr-header.ts +58 -0
- package/src/grammar/parameters.ts +45 -0
- package/src/grammar/pegjs/README.md +9 -0
- package/src/grammar/pegjs/dist/grammar.ts +1557 -0
- package/src/grammar/pegjs/src/grammar.pegjs +1009 -0
- package/src/grammar/uri.ts +370 -0
- package/src/index.ts +59 -28
- package/src/lib/socket.io.esm.min.js +7 -0
- package/src/main.ts +26 -0
- package/src/new-index.ts +2478 -0
- package/src/platform/react/README.md +1 -0
- package/src/platform/web/index.ts +4 -0
- package/src/platform/web/modifiers/index.ts +5 -0
- package/src/platform/web/modifiers/modifiers.ts +180 -0
- package/src/platform/web/session-description-handler/api-extractor.json +358 -0
- package/src/platform/web/session-description-handler/index.ts +14 -0
- package/src/platform/web/session-description-handler/media-stream-factory-default.ts +22 -0
- package/src/platform/web/session-description-handler/media-stream-factory.ts +10 -0
- package/src/platform/web/session-description-handler/peer-connection-configuration-default.ts +17 -0
- package/src/platform/web/session-description-handler/peer-connection-delegate.ts +72 -0
- package/src/platform/web/session-description-handler/session-description-handler-configuration.ts +17 -0
- package/src/platform/web/session-description-handler/session-description-handler-factory-default.ts +45 -0
- package/src/platform/web/session-description-handler/session-description-handler-factory-options.ts +10 -0
- package/src/platform/web/session-description-handler/session-description-handler-factory.ts +17 -0
- package/src/platform/web/session-description-handler/session-description-handler-options.ts +56 -0
- package/src/platform/web/session-description-handler/session-description-handler.ts +938 -0
- package/src/platform/web/simple-user/api-extractor.json +358 -0
- package/src/platform/web/simple-user/index.ts +7 -0
- package/src/platform/web/simple-user/simple-user-delegate.ts +82 -0
- package/src/platform/web/simple-user/simple-user-options.ts +102 -0
- package/src/platform/web/simple-user/simple-user.ts +1099 -0
- package/src/platform/web/transport/api-extractor.json +358 -0
- package/src/platform/web/transport/index.ts +6 -0
- package/src/platform/web/transport/transport-options.ts +34 -0
- package/src/platform/web/transport/transport.ts +742 -0
- package/src/version.ts +8 -0
- package/src/webPhoneSdk.ts +67 -0
- package/src/webrtc.ts +318 -0
- package/tsconfig.json +26 -10
- /package/dist/{types/config.d.ts → config.d.ts} +0 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import { Logger, NameAddrHeader, OutgoingInviteRequest, OutgoingRequestMessage, URI } from "../core";
|
|
2
|
+
import { InviterCancelOptions } from "./inviter-cancel-options";
|
|
3
|
+
import { InviterInviteOptions } from "./inviter-invite-options";
|
|
4
|
+
import { InviterOptions } from "./inviter-options";
|
|
5
|
+
import { Session } from "./session";
|
|
6
|
+
import { BodyAndContentType } from "./session-description-handler";
|
|
7
|
+
import { UserAgent } from "./user-agent";
|
|
8
|
+
/**
|
|
9
|
+
* An inviter offers to establish a {@link Session} (outgoing INVITE).
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export declare class Inviter extends Session {
|
|
13
|
+
/**
|
|
14
|
+
* If this Inviter was created as a result of a REFER, the referred Session. Otherwise undefined.
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
_referred: Session | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Logger.
|
|
20
|
+
*/
|
|
21
|
+
protected logger: Logger;
|
|
22
|
+
/** @internal */
|
|
23
|
+
protected _id: string;
|
|
24
|
+
/** True if dispose() has been called. */
|
|
25
|
+
private disposed;
|
|
26
|
+
/** True if early media use is enabled. */
|
|
27
|
+
private earlyMedia;
|
|
28
|
+
/** The early media session. */
|
|
29
|
+
private earlyMediaDialog;
|
|
30
|
+
/** The early media session description handlers. */
|
|
31
|
+
private earlyMediaSessionDescriptionHandlers;
|
|
32
|
+
/** Our From tag. */
|
|
33
|
+
private fromTag;
|
|
34
|
+
/** True if cancel() was called. */
|
|
35
|
+
private isCanceled;
|
|
36
|
+
/** True if initial INVITE without SDP. */
|
|
37
|
+
private inviteWithoutSdp;
|
|
38
|
+
/** Initial INVITE request sent by core. Undefined until sent. */
|
|
39
|
+
private outgoingInviteRequest;
|
|
40
|
+
/** Initial INVITE message provided to core to send. */
|
|
41
|
+
private outgoingRequestMessage;
|
|
42
|
+
/**
|
|
43
|
+
* Constructs a new instance of the `Inviter` class.
|
|
44
|
+
* @param userAgent - User agent. See {@link UserAgent} for details.
|
|
45
|
+
* @param targetURI - Request URI identifying the target of the message.
|
|
46
|
+
* @param options - Options bucket. See {@link InviterOptions} for details.
|
|
47
|
+
*/
|
|
48
|
+
constructor(userAgent: UserAgent, targetURI: URI, options?: InviterOptions);
|
|
49
|
+
/**
|
|
50
|
+
* Destructor.
|
|
51
|
+
*/
|
|
52
|
+
dispose(): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Initial outgoing INVITE request message body.
|
|
55
|
+
*/
|
|
56
|
+
get body(): BodyAndContentType | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* The identity of the local user.
|
|
59
|
+
*/
|
|
60
|
+
get localIdentity(): NameAddrHeader;
|
|
61
|
+
/**
|
|
62
|
+
* The identity of the remote user.
|
|
63
|
+
*/
|
|
64
|
+
get remoteIdentity(): NameAddrHeader;
|
|
65
|
+
/**
|
|
66
|
+
* Initial outgoing INVITE request message.
|
|
67
|
+
*/
|
|
68
|
+
get request(): OutgoingRequestMessage;
|
|
69
|
+
/**
|
|
70
|
+
* Cancels the INVITE request.
|
|
71
|
+
*
|
|
72
|
+
* @remarks
|
|
73
|
+
* Sends a CANCEL request.
|
|
74
|
+
* Resolves once the response sent, otherwise rejects.
|
|
75
|
+
*
|
|
76
|
+
* After sending a CANCEL request the expectation is that a 487 final response
|
|
77
|
+
* will be received for the INVITE. However a 200 final response to the INVITE
|
|
78
|
+
* may nonetheless arrive (it's a race between the CANCEL reaching the UAS before
|
|
79
|
+
* the UAS sends a 200) in which case an ACK & BYE will be sent. The net effect
|
|
80
|
+
* is that this method will terminate the session regardless of the race.
|
|
81
|
+
* @param options - Options bucket.
|
|
82
|
+
*/
|
|
83
|
+
cancel(options?: InviterCancelOptions): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Sends the INVITE request.
|
|
86
|
+
*
|
|
87
|
+
* @remarks
|
|
88
|
+
* TLDR...
|
|
89
|
+
* 1) Only one offer/answer exchange permitted during initial INVITE.
|
|
90
|
+
* 2) No "early media" if the initial offer is in an INVITE (default behavior).
|
|
91
|
+
* 3) If "early media" and the initial offer is in an INVITE, no INVITE forking.
|
|
92
|
+
*
|
|
93
|
+
* 1) Only one offer/answer exchange permitted during initial INVITE.
|
|
94
|
+
*
|
|
95
|
+
* Our implementation replaces the following bullet point...
|
|
96
|
+
*
|
|
97
|
+
* o After having sent or received an answer to the first offer, the
|
|
98
|
+
* UAC MAY generate subsequent offers in requests based on rules
|
|
99
|
+
* specified for that method, but only if it has received answers
|
|
100
|
+
* to any previous offers, and has not sent any offers to which it
|
|
101
|
+
* hasn't gotten an answer.
|
|
102
|
+
* https://tools.ietf.org/html/rfc3261#section-13.2.1
|
|
103
|
+
*
|
|
104
|
+
* ...with...
|
|
105
|
+
*
|
|
106
|
+
* o After having sent or received an answer to the first offer, the
|
|
107
|
+
* UAC MUST NOT generate subsequent offers in requests based on rules
|
|
108
|
+
* specified for that method.
|
|
109
|
+
*
|
|
110
|
+
* ...which in combination with this bullet point...
|
|
111
|
+
*
|
|
112
|
+
* o Once the UAS has sent or received an answer to the initial
|
|
113
|
+
* offer, it MUST NOT generate subsequent offers in any responses
|
|
114
|
+
* to the initial INVITE. This means that a UAS based on this
|
|
115
|
+
* specification alone can never generate subsequent offers until
|
|
116
|
+
* completion of the initial transaction.
|
|
117
|
+
* https://tools.ietf.org/html/rfc3261#section-13.2.1
|
|
118
|
+
*
|
|
119
|
+
* ...ensures that EXACTLY ONE offer/answer exchange will occur
|
|
120
|
+
* during an initial out of dialog INVITE request made by our UAC.
|
|
121
|
+
*
|
|
122
|
+
*
|
|
123
|
+
* 2) No "early media" if the initial offer is in an INVITE (default behavior).
|
|
124
|
+
*
|
|
125
|
+
* While our implementation adheres to the following bullet point...
|
|
126
|
+
*
|
|
127
|
+
* o If the initial offer is in an INVITE, the answer MUST be in a
|
|
128
|
+
* reliable non-failure message from UAS back to UAC which is
|
|
129
|
+
* correlated to that INVITE. For this specification, that is
|
|
130
|
+
* only the final 2xx response to that INVITE. That same exact
|
|
131
|
+
* answer MAY also be placed in any provisional responses sent
|
|
132
|
+
* prior to the answer. The UAC MUST treat the first session
|
|
133
|
+
* description it receives as the answer, and MUST ignore any
|
|
134
|
+
* session descriptions in subsequent responses to the initial
|
|
135
|
+
* INVITE.
|
|
136
|
+
* https://tools.ietf.org/html/rfc3261#section-13.2.1
|
|
137
|
+
*
|
|
138
|
+
* We have made the following implementation decision with regard to early media...
|
|
139
|
+
*
|
|
140
|
+
* o If the initial offer is in the INVITE, the answer from the
|
|
141
|
+
* UAS back to the UAC will establish a media session only
|
|
142
|
+
* only after the final 2xx response to that INVITE is received.
|
|
143
|
+
*
|
|
144
|
+
* The reason for this decision is rooted in a restriction currently
|
|
145
|
+
* inherent in WebRTC. Specifically, while a SIP INVITE request with an
|
|
146
|
+
* initial offer may fork resulting in more than one provisional answer,
|
|
147
|
+
* there is currently no easy/good way to to "fork" an offer generated
|
|
148
|
+
* by a peer connection. In particular, a WebRTC offer currently may only
|
|
149
|
+
* be matched with one answer and we have no good way to know which
|
|
150
|
+
* "provisional answer" is going to be the "final answer". So we have
|
|
151
|
+
* decided to punt and not create any "early media" sessions in this case.
|
|
152
|
+
*
|
|
153
|
+
* The upshot is that if you want "early media", you must not put the
|
|
154
|
+
* initial offer in the INVITE. Instead, force the UAS to provide the
|
|
155
|
+
* initial offer by sending an INVITE without an offer. In the WebRTC
|
|
156
|
+
* case this allows us to create a unique peer connection with a unique
|
|
157
|
+
* answer for every provisional offer with "early media" on all of them.
|
|
158
|
+
*
|
|
159
|
+
*
|
|
160
|
+
* 3) If "early media" and the initial offer is in an INVITE, no INVITE forking.
|
|
161
|
+
*
|
|
162
|
+
* The default behavior may be altered and "early media" utilized if the
|
|
163
|
+
* initial offer is in the an INVITE by setting the `earlyMedia` options.
|
|
164
|
+
* However in that case the INVITE request MUST NOT fork. This allows for
|
|
165
|
+
* "early media" in environments where the forking behavior of the SIP
|
|
166
|
+
* servers being utilized is configured to disallow forking.
|
|
167
|
+
*/
|
|
168
|
+
invite(options?: InviterInviteOptions): Promise<OutgoingInviteRequest>;
|
|
169
|
+
/**
|
|
170
|
+
* 13.2.1 Creating the Initial INVITE
|
|
171
|
+
*
|
|
172
|
+
* Since the initial INVITE represents a request outside of a dialog,
|
|
173
|
+
* its construction follows the procedures of Section 8.1.1. Additional
|
|
174
|
+
* processing is required for the specific case of INVITE.
|
|
175
|
+
*
|
|
176
|
+
* An Allow header field (Section 20.5) SHOULD be present in the INVITE.
|
|
177
|
+
* It indicates what methods can be invoked within a dialog, on the UA
|
|
178
|
+
* sending the INVITE, for the duration of the dialog. For example, a
|
|
179
|
+
* UA capable of receiving INFO requests within a dialog [34] SHOULD
|
|
180
|
+
* include an Allow header field listing the INFO method.
|
|
181
|
+
*
|
|
182
|
+
* A Supported header field (Section 20.37) SHOULD be present in the
|
|
183
|
+
* INVITE. It enumerates all the extensions understood by the UAC.
|
|
184
|
+
*
|
|
185
|
+
* An Accept (Section 20.1) header field MAY be present in the INVITE.
|
|
186
|
+
* It indicates which Content-Types are acceptable to the UA, in both
|
|
187
|
+
* the response received by it, and in any subsequent requests sent to
|
|
188
|
+
* it within dialogs established by the INVITE. The Accept header field
|
|
189
|
+
* is especially useful for indicating support of various session
|
|
190
|
+
* description formats.
|
|
191
|
+
*
|
|
192
|
+
* The UAC MAY add an Expires header field (Section 20.19) to limit the
|
|
193
|
+
* validity of the invitation. If the time indicated in the Expires
|
|
194
|
+
* header field is reached and no final answer for the INVITE has been
|
|
195
|
+
* received, the UAC core SHOULD generate a CANCEL request for the
|
|
196
|
+
* INVITE, as per Section 9.
|
|
197
|
+
*
|
|
198
|
+
* A UAC MAY also find it useful to add, among others, Subject (Section
|
|
199
|
+
* 20.36), Organization (Section 20.25) and User-Agent (Section 20.41)
|
|
200
|
+
* header fields. They all contain information related to the INVITE.
|
|
201
|
+
*
|
|
202
|
+
* The UAC MAY choose to add a message body to the INVITE. Section
|
|
203
|
+
* 8.1.1.10 deals with how to construct the header fields -- Content-
|
|
204
|
+
* Type among others -- needed to describe the message body.
|
|
205
|
+
*
|
|
206
|
+
* https://tools.ietf.org/html/rfc3261#section-13.2.1
|
|
207
|
+
*/
|
|
208
|
+
private sendInvite;
|
|
209
|
+
private disposeEarlyMedia;
|
|
210
|
+
private notifyReferer;
|
|
211
|
+
/**
|
|
212
|
+
* Handle final response to initial INVITE.
|
|
213
|
+
* @param inviteResponse - 2xx response.
|
|
214
|
+
*/
|
|
215
|
+
private onAccept;
|
|
216
|
+
/**
|
|
217
|
+
* Handle provisional response to initial INVITE.
|
|
218
|
+
* @param inviteResponse - 1xx response.
|
|
219
|
+
*/
|
|
220
|
+
private onProgress;
|
|
221
|
+
/**
|
|
222
|
+
* Handle final response to initial INVITE.
|
|
223
|
+
* @param inviteResponse - 3xx response.
|
|
224
|
+
*/
|
|
225
|
+
private onRedirect;
|
|
226
|
+
/**
|
|
227
|
+
* Handle final response to initial INVITE.
|
|
228
|
+
* @param inviteResponse - 4xx, 5xx, or 6xx response.
|
|
229
|
+
*/
|
|
230
|
+
private onReject;
|
|
231
|
+
/**
|
|
232
|
+
* Handle final response to initial INVITE.
|
|
233
|
+
* @param inviteResponse - 100 response.
|
|
234
|
+
*/
|
|
235
|
+
private onTrying;
|
|
236
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IncomingMessageRequest, IncomingRequestMessage, ResponseOptions } from "../core";
|
|
2
|
+
/**
|
|
3
|
+
* A received message (incoming MESSAGE).
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export declare class Message {
|
|
7
|
+
private incomingMessageRequest;
|
|
8
|
+
/** @internal */
|
|
9
|
+
constructor(incomingMessageRequest: IncomingMessageRequest);
|
|
10
|
+
/** Incoming MESSAGE request message. */
|
|
11
|
+
get request(): IncomingRequestMessage;
|
|
12
|
+
/** Accept the request. */
|
|
13
|
+
accept(options?: ResponseOptions): Promise<void>;
|
|
14
|
+
/** Reject the request. */
|
|
15
|
+
reject(options?: ResponseOptions): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { OutgoingRequestDelegate, RequestOptions } from "../core";
|
|
2
|
+
/**
|
|
3
|
+
* Options for {@link Messager.message}.
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export interface MessagerMessageOptions {
|
|
7
|
+
/** See `core` API. */
|
|
8
|
+
requestDelegate?: OutgoingRequestDelegate;
|
|
9
|
+
/** See `core` API. */
|
|
10
|
+
requestOptions?: RequestOptions;
|
|
11
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { URI } from "../core";
|
|
2
|
+
/**
|
|
3
|
+
* Options for {@link Messager} constructor.
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export interface MessagerOptions {
|
|
7
|
+
/** Array of extra headers added to the MESSAGE. */
|
|
8
|
+
extraHeaders?: Array<string>;
|
|
9
|
+
/** @deprecated TODO: provide alternative. */
|
|
10
|
+
params?: {
|
|
11
|
+
fromDisplayName?: string;
|
|
12
|
+
fromTag?: string;
|
|
13
|
+
fromUri?: string | URI;
|
|
14
|
+
toDisplayName?: string;
|
|
15
|
+
toUri?: string | URI;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { URI } from "../core";
|
|
2
|
+
import { MessagerMessageOptions } from "./messager-message-options";
|
|
3
|
+
import { MessagerOptions } from "./messager-options";
|
|
4
|
+
import { UserAgent } from "./user-agent";
|
|
5
|
+
/**
|
|
6
|
+
* A messager sends a {@link Message} (outgoing MESSAGE).
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export declare class Messager {
|
|
10
|
+
private logger;
|
|
11
|
+
private request;
|
|
12
|
+
private userAgent;
|
|
13
|
+
/**
|
|
14
|
+
* Constructs a new instance of the `Messager` class.
|
|
15
|
+
* @param userAgent - User agent. See {@link UserAgent} for details.
|
|
16
|
+
* @param targetURI - Request URI identifying the target of the message.
|
|
17
|
+
* @param content - Content for the body of the message.
|
|
18
|
+
* @param contentType - Content type of the body of the message.
|
|
19
|
+
* @param options - Options bucket. See {@link MessagerOptions} for details.
|
|
20
|
+
*/
|
|
21
|
+
constructor(userAgent: UserAgent, targetURI: URI, content: string, contentType?: string, options?: MessagerOptions);
|
|
22
|
+
/**
|
|
23
|
+
* Send the message.
|
|
24
|
+
*/
|
|
25
|
+
message(options?: MessagerMessageOptions): Promise<void>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IncomingNotifyRequest, IncomingRequestMessage, ResponseOptions } from "../core";
|
|
2
|
+
/**
|
|
3
|
+
* A notification of an event (incoming NOTIFY).
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export declare class Notification {
|
|
7
|
+
private incomingNotifyRequest;
|
|
8
|
+
/** @internal */
|
|
9
|
+
constructor(incomingNotifyRequest: IncomingNotifyRequest);
|
|
10
|
+
/** Incoming NOTIFY request message. */
|
|
11
|
+
get request(): IncomingRequestMessage;
|
|
12
|
+
/** Accept the request. */
|
|
13
|
+
accept(options?: ResponseOptions): Promise<void>;
|
|
14
|
+
/** Reject the request. */
|
|
15
|
+
reject(options?: ResponseOptions): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { URI } from "../core";
|
|
2
|
+
/**
|
|
3
|
+
* Options for {@link Publisher} constructor.
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export interface PublisherOptions {
|
|
7
|
+
/** @deprecated TODO: provide alternative. */
|
|
8
|
+
body?: string;
|
|
9
|
+
/** @deprecated TODO: provide alternative. */
|
|
10
|
+
contentType?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Expire value for the published event.
|
|
13
|
+
* @defaultValue 3600
|
|
14
|
+
*/
|
|
15
|
+
expires?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Array of extra headers added to the PUBLISH request message.
|
|
18
|
+
*/
|
|
19
|
+
extraHeaders?: Array<string>;
|
|
20
|
+
/** @deprecated TODO: provide alternative. */
|
|
21
|
+
params?: {
|
|
22
|
+
fromDisplayName?: string;
|
|
23
|
+
fromTag?: string;
|
|
24
|
+
fromUri?: URI;
|
|
25
|
+
toDisplayName?: string;
|
|
26
|
+
toUri?: URI;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* If set true, UA will gracefully unpublish for the event on UA close.
|
|
30
|
+
* @defaultValue true
|
|
31
|
+
*/
|
|
32
|
+
unpublishOnClose?: boolean;
|
|
33
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* {@link Publisher} state.
|
|
3
|
+
* @remarks
|
|
4
|
+
* The {@link Publisher} behaves in a deterministic manner according to the following
|
|
5
|
+
* Finite State Machine (FSM).
|
|
6
|
+
* ```txt
|
|
7
|
+
* __________________________________________
|
|
8
|
+
* | __________________________ |
|
|
9
|
+
* Publisher | | v v
|
|
10
|
+
* Constructed -> Initial -> Published -> Unpublished -> Terminated
|
|
11
|
+
* | ^____________| ^
|
|
12
|
+
* |______________________________|
|
|
13
|
+
* ```
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export declare enum PublisherState {
|
|
17
|
+
Initial = "Initial",
|
|
18
|
+
Published = "Published",
|
|
19
|
+
Unpublished = "Unpublished",
|
|
20
|
+
Terminated = "Terminated"
|
|
21
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { IncomingResponseMessage, OutgoingPublishRequest, URI } from "../core";
|
|
2
|
+
import { Emitter } from "./emitter";
|
|
3
|
+
import { PublisherOptions } from "./publisher-options";
|
|
4
|
+
import { PublisherPublishOptions } from "./publisher-publish-options";
|
|
5
|
+
import { PublisherState } from "./publisher-state";
|
|
6
|
+
import { PublisherUnpublishOptions } from "./publisher-unpublish-options";
|
|
7
|
+
import { UserAgent } from "./user-agent";
|
|
8
|
+
/**
|
|
9
|
+
* A publisher publishes a publication (outgoing PUBLISH).
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export declare class Publisher {
|
|
13
|
+
private event;
|
|
14
|
+
private options;
|
|
15
|
+
private target;
|
|
16
|
+
private pubRequestBody;
|
|
17
|
+
private pubRequestExpires;
|
|
18
|
+
private pubRequestEtag;
|
|
19
|
+
private publishRefreshTimer;
|
|
20
|
+
private disposed;
|
|
21
|
+
private id;
|
|
22
|
+
private logger;
|
|
23
|
+
private request;
|
|
24
|
+
private userAgent;
|
|
25
|
+
/** The publication state. */
|
|
26
|
+
private _state;
|
|
27
|
+
/** Emits when the registration state changes. */
|
|
28
|
+
private _stateEventEmitter;
|
|
29
|
+
/**
|
|
30
|
+
* Constructs a new instance of the `Publisher` class.
|
|
31
|
+
*
|
|
32
|
+
* @param userAgent - User agent. See {@link UserAgent} for details.
|
|
33
|
+
* @param targetURI - Request URI identifying the target of the message.
|
|
34
|
+
* @param eventType - The event type identifying the published document.
|
|
35
|
+
* @param options - Options bucket. See {@link PublisherOptions} for details.
|
|
36
|
+
*/
|
|
37
|
+
constructor(userAgent: UserAgent, targetURI: URI, eventType: string, options?: PublisherOptions);
|
|
38
|
+
/**
|
|
39
|
+
* Destructor.
|
|
40
|
+
*/
|
|
41
|
+
dispose(): Promise<void>;
|
|
42
|
+
/** The publication state. */
|
|
43
|
+
get state(): PublisherState;
|
|
44
|
+
/** Emits when the publisher state changes. */
|
|
45
|
+
get stateChange(): Emitter<PublisherState>;
|
|
46
|
+
/**
|
|
47
|
+
* Publish.
|
|
48
|
+
* @param content - Body to publish
|
|
49
|
+
*/
|
|
50
|
+
publish(content: string, options?: PublisherPublishOptions): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Unpublish.
|
|
53
|
+
*/
|
|
54
|
+
unpublish(options?: PublisherUnpublishOptions): Promise<void>;
|
|
55
|
+
/** @internal */
|
|
56
|
+
protected receiveResponse(response: IncomingResponseMessage): void;
|
|
57
|
+
/** @internal */
|
|
58
|
+
protected send(): OutgoingPublishRequest;
|
|
59
|
+
private refreshRequest;
|
|
60
|
+
private sendPublishRequest;
|
|
61
|
+
/**
|
|
62
|
+
* Transition publication state.
|
|
63
|
+
*/
|
|
64
|
+
private stateTransition;
|
|
65
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { IncomingReferRequest, IncomingRequestMessage, NameAddrHeader, ResponseOptions } from "../core";
|
|
2
|
+
import { Inviter } from "./inviter";
|
|
3
|
+
import { InviterOptions } from "./inviter-options";
|
|
4
|
+
import { Session } from "./session";
|
|
5
|
+
/**
|
|
6
|
+
* A request to establish a {@link Session} elsewhere (incoming REFER).
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export declare class Referral {
|
|
10
|
+
private incomingReferRequest;
|
|
11
|
+
private session;
|
|
12
|
+
private inviter;
|
|
13
|
+
/** @internal */
|
|
14
|
+
constructor(incomingReferRequest: IncomingReferRequest, session: Session);
|
|
15
|
+
get referTo(): NameAddrHeader;
|
|
16
|
+
get referredBy(): string | undefined;
|
|
17
|
+
get replaces(): string | undefined;
|
|
18
|
+
/** Incoming REFER request message. */
|
|
19
|
+
get request(): IncomingRequestMessage;
|
|
20
|
+
/** Accept the request. */
|
|
21
|
+
accept(options?: ResponseOptions): Promise<void>;
|
|
22
|
+
/** Reject the request. */
|
|
23
|
+
reject(options?: ResponseOptions): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Creates an inviter which may be used to send an out of dialog INVITE request.
|
|
26
|
+
*
|
|
27
|
+
* @remarks
|
|
28
|
+
* This a helper method to create an Inviter which will execute the referral
|
|
29
|
+
* of the `Session` which was referred. The appropriate headers are set and
|
|
30
|
+
* the referred `Session` is linked to the new `Session`. Note that only a
|
|
31
|
+
* single instance of the `Inviter` will be created and returned (if called
|
|
32
|
+
* more than once a reference to the same `Inviter` will be returned every time).
|
|
33
|
+
*
|
|
34
|
+
* @param options - Options bucket.
|
|
35
|
+
* @param modifiers - Session description handler modifiers.
|
|
36
|
+
*/
|
|
37
|
+
makeInviter(options?: InviterOptions): Inviter;
|
|
38
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { URI } from "../core";
|
|
2
|
+
/**
|
|
3
|
+
* Options for {@link Registerer} constructor.
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export interface RegistererOptions {
|
|
7
|
+
/** Registration expiration time in seconds. */
|
|
8
|
+
expires?: number;
|
|
9
|
+
/** Array of extra Contact header parameters. */
|
|
10
|
+
extraContactHeaderParams?: Array<string>;
|
|
11
|
+
/** Array of extra headers added to the REGISTER. */
|
|
12
|
+
extraHeaders?: Array<string>;
|
|
13
|
+
/**
|
|
14
|
+
* UUID to provide with "+sip.instance" Contact parameter.
|
|
15
|
+
* @defaultValue a randomly generated uuid
|
|
16
|
+
*/
|
|
17
|
+
instanceId?: string;
|
|
18
|
+
/**
|
|
19
|
+
* If true, constructor logs the registerer configuration.
|
|
20
|
+
* @defaultValue `true`
|
|
21
|
+
*/
|
|
22
|
+
logConfiguration?: boolean;
|
|
23
|
+
/** @deprecated TODO: provide alternative. */
|
|
24
|
+
params?: {
|
|
25
|
+
fromDisplayName?: string;
|
|
26
|
+
fromTag?: string;
|
|
27
|
+
fromUri?: URI;
|
|
28
|
+
toDisplayName?: string;
|
|
29
|
+
toUri?: URI;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Value to provide with "reg-id" Contact parameter.
|
|
33
|
+
* @defaultValue 1
|
|
34
|
+
*/
|
|
35
|
+
regId?: number;
|
|
36
|
+
/**
|
|
37
|
+
* The URI of the registrar to send the REGISTER requests.
|
|
38
|
+
* @defaultValue domain portion of the user agent's uri
|
|
39
|
+
*/
|
|
40
|
+
registrar?: URI;
|
|
41
|
+
/**
|
|
42
|
+
* Determines when a re-REGISTER request is sent. The value should be specified as a percentage of the expiration time (between 50 and 99).
|
|
43
|
+
* @defaultValue 99
|
|
44
|
+
*/
|
|
45
|
+
refreshFrequency?: number;
|
|
46
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { OutgoingRequestDelegate, RequestOptions } from "../core";
|
|
2
|
+
/**
|
|
3
|
+
* Options for {@link Registerer.register}.
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export interface RegistererRegisterOptions {
|
|
7
|
+
/** See `core` API. */
|
|
8
|
+
requestDelegate?: OutgoingRequestDelegate;
|
|
9
|
+
/** See `core` API. */
|
|
10
|
+
requestOptions?: RequestOptions;
|
|
11
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* {@link Registerer} state.
|
|
3
|
+
* @remarks
|
|
4
|
+
* The {@link Registerer} behaves in a deterministic manner according to the following
|
|
5
|
+
* Finite State Machine (FSM).
|
|
6
|
+
* ```txt
|
|
7
|
+
* __________________________________________
|
|
8
|
+
* | __________________________ |
|
|
9
|
+
* Registerer | | v v
|
|
10
|
+
* Constructed -> Initial -> Registered -> Unregistered -> Terminated
|
|
11
|
+
* | ^____________| ^
|
|
12
|
+
* |______________________________|
|
|
13
|
+
* ```
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export declare enum RegistererState {
|
|
17
|
+
Initial = "Initial",
|
|
18
|
+
Registered = "Registered",
|
|
19
|
+
Unregistered = "Unregistered",
|
|
20
|
+
Terminated = "Terminated"
|
|
21
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OutgoingRequestDelegate, RequestOptions } from "../core";
|
|
2
|
+
/**
|
|
3
|
+
* Options for {@link Registerer.unregister}.
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export interface RegistererUnregisterOptions {
|
|
7
|
+
/**
|
|
8
|
+
* If true, unregister all contacts.
|
|
9
|
+
* @defaultValue false
|
|
10
|
+
*/
|
|
11
|
+
all?: boolean;
|
|
12
|
+
/** See `core` API. */
|
|
13
|
+
requestDelegate?: OutgoingRequestDelegate;
|
|
14
|
+
/** See `core` API. */
|
|
15
|
+
requestOptions?: RequestOptions;
|
|
16
|
+
}
|