@lakutata/webrtc 0.0.0-stage → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +23 -0
- package/README.md +509 -2
- package/README.zh-CN.md +399 -0
- package/THIRD_PARTY_NOTICES.md +652 -0
- package/dist/cjs/client/SignalingConnection.d.ts +81 -0
- package/dist/cjs/client/SignalingConnection.js +67 -0
- package/dist/cjs/cluster/Cluster.d.ts +503 -0
- package/dist/cjs/cluster/Cluster.js +546 -0
- package/dist/cjs/cluster/ClusterFrames.d.ts +24 -0
- package/dist/cjs/cluster/ClusterFrames.js +90 -0
- package/dist/cjs/cluster/ClusterTURN.d.ts +63 -0
- package/dist/cjs/cluster/ClusterTURN.js +78 -0
- package/dist/cjs/cluster/Rendezvous.d.ts +8 -0
- package/dist/cjs/cluster/Rendezvous.js +23 -0
- package/dist/cjs/cluster/transports/ClusterTransport.d.ts +34 -0
- package/dist/cjs/cluster/transports/ClusterTransport.js +2 -0
- package/dist/cjs/cluster/transports/LoadClient.d.ts +6 -0
- package/dist/cjs/cluster/transports/LoadClient.js +80 -0
- package/dist/cjs/cluster/transports/MemoryClusterTransport.d.ts +13 -0
- package/dist/cjs/cluster/transports/MemoryClusterTransport.js +47 -0
- package/dist/cjs/cluster/transports/NATSClusterTransport.d.ts +23 -0
- package/dist/cjs/cluster/transports/NATSClusterTransport.js +70 -0
- package/dist/cjs/cluster/transports/RedisClusterTransport.d.ts +23 -0
- package/dist/cjs/cluster/transports/RedisClusterTransport.js +77 -0
- package/dist/cjs/exceptions/ClusterRequestException.d.ts +11 -0
- package/dist/cjs/exceptions/ClusterRequestException.js +18 -0
- package/dist/cjs/exceptions/ClusterTimeoutException.d.ts +10 -0
- package/dist/cjs/exceptions/ClusterTimeoutException.js +17 -0
- package/dist/cjs/exceptions/ClusterTransportNotFoundException.d.ts +11 -0
- package/dist/cjs/exceptions/ClusterTransportNotFoundException.js +18 -0
- package/dist/cjs/exceptions/SignalingClientRequiredException.d.ts +12 -0
- package/dist/cjs/exceptions/SignalingClientRequiredException.js +19 -0
- package/dist/cjs/exceptions/SignalingConnectionException.d.ts +12 -0
- package/dist/cjs/exceptions/SignalingConnectionException.js +19 -0
- package/dist/cjs/exceptions/SignalingDeniedException.d.ts +11 -0
- package/dist/cjs/exceptions/SignalingDeniedException.js +18 -0
- package/dist/cjs/exceptions/SignalingLimitException.d.ts +11 -0
- package/dist/cjs/exceptions/SignalingLimitException.js +18 -0
- package/dist/cjs/exceptions/SignalingNotAMemberException.d.ts +11 -0
- package/dist/cjs/exceptions/SignalingNotAMemberException.js +18 -0
- package/dist/cjs/exceptions/WHEPDeniedException.d.ts +15 -0
- package/dist/cjs/exceptions/WHEPDeniedException.js +22 -0
- package/dist/cjs/exceptions/WHEPLimitException.d.ts +15 -0
- package/dist/cjs/exceptions/WHEPLimitException.js +22 -0
- package/dist/cjs/exceptions/WHEPMediaTypeException.d.ts +15 -0
- package/dist/cjs/exceptions/WHEPMediaTypeException.js +22 -0
- package/dist/cjs/exceptions/WHEPOfferException.d.ts +16 -0
- package/dist/cjs/exceptions/WHEPOfferException.js +23 -0
- package/dist/cjs/exceptions/WHEPSessionNotFoundException.d.ts +15 -0
- package/dist/cjs/exceptions/WHEPSessionNotFoundException.js +22 -0
- package/dist/cjs/exceptions/WHIPDeniedException.d.ts +15 -0
- package/dist/cjs/exceptions/WHIPDeniedException.js +22 -0
- package/dist/cjs/exceptions/WHIPLimitException.d.ts +15 -0
- package/dist/cjs/exceptions/WHIPLimitException.js +22 -0
- package/dist/cjs/exceptions/WHIPMediaTypeException.d.ts +15 -0
- package/dist/cjs/exceptions/WHIPMediaTypeException.js +22 -0
- package/dist/cjs/exceptions/WHIPOfferException.d.ts +16 -0
- package/dist/cjs/exceptions/WHIPOfferException.js +23 -0
- package/dist/cjs/exceptions/WHIPSessionNotFoundException.d.ts +15 -0
- package/dist/cjs/exceptions/WHIPSessionNotFoundException.js +22 -0
- package/dist/cjs/exports/Client.d.ts +11 -0
- package/dist/cjs/exports/Client.js +29 -0
- package/dist/cjs/exports/WebRTC.d.ts +48 -0
- package/dist/cjs/exports/WebRTC.js +72 -0
- package/dist/cjs/lib/common/binary.d.ts +51 -0
- package/dist/cjs/lib/common/binary.js +264 -0
- package/dist/cjs/lib/common/binaryData.d.ts +116 -0
- package/dist/cjs/lib/common/binaryData.js +400 -0
- package/dist/cjs/lib/common/crc.d.ts +4 -0
- package/dist/cjs/lib/common/crc.js +122 -0
- package/dist/cjs/lib/common/deque.d.ts +36 -0
- package/dist/cjs/lib/common/deque.js +89 -0
- package/dist/cjs/lib/common/event.d.ts +48 -0
- package/dist/cjs/lib/common/event.js +207 -0
- package/dist/cjs/lib/common/index.d.ts +11 -0
- package/dist/cjs/lib/common/index.js +50 -0
- package/dist/cjs/lib/common/log.d.ts +47 -0
- package/dist/cjs/lib/common/log.js +62 -0
- package/dist/cjs/lib/common/network.d.ts +10 -0
- package/dist/cjs/lib/common/network.js +60 -0
- package/dist/cjs/lib/common/number.d.ts +13 -0
- package/dist/cjs/lib/common/number.js +43 -0
- package/dist/cjs/lib/common/promise.d.ts +21 -0
- package/dist/cjs/lib/common/promise.js +70 -0
- package/dist/cjs/lib/common/transport.d.ts +104 -0
- package/dist/cjs/lib/common/transport.js +441 -0
- package/dist/cjs/lib/common/type.d.ts +3 -0
- package/dist/cjs/lib/common/type.js +2 -0
- package/dist/cjs/lib/dtls/cipher/const.d.ts +42 -0
- package/dist/cjs/lib/dtls/cipher/const.js +33 -0
- package/dist/cjs/lib/dtls/cipher/create.d.ts +21 -0
- package/dist/cjs/lib/dtls/cipher/create.js +105 -0
- package/dist/cjs/lib/dtls/cipher/ec.d.ts +28 -0
- package/dist/cjs/lib/dtls/cipher/ec.js +44 -0
- package/dist/cjs/lib/dtls/cipher/key-exchange.d.ts +43 -0
- package/dist/cjs/lib/dtls/cipher/key-exchange.js +113 -0
- package/dist/cjs/lib/dtls/cipher/namedCurve.d.ts +7 -0
- package/dist/cjs/lib/dtls/cipher/namedCurve.js +27 -0
- package/dist/cjs/lib/dtls/cipher/prf.d.ts +17 -0
- package/dist/cjs/lib/dtls/cipher/prf.js +92 -0
- package/dist/cjs/lib/dtls/cipher/suites/abstract.d.ts +40 -0
- package/dist/cjs/lib/dtls/cipher/suites/abstract.js +41 -0
- package/dist/cjs/lib/dtls/cipher/suites/aead.d.ts +28 -0
- package/dist/cjs/lib/dtls/cipher/suites/aead.js +132 -0
- package/dist/cjs/lib/dtls/cipher/suites/null.d.ts +24 -0
- package/dist/cjs/lib/dtls/cipher/suites/null.js +41 -0
- package/dist/cjs/lib/dtls/cipher/utils.d.ts +18 -0
- package/dist/cjs/lib/dtls/cipher/utils.js +70 -0
- package/dist/cjs/lib/dtls/cipher/x509.d.ts +33 -0
- package/dist/cjs/lib/dtls/cipher/x509.js +100 -0
- package/dist/cjs/lib/dtls/client.d.ts +7 -0
- package/dist/cjs/lib/dtls/client.js +76 -0
- package/dist/cjs/lib/dtls/context/cipher.d.ts +42 -0
- package/dist/cjs/lib/dtls/context/cipher.js +87 -0
- package/dist/cjs/lib/dtls/context/dtls.d.ts +38 -0
- package/dist/cjs/lib/dtls/context/dtls.js +49 -0
- package/dist/cjs/lib/dtls/context/srtp.d.ts +5 -0
- package/dist/cjs/lib/dtls/context/srtp.js +12 -0
- package/dist/cjs/lib/dtls/context/transport.d.ts +8 -0
- package/dist/cjs/lib/dtls/context/transport.js +17 -0
- package/dist/cjs/lib/dtls/flight/client/flight1.d.ts +10 -0
- package/dist/cjs/lib/dtls/flight/client/flight1.js +26 -0
- package/dist/cjs/lib/dtls/flight/client/flight3.d.ts +8 -0
- package/dist/cjs/lib/dtls/flight/client/flight3.js +25 -0
- package/dist/cjs/lib/dtls/flight/client/flight5.d.ts +18 -0
- package/dist/cjs/lib/dtls/flight/client/flight5.js +206 -0
- package/dist/cjs/lib/dtls/flight/flight.d.ts +18 -0
- package/dist/cjs/lib/dtls/flight/flight.js +68 -0
- package/dist/cjs/lib/dtls/flight/server/flight2.d.ts +6 -0
- package/dist/cjs/lib/dtls/flight/server/flight2.js +126 -0
- package/dist/cjs/lib/dtls/flight/server/flight4.d.ts +17 -0
- package/dist/cjs/lib/dtls/flight/server/flight4.js +87 -0
- package/dist/cjs/lib/dtls/flight/server/flight6.d.ts +13 -0
- package/dist/cjs/lib/dtls/flight/server/flight6.js +111 -0
- package/dist/cjs/lib/dtls/handshake/binary.d.ts +16 -0
- package/dist/cjs/lib/dtls/handshake/binary.js +20 -0
- package/dist/cjs/lib/dtls/handshake/const.d.ts +13 -0
- package/dist/cjs/lib/dtls/handshake/const.js +17 -0
- package/dist/cjs/lib/dtls/handshake/extensions/ellipticCurves.d.ts +17 -0
- package/dist/cjs/lib/dtls/handshake/extensions/ellipticCurves.js +40 -0
- package/dist/cjs/lib/dtls/handshake/extensions/extendedMasterSecret.d.ts +3 -0
- package/dist/cjs/lib/dtls/handshake/extensions/extendedMasterSecret.js +7 -0
- package/dist/cjs/lib/dtls/handshake/extensions/renegotiationIndication.d.ts +18 -0
- package/dist/cjs/lib/dtls/handshake/extensions/renegotiationIndication.js +34 -0
- package/dist/cjs/lib/dtls/handshake/extensions/signature.d.ts +26 -0
- package/dist/cjs/lib/dtls/handshake/extensions/signature.js +39 -0
- package/dist/cjs/lib/dtls/handshake/extensions/useSrtp.d.ts +19 -0
- package/dist/cjs/lib/dtls/handshake/extensions/useSrtp.js +65 -0
- package/dist/cjs/lib/dtls/handshake/message/alert.d.ts +12 -0
- package/dist/cjs/lib/dtls/handshake/message/alert.js +24 -0
- package/dist/cjs/lib/dtls/handshake/message/certificate.d.ts +17 -0
- package/dist/cjs/lib/dtls/handshake/message/certificate.js +35 -0
- package/dist/cjs/lib/dtls/handshake/message/changeCipherSpec.d.ts +11 -0
- package/dist/cjs/lib/dtls/handshake/message/changeCipherSpec.js +24 -0
- package/dist/cjs/lib/dtls/handshake/message/client/certificateVerify.d.ts +20 -0
- package/dist/cjs/lib/dtls/handshake/message/client/certificateVerify.js +35 -0
- package/dist/cjs/lib/dtls/handshake/message/client/hello.d.ts +50 -0
- package/dist/cjs/lib/dtls/handshake/message/client/hello.js +48 -0
- package/dist/cjs/lib/dtls/handshake/message/client/keyExchange.d.ts +17 -0
- package/dist/cjs/lib/dtls/handshake/message/client/keyExchange.js +33 -0
- package/dist/cjs/lib/dtls/handshake/message/finished.d.ts +13 -0
- package/dist/cjs/lib/dtls/handshake/message/finished.js +26 -0
- package/dist/cjs/lib/dtls/handshake/message/server/certificateRequest.d.ts +31 -0
- package/dist/cjs/lib/dtls/handshake/message/server/certificateRequest.js +38 -0
- package/dist/cjs/lib/dtls/handshake/message/server/hello.d.ts +33 -0
- package/dist/cjs/lib/dtls/handshake/message/server/hello.js +57 -0
- package/dist/cjs/lib/dtls/handshake/message/server/helloDone.d.ts +12 -0
- package/dist/cjs/lib/dtls/handshake/message/server/helloDone.js +30 -0
- package/dist/cjs/lib/dtls/handshake/message/server/helloVerifyRequest.d.ts +32 -0
- package/dist/cjs/lib/dtls/handshake/message/server/helloVerifyRequest.js +42 -0
- package/dist/cjs/lib/dtls/handshake/message/server/keyExchange.d.ts +32 -0
- package/dist/cjs/lib/dtls/handshake/message/server/keyExchange.js +49 -0
- package/dist/cjs/lib/dtls/handshake/random.d.ts +13 -0
- package/dist/cjs/lib/dtls/handshake/random.js +29 -0
- package/dist/cjs/lib/dtls/helper.d.ts +4 -0
- package/dist/cjs/lib/dtls/helper.js +30 -0
- package/dist/cjs/lib/dtls/imports/common.d.ts +1 -0
- package/dist/cjs/lib/dtls/imports/common.js +17 -0
- package/dist/cjs/lib/dtls/imports/rtp.d.ts +1 -0
- package/dist/cjs/lib/dtls/imports/rtp.js +17 -0
- package/dist/cjs/lib/dtls/index.d.ts +7 -0
- package/dist/cjs/lib/dtls/index.js +117 -0
- package/dist/cjs/lib/dtls/record/antiReplayWindow.d.ts +27 -0
- package/dist/cjs/lib/dtls/record/antiReplayWindow.js +102 -0
- package/dist/cjs/lib/dtls/record/builder.d.ts +9 -0
- package/dist/cjs/lib/dtls/record/builder.js +27 -0
- package/dist/cjs/lib/dtls/record/const.d.ts +33 -0
- package/dist/cjs/lib/dtls/record/const.js +38 -0
- package/dist/cjs/lib/dtls/record/message/fragment.d.ts +26 -0
- package/dist/cjs/lib/dtls/record/message/fragment.js +96 -0
- package/dist/cjs/lib/dtls/record/message/header.d.ts +38 -0
- package/dist/cjs/lib/dtls/record/message/header.js +34 -0
- package/dist/cjs/lib/dtls/record/message/plaintext.d.ts +14 -0
- package/dist/cjs/lib/dtls/record/message/plaintext.js +63 -0
- package/dist/cjs/lib/dtls/record/receive.d.ts +9 -0
- package/dist/cjs/lib/dtls/record/receive.js +91 -0
- package/dist/cjs/lib/dtls/server.d.ts +6 -0
- package/dist/cjs/lib/dtls/server.js +78 -0
- package/dist/cjs/lib/dtls/socket.d.ts +52 -0
- package/dist/cjs/lib/dtls/socket.js +188 -0
- package/dist/cjs/lib/dtls/typings/domain.d.ts +20 -0
- package/dist/cjs/lib/dtls/typings/domain.js +2 -0
- package/dist/cjs/lib/dtls/util/binary.d.ts +2 -0
- package/dist/cjs/lib/dtls/util/binary.js +8 -0
- package/dist/cjs/lib/ice/candidate.d.ts +35 -0
- package/dist/cjs/lib/ice/candidate.js +198 -0
- package/dist/cjs/lib/ice/dns/lookup.d.ts +16 -0
- package/dist/cjs/lib/ice/dns/lookup.js +133 -0
- package/dist/cjs/lib/ice/dns/mdns.d.ts +38 -0
- package/dist/cjs/lib/ice/dns/mdns.js +145 -0
- package/dist/cjs/lib/ice/exceptions.d.ts +24 -0
- package/dist/cjs/lib/ice/exceptions.js +41 -0
- package/dist/cjs/lib/ice/helper.d.ts +17 -0
- package/dist/cjs/lib/ice/helper.js +74 -0
- package/dist/cjs/lib/ice/ice.d.ts +182 -0
- package/dist/cjs/lib/ice/ice.js +1584 -0
- package/dist/cjs/lib/ice/iceBase.d.ts +214 -0
- package/dist/cjs/lib/ice/iceBase.js +182 -0
- package/dist/cjs/lib/ice/imports/common.d.ts +1 -0
- package/dist/cjs/lib/ice/imports/common.js +17 -0
- package/dist/cjs/lib/ice/index.d.ts +12 -0
- package/dist/cjs/lib/ice/index.js +30 -0
- package/dist/cjs/lib/ice/internal/selectAddresses.d.ts +9 -0
- package/dist/cjs/lib/ice/internal/selectAddresses.js +39 -0
- package/dist/cjs/lib/ice/stun/attributes.d.ts +1 -0
- package/dist/cjs/lib/ice/stun/attributes.js +17 -0
- package/dist/cjs/lib/ice/stun/const.d.ts +8 -0
- package/dist/cjs/lib/ice/stun/const.js +25 -0
- package/dist/cjs/lib/ice/stun/message.d.ts +1 -0
- package/dist/cjs/lib/ice/stun/message.js +17 -0
- package/dist/cjs/lib/ice/stun/protocol.d.ts +30 -0
- package/dist/cjs/lib/ice/stun/protocol.js +125 -0
- package/dist/cjs/lib/ice/stun/tcpFrame.d.ts +5 -0
- package/dist/cjs/lib/ice/stun/tcpFrame.js +25 -0
- package/dist/cjs/lib/ice/stun/tcpProtocol.d.ts +57 -0
- package/dist/cjs/lib/ice/stun/tcpProtocol.js +323 -0
- package/dist/cjs/lib/ice/stun/transaction.d.ts +75 -0
- package/dist/cjs/lib/ice/stun/transaction.js +239 -0
- package/dist/cjs/lib/ice/turn/frame.d.ts +1 -0
- package/dist/cjs/lib/ice/turn/frame.js +17 -0
- package/dist/cjs/lib/ice/turn/protocol.d.ts +170 -0
- package/dist/cjs/lib/ice/turn/protocol.js +638 -0
- package/dist/cjs/lib/ice/types/model.d.ts +56 -0
- package/dist/cjs/lib/ice/types/model.js +2 -0
- package/dist/cjs/lib/ice/utils.d.ts +13 -0
- package/dist/cjs/lib/ice/utils.js +84 -0
- package/dist/cjs/lib/peer/const.d.ts +36 -0
- package/dist/cjs/lib/peer/const.js +53 -0
- package/dist/cjs/lib/peer/dataChannel.d.ts +69 -0
- package/dist/cjs/lib/peer/dataChannel.js +133 -0
- package/dist/cjs/lib/peer/errors.d.ts +11 -0
- package/dist/cjs/lib/peer/errors.js +23 -0
- package/dist/cjs/lib/peer/helper.d.ts +20 -0
- package/dist/cjs/lib/peer/helper.js +84 -0
- package/dist/cjs/lib/peer/imports/common.d.ts +1 -0
- package/dist/cjs/lib/peer/imports/common.js +17 -0
- package/dist/cjs/lib/peer/imports/dtls.d.ts +1 -0
- package/dist/cjs/lib/peer/imports/dtls.js +17 -0
- package/dist/cjs/lib/peer/imports/ice.d.ts +1 -0
- package/dist/cjs/lib/peer/imports/ice.js +17 -0
- package/dist/cjs/lib/peer/imports/rtp.d.ts +1 -0
- package/dist/cjs/lib/peer/imports/rtp.js +17 -0
- package/dist/cjs/lib/peer/index.d.ts +14 -0
- package/dist/cjs/lib/peer/index.js +30 -0
- package/dist/cjs/lib/peer/media/codec.d.ts +15 -0
- package/dist/cjs/lib/peer/media/codec.js +80 -0
- package/dist/cjs/lib/peer/media/codecCompatibility.d.ts +23 -0
- package/dist/cjs/lib/peer/media/codecCompatibility.js +137 -0
- package/dist/cjs/lib/peer/media/extension/rtcpFeedback.d.ts +6 -0
- package/dist/cjs/lib/peer/media/extension/rtcpFeedback.js +13 -0
- package/dist/cjs/lib/peer/media/extension/rtpExtension.d.ts +9 -0
- package/dist/cjs/lib/peer/media/extension/rtpExtension.js +52 -0
- package/dist/cjs/lib/peer/media/index.d.ts +12 -0
- package/dist/cjs/lib/peer/media/index.js +28 -0
- package/dist/cjs/lib/peer/media/parameters.d.ts +65 -0
- package/dist/cjs/lib/peer/media/parameters.js +60 -0
- package/dist/cjs/lib/peer/media/receiver/nack.d.ts +23 -0
- package/dist/cjs/lib/peer/media/receiver/nack.js +104 -0
- package/dist/cjs/lib/peer/media/receiver/receiverTwcc.d.ts +47 -0
- package/dist/cjs/lib/peer/media/receiver/receiverTwcc.js +179 -0
- package/dist/cjs/lib/peer/media/receiver/statistics.d.ts +22 -0
- package/dist/cjs/lib/peer/media/receiver/statistics.js +71 -0
- package/dist/cjs/lib/peer/media/router.d.ts +25 -0
- package/dist/cjs/lib/peer/media/router.js +166 -0
- package/dist/cjs/lib/peer/media/rtpReceiver.d.ts +90 -0
- package/dist/cjs/lib/peer/media/rtpReceiver.js +407 -0
- package/dist/cjs/lib/peer/media/rtpSender.d.ts +209 -0
- package/dist/cjs/lib/peer/media/rtpSender.js +826 -0
- package/dist/cjs/lib/peer/media/rtpTransceiver.d.ts +117 -0
- package/dist/cjs/lib/peer/media/rtpTransceiver.js +245 -0
- package/dist/cjs/lib/peer/media/sender/cumulativeResult.d.ts +19 -0
- package/dist/cjs/lib/peer/media/sender/cumulativeResult.js +61 -0
- package/dist/cjs/lib/peer/media/sender/senderBWE.d.ts +32 -0
- package/dist/cjs/lib/peer/media/sender/senderBWE.js +99 -0
- package/dist/cjs/lib/peer/media/stats.d.ts +293 -0
- package/dist/cjs/lib/peer/media/stats.js +90 -0
- package/dist/cjs/lib/peer/media/track.d.ts +67 -0
- package/dist/cjs/lib/peer/media/track.js +216 -0
- package/dist/cjs/lib/peer/peerConnection.d.ts +458 -0
- package/dist/cjs/lib/peer/peerConnection.js +1591 -0
- package/dist/cjs/lib/peer/sctpManager.d.ts +28 -0
- package/dist/cjs/lib/peer/sctpManager.js +138 -0
- package/dist/cjs/lib/peer/sdp.d.ts +97 -0
- package/dist/cjs/lib/peer/sdp.js +628 -0
- package/dist/cjs/lib/peer/sdpManager.d.ts +116 -0
- package/dist/cjs/lib/peer/sdpManager.js +573 -0
- package/dist/cjs/lib/peer/secureTransportManager.d.ts +96 -0
- package/dist/cjs/lib/peer/secureTransportManager.js +472 -0
- package/dist/cjs/lib/peer/transceiverManager.d.ts +151 -0
- package/dist/cjs/lib/peer/transceiverManager.js +767 -0
- package/dist/cjs/lib/peer/transport/dtls.d.ts +95 -0
- package/dist/cjs/lib/peer/transport/dtls.js +571 -0
- package/dist/cjs/lib/peer/transport/ice.d.ts +143 -0
- package/dist/cjs/lib/peer/transport/ice.js +436 -0
- package/dist/cjs/lib/peer/transport/sctp.d.ts +56 -0
- package/dist/cjs/lib/peer/transport/sctp.js +387 -0
- package/dist/cjs/lib/peer/types/domain.d.ts +5 -0
- package/dist/cjs/lib/peer/types/domain.js +19 -0
- package/dist/cjs/lib/peer/types/util.d.ts +2 -0
- package/dist/cjs/lib/peer/types/util.js +2 -0
- package/dist/cjs/lib/peer/utils.d.ts +73 -0
- package/dist/cjs/lib/peer/utils.js +306 -0
- package/dist/cjs/lib/rtp/codec/av1.d.ts +56 -0
- package/dist/cjs/lib/rtp/codec/av1.js +209 -0
- package/dist/cjs/lib/rtp/codec/base.d.ts +8 -0
- package/dist/cjs/lib/rtp/codec/base.js +15 -0
- package/dist/cjs/lib/rtp/codec/h264.d.ts +32 -0
- package/dist/cjs/lib/rtp/codec/h264.js +122 -0
- package/dist/cjs/lib/rtp/codec/index.d.ts +16 -0
- package/dist/cjs/lib/rtp/codec/index.js +84 -0
- package/dist/cjs/lib/rtp/codec/leb128.d.ts +5 -0
- package/dist/cjs/lib/rtp/codec/leb128.js +23 -0
- package/dist/cjs/lib/rtp/codec/opus.d.ts +9 -0
- package/dist/cjs/lib/rtp/codec/opus.js +25 -0
- package/dist/cjs/lib/rtp/codec/vp8.d.ts +27 -0
- package/dist/cjs/lib/rtp/codec/vp8.js +109 -0
- package/dist/cjs/lib/rtp/codec/vp9.d.ts +46 -0
- package/dist/cjs/lib/rtp/codec/vp9.js +161 -0
- package/dist/cjs/lib/rtp/const.d.ts +1 -0
- package/dist/cjs/lib/rtp/const.js +4 -0
- package/dist/cjs/lib/rtp/helper.d.ts +8 -0
- package/dist/cjs/lib/rtp/helper.js +36 -0
- package/dist/cjs/lib/rtp/imports/common.d.ts +1 -0
- package/dist/cjs/lib/rtp/imports/common.js +17 -0
- package/dist/cjs/lib/rtp/index.d.ts +25 -0
- package/dist/cjs/lib/rtp/index.js +41 -0
- package/dist/cjs/lib/rtp/rtcp/header.d.ts +13 -0
- package/dist/cjs/lib/rtp/rtcp/header.js +50 -0
- package/dist/cjs/lib/rtp/rtcp/psfb/fullIntraRequest.d.ts +16 -0
- package/dist/cjs/lib/rtp/rtcp/psfb/fullIntraRequest.js +34 -0
- package/dist/cjs/lib/rtp/rtcp/psfb/index.d.ts +14 -0
- package/dist/cjs/lib/rtp/rtcp/psfb/index.js +39 -0
- package/dist/cjs/lib/rtp/rtcp/psfb/pictureLossIndication.d.ts +10 -0
- package/dist/cjs/lib/rtp/rtcp/psfb/pictureLossIndication.js +20 -0
- package/dist/cjs/lib/rtp/rtcp/psfb/remb.d.ts +16 -0
- package/dist/cjs/lib/rtp/rtcp/psfb/remb.js +53 -0
- package/dist/cjs/lib/rtp/rtcp/rr.d.ts +32 -0
- package/dist/cjs/lib/rtp/rtcp/rr.js +73 -0
- package/dist/cjs/lib/rtp/rtcp/rtcp.d.ts +10 -0
- package/dist/cjs/lib/rtp/rtcp/rtcp.js +58 -0
- package/dist/cjs/lib/rtp/rtcp/rtpfb/const.d.ts +1 -0
- package/dist/cjs/lib/rtp/rtcp/rtpfb/const.js +4 -0
- package/dist/cjs/lib/rtp/rtcp/rtpfb/index.d.ts +14 -0
- package/dist/cjs/lib/rtp/rtcp/rtpfb/index.js +35 -0
- package/dist/cjs/lib/rtp/rtcp/rtpfb/nack.d.ts +17 -0
- package/dist/cjs/lib/rtp/rtcp/rtpfb/nack.js +77 -0
- package/dist/cjs/lib/rtp/rtcp/rtpfb/twcc.d.ts +71 -0
- package/dist/cjs/lib/rtp/rtcp/rtpfb/twcc.js +352 -0
- package/dist/cjs/lib/rtp/rtcp/sdes.d.ts +26 -0
- package/dist/cjs/lib/rtp/rtcp/sdes.js +97 -0
- package/dist/cjs/lib/rtp/rtcp/sr.d.ts +41 -0
- package/dist/cjs/lib/rtp/rtcp/sr.js +110 -0
- package/dist/cjs/lib/rtp/rtp/headerExtension.d.ts +72 -0
- package/dist/cjs/lib/rtp/rtp/headerExtension.js +117 -0
- package/dist/cjs/lib/rtp/rtp/red/encoder.d.ts +13 -0
- package/dist/cjs/lib/rtp/rtp/red/encoder.js +44 -0
- package/dist/cjs/lib/rtp/rtp/red/handler.d.ts +6 -0
- package/dist/cjs/lib/rtp/rtp/red/handler.js +59 -0
- package/dist/cjs/lib/rtp/rtp/red/packet.d.ts +26 -0
- package/dist/cjs/lib/rtp/rtp/red/packet.js +112 -0
- package/dist/cjs/lib/rtp/rtp/rtp.d.ts +44 -0
- package/dist/cjs/lib/rtp/rtp/rtp.js +271 -0
- package/dist/cjs/lib/rtp/rtp/rtx.d.ts +3 -0
- package/dist/cjs/lib/rtp/rtp/rtx.js +29 -0
- package/dist/cjs/lib/rtp/srtp/cipher/ctr.d.ts +16 -0
- package/dist/cjs/lib/rtp/srtp/cipher/ctr.js +107 -0
- package/dist/cjs/lib/rtp/srtp/cipher/gcm.d.ts +17 -0
- package/dist/cjs/lib/rtp/srtp/cipher/gcm.js +145 -0
- package/dist/cjs/lib/rtp/srtp/cipher/index.d.ts +13 -0
- package/dist/cjs/lib/rtp/srtp/cipher/index.js +24 -0
- package/dist/cjs/lib/rtp/srtp/const.d.ts +6 -0
- package/dist/cjs/lib/rtp/srtp/const.js +26 -0
- package/dist/cjs/lib/rtp/srtp/context/context.d.ts +45 -0
- package/dist/cjs/lib/rtp/srtp/context/context.js +180 -0
- package/dist/cjs/lib/rtp/srtp/context/srtcp.d.ts +8 -0
- package/dist/cjs/lib/rtp/srtp/context/srtcp.js +25 -0
- package/dist/cjs/lib/rtp/srtp/context/srtp.d.ts +9 -0
- package/dist/cjs/lib/rtp/srtp/context/srtp.js +41 -0
- package/dist/cjs/lib/rtp/srtp/error.d.ts +3 -0
- package/dist/cjs/lib/rtp/srtp/error.js +10 -0
- package/dist/cjs/lib/rtp/srtp/packet.d.ts +5 -0
- package/dist/cjs/lib/rtp/srtp/packet.js +47 -0
- package/dist/cjs/lib/rtp/srtp/session.d.ts +19 -0
- package/dist/cjs/lib/rtp/srtp/session.js +13 -0
- package/dist/cjs/lib/rtp/srtp/srtcp.d.ts +8 -0
- package/dist/cjs/lib/rtp/srtp/srtcp.js +21 -0
- package/dist/cjs/lib/rtp/srtp/srtp.d.ts +9 -0
- package/dist/cjs/lib/rtp/srtp/srtp.js +20 -0
- package/dist/cjs/lib/rtp/transport.d.ts +15 -0
- package/dist/cjs/lib/rtp/transport.js +23 -0
- package/dist/cjs/lib/rtp/util.d.ts +11 -0
- package/dist/cjs/lib/rtp/util.js +28 -0
- package/dist/cjs/lib/sctp/chunk.d.ts +164 -0
- package/dist/cjs/lib/sctp/chunk.js +542 -0
- package/dist/cjs/lib/sctp/const.d.ts +17 -0
- package/dist/cjs/lib/sctp/const.js +22 -0
- package/dist/cjs/lib/sctp/helper.d.ts +5 -0
- package/dist/cjs/lib/sctp/helper.js +14 -0
- package/dist/cjs/lib/sctp/imports/common.d.ts +1 -0
- package/dist/cjs/lib/sctp/imports/common.js +17 -0
- package/dist/cjs/lib/sctp/index.d.ts +6 -0
- package/dist/cjs/lib/sctp/index.js +20 -0
- package/dist/cjs/lib/sctp/param.d.ts +40 -0
- package/dist/cjs/lib/sctp/param.js +132 -0
- package/dist/cjs/lib/sctp/sctp.d.ts +210 -0
- package/dist/cjs/lib/sctp/sctp.js +1467 -0
- package/dist/cjs/lib/sctp/transport.d.ts +15 -0
- package/dist/cjs/lib/sctp/transport.js +28 -0
- package/dist/cjs/lib/turn/index.d.ts +9 -0
- package/dist/cjs/lib/turn/index.js +25 -0
- package/dist/cjs/lib/turn/node/server.d.ts +21 -0
- package/dist/cjs/lib/turn/node/server.js +94 -0
- package/dist/cjs/lib/turn/node/turnServer.d.ts +91 -0
- package/dist/cjs/lib/turn/node/turnServer.js +565 -0
- package/dist/cjs/lib/turn/protocol.d.ts +47 -0
- package/dist/cjs/lib/turn/protocol.js +116 -0
- package/dist/cjs/lib/turn/stun/attributes.d.ts +37 -0
- package/dist/cjs/lib/turn/stun/attributes.js +208 -0
- package/dist/cjs/lib/turn/stun/const.d.ts +28 -0
- package/dist/cjs/lib/turn/stun/const.js +87 -0
- package/dist/cjs/lib/turn/stun/ip.d.ts +12 -0
- package/dist/cjs/lib/turn/stun/ip.js +87 -0
- package/dist/cjs/lib/turn/stun/message.d.ts +37 -0
- package/dist/cjs/lib/turn/stun/message.js +180 -0
- package/dist/cjs/lib/turn/turn/auth.d.ts +1 -0
- package/dist/cjs/lib/turn/turn/auth.js +9 -0
- package/dist/cjs/lib/turn/turn/frame.d.ts +13 -0
- package/dist/cjs/lib/turn/turn/frame.js +68 -0
- package/dist/cjs/lib/turn/turn/protocol.d.ts +147 -0
- package/dist/cjs/lib/turn/turn/protocol.js +785 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/peer/Endpoints.d.ts +75 -0
- package/dist/cjs/peer/Endpoints.js +154 -0
- package/dist/cjs/peer/EngineConfig.d.ts +20 -0
- package/dist/cjs/peer/EngineConfig.js +36 -0
- package/dist/cjs/peer/EngineConnection.d.ts +22 -0
- package/dist/cjs/peer/EngineConnection.js +27 -0
- package/dist/cjs/peer/Events.d.ts +55 -0
- package/dist/cjs/peer/Events.js +85 -0
- package/dist/cjs/peer/MediaCodecs.d.ts +27 -0
- package/dist/cjs/peer/MediaCodecs.js +53 -0
- package/dist/cjs/peer/MediaTrack.d.ts +212 -0
- package/dist/cjs/peer/MediaTrack.js +313 -0
- package/dist/cjs/peer/PeerChannel.d.ts +248 -0
- package/dist/cjs/peer/PeerChannel.js +319 -0
- package/dist/cjs/peer/PeerConnection.d.ts +603 -0
- package/dist/cjs/peer/PeerConnection.js +697 -0
- package/dist/cjs/peer/PeerThreadChannel.d.ts +112 -0
- package/dist/cjs/peer/PeerThreadChannel.js +273 -0
- package/dist/cjs/peer/PeerThreadProtocol.d.ts +325 -0
- package/dist/cjs/peer/PeerThreadProtocol.js +2 -0
- package/dist/cjs/peer/PeerThreads.d.ts +114 -0
- package/dist/cjs/peer/PeerThreads.js +268 -0
- package/dist/cjs/peer/PeerWorker.d.ts +6 -0
- package/dist/cjs/peer/PeerWorker.js +461 -0
- package/dist/cjs/peer/PeerWorkerCode.d.ts +5 -0
- package/dist/cjs/peer/PeerWorkerCode.js +4 -0
- package/dist/cjs/peer/RemoteConnection.d.ts +314 -0
- package/dist/cjs/peer/RemoteConnection.js +913 -0
- package/dist/cjs/peer/RtpPacket.d.ts +112 -0
- package/dist/cjs/peer/RtpPacket.js +92 -0
- package/dist/cjs/peer/RtpTransceiver.d.ts +167 -0
- package/dist/cjs/peer/RtpTransceiver.js +235 -0
- package/dist/cjs/peer/SignalingClient.d.ts +236 -0
- package/dist/cjs/peer/SignalingClient.js +285 -0
- package/dist/cjs/protocol/SignalingProtocol.d.ts +266 -0
- package/dist/cjs/protocol/SignalingProtocol.js +65 -0
- package/dist/cjs/service/WebRTCServiceEntrypoint.d.ts +158 -0
- package/dist/cjs/service/WebRTCServiceEntrypoint.js +356 -0
- package/dist/cjs/sfu/SFU.d.ts +356 -0
- package/dist/cjs/sfu/SFU.js +763 -0
- package/dist/cjs/sfu/SFUAccess.d.ts +48 -0
- package/dist/cjs/sfu/SFUAccess.js +15 -0
- package/dist/cjs/sfu/SFUClusterLeg.d.ts +101 -0
- package/dist/cjs/sfu/SFUClusterLeg.js +106 -0
- package/dist/cjs/sfu/SFURoom.d.ts +148 -0
- package/dist/cjs/sfu/SFURoom.js +1300 -0
- package/dist/cjs/sfu/SFUWorker.d.ts +13 -0
- package/dist/cjs/sfu/SFUWorker.js +168 -0
- package/dist/cjs/sfu/SFUWorkerChannel.d.ts +204 -0
- package/dist/cjs/sfu/SFUWorkerChannel.js +105 -0
- package/dist/cjs/sfu/SFUWorkerCode.d.ts +5 -0
- package/dist/cjs/sfu/SFUWorkerCode.js +4 -0
- package/dist/cjs/sfu/SFUWorkers.d.ts +247 -0
- package/dist/cjs/sfu/SFUWorkers.js +552 -0
- package/dist/cjs/shared/ChunkedChannel.d.ts +122 -0
- package/dist/cjs/shared/ChunkedChannel.js +182 -0
- package/dist/cjs/shared/Connections.d.ts +231 -0
- package/dist/cjs/shared/Connections.js +2 -0
- package/dist/cjs/shared/Emitter.d.ts +50 -0
- package/dist/cjs/shared/Emitter.js +80 -0
- package/dist/cjs/shared/Peer.d.ts +182 -0
- package/dist/cjs/shared/Peer.js +509 -0
- package/dist/cjs/shared/PeerServiceProxy.d.ts +173 -0
- package/dist/cjs/shared/PeerServiceProxy.js +304 -0
- package/dist/cjs/shared/Room.d.ts +143 -0
- package/dist/cjs/shared/Room.js +515 -0
- package/dist/cjs/shared/SignalingError.d.ts +40 -0
- package/dist/cjs/shared/SignalingError.js +48 -0
- package/dist/cjs/shared/SignalingSession.d.ts +97 -0
- package/dist/cjs/shared/SignalingSession.js +347 -0
- package/dist/cjs/shared/Transports.d.ts +139 -0
- package/dist/cjs/shared/Transports.js +285 -0
- package/dist/cjs/signaling/MediaServers.d.ts +40 -0
- package/dist/cjs/signaling/MediaServers.js +16 -0
- package/dist/cjs/signaling/Signaling.d.ts +573 -0
- package/dist/cjs/signaling/Signaling.js +945 -0
- package/dist/cjs/signaling/SignalingController.d.ts +128 -0
- package/dist/cjs/signaling/SignalingController.js +229 -0
- package/dist/cjs/turn/TURNCredentials.d.ts +49 -0
- package/dist/cjs/turn/TURNCredentials.js +49 -0
- package/dist/cjs/turn/TURNIceServers.d.ts +11 -0
- package/dist/cjs/turn/TURNIceServers.js +25 -0
- package/dist/cjs/turn/TURNServer.d.ts +309 -0
- package/dist/cjs/turn/TURNServer.js +331 -0
- package/dist/cjs/turn/TURNWorker.d.ts +42 -0
- package/dist/cjs/turn/TURNWorker.js +52 -0
- package/dist/cjs/turn/TURNWorkerCode.d.ts +5 -0
- package/dist/cjs/turn/TURNWorkerCode.js +4 -0
- package/dist/cjs/turn/TURNWorkers.d.ts +52 -0
- package/dist/cjs/turn/TURNWorkers.js +211 -0
- package/dist/cjs/whep/WHEP.d.ts +386 -0
- package/dist/cjs/whep/WHEP.js +426 -0
- package/dist/cjs/whep/WHEPController.d.ts +134 -0
- package/dist/cjs/whep/WHEPController.js +301 -0
- package/dist/cjs/whip/WHIP.d.ts +426 -0
- package/dist/cjs/whip/WHIP.js +470 -0
- package/dist/cjs/whip/WHIPController.d.ts +132 -0
- package/dist/cjs/whip/WHIPController.js +299 -0
- package/dist/esm/client/SignalingConnection.js +63 -0
- package/dist/esm/cluster/Cluster.js +542 -0
- package/dist/esm/cluster/ClusterFrames.js +85 -0
- package/dist/esm/cluster/ClusterTURN.js +73 -0
- package/dist/esm/cluster/Rendezvous.js +20 -0
- package/dist/esm/cluster/transports/ClusterTransport.js +1 -0
- package/dist/esm/cluster/transports/LoadClient.js +44 -0
- package/dist/esm/cluster/transports/MemoryClusterTransport.js +43 -0
- package/dist/esm/cluster/transports/NATSClusterTransport.js +66 -0
- package/dist/esm/cluster/transports/RedisClusterTransport.js +73 -0
- package/dist/esm/exceptions/ClusterRequestException.js +14 -0
- package/dist/esm/exceptions/ClusterTimeoutException.js +13 -0
- package/dist/esm/exceptions/ClusterTransportNotFoundException.js +14 -0
- package/dist/esm/exceptions/SignalingClientRequiredException.js +15 -0
- package/dist/esm/exceptions/SignalingConnectionException.js +15 -0
- package/dist/esm/exceptions/SignalingDeniedException.js +14 -0
- package/dist/esm/exceptions/SignalingLimitException.js +14 -0
- package/dist/esm/exceptions/SignalingNotAMemberException.js +14 -0
- package/dist/esm/exceptions/WHEPDeniedException.js +18 -0
- package/dist/esm/exceptions/WHEPLimitException.js +18 -0
- package/dist/esm/exceptions/WHEPMediaTypeException.js +18 -0
- package/dist/esm/exceptions/WHEPOfferException.js +19 -0
- package/dist/esm/exceptions/WHEPSessionNotFoundException.js +18 -0
- package/dist/esm/exceptions/WHIPDeniedException.js +18 -0
- package/dist/esm/exceptions/WHIPLimitException.js +18 -0
- package/dist/esm/exceptions/WHIPMediaTypeException.js +18 -0
- package/dist/esm/exceptions/WHIPOfferException.js +19 -0
- package/dist/esm/exceptions/WHIPSessionNotFoundException.js +18 -0
- package/dist/esm/exports/Client.js +5 -0
- package/dist/esm/exports/WebRTC.js +41 -0
- package/dist/esm/lib/common/binary.js +244 -0
- package/dist/esm/lib/common/binaryData.js +392 -0
- package/dist/esm/lib/common/crc.js +118 -0
- package/dist/esm/lib/common/deque.js +85 -0
- package/dist/esm/lib/common/event.js +202 -0
- package/dist/esm/lib/common/index.js +11 -0
- package/dist/esm/lib/common/log.js +55 -0
- package/dist/esm/lib/common/network.js +52 -0
- package/dist/esm/lib/common/number.js +31 -0
- package/dist/esm/lib/common/promise.js +64 -0
- package/dist/esm/lib/common/transport.js +401 -0
- package/dist/esm/lib/common/type.js +1 -0
- package/dist/esm/lib/dtls/cipher/const.js +30 -0
- package/dist/esm/lib/dtls/cipher/create.js +98 -0
- package/dist/esm/lib/dtls/cipher/ec.js +37 -0
- package/dist/esm/lib/dtls/cipher/key-exchange.js +103 -0
- package/dist/esm/lib/dtls/cipher/namedCurve.js +24 -0
- package/dist/esm/lib/dtls/cipher/prf.js +79 -0
- package/dist/esm/lib/dtls/cipher/suites/abstract.js +37 -0
- package/dist/esm/lib/dtls/cipher/suites/aead.js +96 -0
- package/dist/esm/lib/dtls/cipher/suites/null.js +35 -0
- package/dist/esm/lib/dtls/cipher/utils.js +34 -0
- package/dist/esm/lib/dtls/cipher/x509.js +94 -0
- package/dist/esm/lib/dtls/client.js +72 -0
- package/dist/esm/lib/dtls/context/cipher.js +83 -0
- package/dist/esm/lib/dtls/context/dtls.js +45 -0
- package/dist/esm/lib/dtls/context/srtp.js +8 -0
- package/dist/esm/lib/dtls/context/transport.js +13 -0
- package/dist/esm/lib/dtls/flight/client/flight1.js +22 -0
- package/dist/esm/lib/dtls/flight/client/flight3.js +21 -0
- package/dist/esm/lib/dtls/flight/client/flight5.js +202 -0
- package/dist/esm/lib/dtls/flight/flight.js +64 -0
- package/dist/esm/lib/dtls/flight/server/flight2.js +122 -0
- package/dist/esm/lib/dtls/flight/server/flight4.js +83 -0
- package/dist/esm/lib/dtls/flight/server/flight6.js +107 -0
- package/dist/esm/lib/dtls/handshake/binary.js +17 -0
- package/dist/esm/lib/dtls/handshake/const.js +14 -0
- package/dist/esm/lib/dtls/handshake/extensions/ellipticCurves.js +36 -0
- package/dist/esm/lib/dtls/handshake/extensions/extendedMasterSecret.js +3 -0
- package/dist/esm/lib/dtls/handshake/extensions/renegotiationIndication.js +30 -0
- package/dist/esm/lib/dtls/handshake/extensions/signature.js +35 -0
- package/dist/esm/lib/dtls/handshake/extensions/useSrtp.js +61 -0
- package/dist/esm/lib/dtls/handshake/message/alert.js +20 -0
- package/dist/esm/lib/dtls/handshake/message/certificate.js +31 -0
- package/dist/esm/lib/dtls/handshake/message/changeCipherSpec.js +20 -0
- package/dist/esm/lib/dtls/handshake/message/client/certificateVerify.js +31 -0
- package/dist/esm/lib/dtls/handshake/message/client/hello.js +44 -0
- package/dist/esm/lib/dtls/handshake/message/client/keyExchange.js +29 -0
- package/dist/esm/lib/dtls/handshake/message/finished.js +22 -0
- package/dist/esm/lib/dtls/handshake/message/server/certificateRequest.js +34 -0
- package/dist/esm/lib/dtls/handshake/message/server/hello.js +53 -0
- package/dist/esm/lib/dtls/handshake/message/server/helloDone.js +26 -0
- package/dist/esm/lib/dtls/handshake/message/server/helloVerifyRequest.js +38 -0
- package/dist/esm/lib/dtls/handshake/message/server/keyExchange.js +45 -0
- package/dist/esm/lib/dtls/handshake/random.js +25 -0
- package/dist/esm/lib/dtls/helper.js +23 -0
- package/dist/esm/lib/dtls/imports/common.js +1 -0
- package/dist/esm/lib/dtls/imports/rtp.js +1 -0
- package/dist/esm/lib/dtls/index.js +97 -0
- package/dist/esm/lib/dtls/record/antiReplayWindow.js +98 -0
- package/dist/esm/lib/dtls/record/builder.js +22 -0
- package/dist/esm/lib/dtls/record/const.js +35 -0
- package/dist/esm/lib/dtls/record/message/fragment.js +92 -0
- package/dist/esm/lib/dtls/record/message/header.js +30 -0
- package/dist/esm/lib/dtls/record/message/plaintext.js +59 -0
- package/dist/esm/lib/dtls/record/receive.js +86 -0
- package/dist/esm/lib/dtls/server.js +74 -0
- package/dist/esm/lib/dtls/socket.js +184 -0
- package/dist/esm/lib/dtls/typings/domain.js +1 -0
- package/dist/esm/lib/dtls/util/binary.js +5 -0
- package/dist/esm/lib/ice/candidate.js +190 -0
- package/dist/esm/lib/ice/dns/lookup.js +95 -0
- package/dist/esm/lib/ice/dns/mdns.js +139 -0
- package/dist/esm/lib/ice/exceptions.js +34 -0
- package/dist/esm/lib/ice/helper.js +65 -0
- package/dist/esm/lib/ice/ice.js +1547 -0
- package/dist/esm/lib/ice/iceBase.js +172 -0
- package/dist/esm/lib/ice/imports/common.js +1 -0
- package/dist/esm/lib/ice/index.js +12 -0
- package/dist/esm/lib/ice/internal/selectAddresses.js +36 -0
- package/dist/esm/lib/ice/stun/attributes.js +1 -0
- package/dist/esm/lib/ice/stun/const.js +8 -0
- package/dist/esm/lib/ice/stun/message.js +1 -0
- package/dist/esm/lib/ice/stun/protocol.js +121 -0
- package/dist/esm/lib/ice/stun/tcpFrame.js +21 -0
- package/dist/esm/lib/ice/stun/tcpProtocol.js +318 -0
- package/dist/esm/lib/ice/stun/transaction.js +230 -0
- package/dist/esm/lib/ice/turn/frame.js +1 -0
- package/dist/esm/lib/ice/turn/protocol.js +630 -0
- package/dist/esm/lib/ice/types/model.js +1 -0
- package/dist/esm/lib/ice/utils.js +43 -0
- package/dist/esm/lib/peer/const.js +50 -0
- package/dist/esm/lib/peer/dataChannel.js +127 -0
- package/dist/esm/lib/peer/errors.js +17 -0
- package/dist/esm/lib/peer/helper.js +77 -0
- package/dist/esm/lib/peer/imports/common.js +1 -0
- package/dist/esm/lib/peer/imports/dtls.js +1 -0
- package/dist/esm/lib/peer/imports/ice.js +1 -0
- package/dist/esm/lib/peer/imports/rtp.js +1 -0
- package/dist/esm/lib/peer/index.js +14 -0
- package/dist/esm/lib/peer/media/codec.js +69 -0
- package/dist/esm/lib/peer/media/codecCompatibility.js +128 -0
- package/dist/esm/lib/peer/media/extension/rtcpFeedback.js +5 -0
- package/dist/esm/lib/peer/media/extension/rtpExtension.js +42 -0
- package/dist/esm/lib/peer/media/index.js +12 -0
- package/dist/esm/lib/peer/media/parameters.js +50 -0
- package/dist/esm/lib/peer/media/receiver/nack.js +100 -0
- package/dist/esm/lib/peer/media/receiver/receiverTwcc.js +175 -0
- package/dist/esm/lib/peer/media/receiver/statistics.js +67 -0
- package/dist/esm/lib/peer/media/router.js +162 -0
- package/dist/esm/lib/peer/media/rtpReceiver.js +403 -0
- package/dist/esm/lib/peer/media/rtpSender.js +822 -0
- package/dist/esm/lib/peer/media/rtpTransceiver.js +241 -0
- package/dist/esm/lib/peer/media/sender/cumulativeResult.js +57 -0
- package/dist/esm/lib/peer/media/sender/senderBWE.js +95 -0
- package/dist/esm/lib/peer/media/stats.js +81 -0
- package/dist/esm/lib/peer/media/track.js +208 -0
- package/dist/esm/lib/peer/peerConnection.js +1585 -0
- package/dist/esm/lib/peer/sctpManager.js +134 -0
- package/dist/esm/lib/peer/sdp.js +614 -0
- package/dist/esm/lib/peer/sdpManager.js +569 -0
- package/dist/esm/lib/peer/secureTransportManager.js +468 -0
- package/dist/esm/lib/peer/transceiverManager.js +763 -0
- package/dist/esm/lib/peer/transport/dtls.js +564 -0
- package/dist/esm/lib/peer/transport/ice.js +426 -0
- package/dist/esm/lib/peer/transport/sctp.js +382 -0
- package/dist/esm/lib/peer/types/domain.js +16 -0
- package/dist/esm/lib/peer/types/util.js +1 -0
- package/dist/esm/lib/peer/utils.js +286 -0
- package/dist/esm/lib/rtp/codec/av1.js +203 -0
- package/dist/esm/lib/rtp/codec/base.js +11 -0
- package/dist/esm/lib/rtp/codec/h264.js +118 -0
- package/dist/esm/lib/rtp/codec/index.js +66 -0
- package/dist/esm/lib/rtp/codec/leb128.js +20 -0
- package/dist/esm/lib/rtp/codec/opus.js +21 -0
- package/dist/esm/lib/rtp/codec/vp8.js +105 -0
- package/dist/esm/lib/rtp/codec/vp9.js +157 -0
- package/dist/esm/lib/rtp/const.js +1 -0
- package/dist/esm/lib/rtp/helper.js +29 -0
- package/dist/esm/lib/rtp/imports/common.js +1 -0
- package/dist/esm/lib/rtp/index.js +25 -0
- package/dist/esm/lib/rtp/rtcp/header.js +46 -0
- package/dist/esm/lib/rtp/rtcp/psfb/fullIntraRequest.js +30 -0
- package/dist/esm/lib/rtp/rtcp/psfb/index.js +35 -0
- package/dist/esm/lib/rtp/rtcp/psfb/pictureLossIndication.js +16 -0
- package/dist/esm/lib/rtp/rtcp/psfb/remb.js +49 -0
- package/dist/esm/lib/rtp/rtcp/rr.js +68 -0
- package/dist/esm/lib/rtp/rtcp/rtcp.js +53 -0
- package/dist/esm/lib/rtp/rtcp/rtpfb/const.js +1 -0
- package/dist/esm/lib/rtp/rtcp/rtpfb/index.js +31 -0
- package/dist/esm/lib/rtp/rtcp/rtpfb/nack.js +73 -0
- package/dist/esm/lib/rtp/rtcp/rtpfb/twcc.js +344 -0
- package/dist/esm/lib/rtp/rtcp/sdes.js +91 -0
- package/dist/esm/lib/rtp/rtcp/sr.js +104 -0
- package/dist/esm/lib/rtp/rtp/headerExtension.js +102 -0
- package/dist/esm/lib/rtp/rtp/red/encoder.js +40 -0
- package/dist/esm/lib/rtp/rtp/red/handler.js +55 -0
- package/dist/esm/lib/rtp/rtp/red/packet.js +107 -0
- package/dist/esm/lib/rtp/rtp/rtp.js +266 -0
- package/dist/esm/lib/rtp/rtp/rtx.js +25 -0
- package/dist/esm/lib/rtp/srtp/cipher/ctr.js +103 -0
- package/dist/esm/lib/rtp/srtp/cipher/gcm.js +141 -0
- package/dist/esm/lib/rtp/srtp/cipher/index.js +20 -0
- package/dist/esm/lib/rtp/srtp/const.js +21 -0
- package/dist/esm/lib/rtp/srtp/context/context.js +175 -0
- package/dist/esm/lib/rtp/srtp/context/srtcp.js +21 -0
- package/dist/esm/lib/rtp/srtp/context/srtp.js +37 -0
- package/dist/esm/lib/rtp/srtp/error.js +6 -0
- package/dist/esm/lib/rtp/srtp/packet.js +42 -0
- package/dist/esm/lib/rtp/srtp/session.js +9 -0
- package/dist/esm/lib/rtp/srtp/srtcp.js +17 -0
- package/dist/esm/lib/rtp/srtp/srtp.js +16 -0
- package/dist/esm/lib/rtp/transport.js +18 -0
- package/dist/esm/lib/rtp/util.js +24 -0
- package/dist/esm/lib/sctp/chunk.js +515 -0
- package/dist/esm/lib/sctp/const.js +19 -0
- package/dist/esm/lib/sctp/helper.js +10 -0
- package/dist/esm/lib/sctp/imports/common.js +1 -0
- package/dist/esm/lib/sctp/index.js +4 -0
- package/dist/esm/lib/sctp/param.js +126 -0
- package/dist/esm/lib/sctp/sctp.js +1459 -0
- package/dist/esm/lib/sctp/transport.js +23 -0
- package/dist/esm/lib/turn/index.js +9 -0
- package/dist/esm/lib/turn/node/server.js +89 -0
- package/dist/esm/lib/turn/node/turnServer.js +560 -0
- package/dist/esm/lib/turn/protocol.js +112 -0
- package/dist/esm/lib/turn/stun/attributes.js +198 -0
- package/dist/esm/lib/turn/stun/const.js +82 -0
- package/dist/esm/lib/turn/stun/ip.js +81 -0
- package/dist/esm/lib/turn/stun/message.js +174 -0
- package/dist/esm/lib/turn/turn/auth.js +6 -0
- package/dist/esm/lib/turn/turn/frame.js +61 -0
- package/dist/esm/lib/turn/turn/protocol.js +781 -0
- package/dist/esm/peer/Endpoints.js +143 -0
- package/dist/esm/peer/EngineConfig.js +33 -0
- package/dist/esm/peer/EngineConnection.js +22 -0
- package/dist/esm/peer/Events.js +81 -0
- package/dist/esm/peer/MediaCodecs.js +47 -0
- package/dist/esm/peer/MediaTrack.js +305 -0
- package/dist/esm/peer/PeerChannel.js +315 -0
- package/dist/esm/peer/PeerConnection.js +694 -0
- package/dist/esm/peer/PeerThreadChannel.js +266 -0
- package/dist/esm/peer/PeerThreadProtocol.js +1 -0
- package/dist/esm/peer/PeerThreads.js +264 -0
- package/dist/esm/peer/PeerWorker.js +458 -0
- package/dist/esm/peer/PeerWorkerCode.js +1 -0
- package/dist/esm/peer/RemoteConnection.js +905 -0
- package/dist/esm/peer/RtpPacket.js +86 -0
- package/dist/esm/peer/RtpTransceiver.js +225 -0
- package/dist/esm/peer/SignalingClient.js +249 -0
- package/dist/esm/protocol/SignalingProtocol.js +62 -0
- package/dist/esm/service/WebRTCServiceEntrypoint.js +352 -0
- package/dist/esm/sfu/SFU.js +759 -0
- package/dist/esm/sfu/SFUAccess.js +12 -0
- package/dist/esm/sfu/SFUClusterLeg.js +102 -0
- package/dist/esm/sfu/SFURoom.js +1296 -0
- package/dist/esm/sfu/SFUWorker.js +165 -0
- package/dist/esm/sfu/SFUWorkerChannel.js +101 -0
- package/dist/esm/sfu/SFUWorkerCode.js +1 -0
- package/dist/esm/sfu/SFUWorkers.js +547 -0
- package/dist/esm/shared/ChunkedChannel.js +178 -0
- package/dist/esm/shared/Connections.js +1 -0
- package/dist/esm/shared/Emitter.js +76 -0
- package/dist/esm/shared/Peer.js +505 -0
- package/dist/esm/shared/PeerServiceProxy.js +299 -0
- package/dist/esm/shared/Room.js +511 -0
- package/dist/esm/shared/SignalingError.js +43 -0
- package/dist/esm/shared/SignalingSession.js +343 -0
- package/dist/esm/shared/Transports.js +279 -0
- package/dist/esm/signaling/MediaServers.js +13 -0
- package/dist/esm/signaling/Signaling.js +941 -0
- package/dist/esm/signaling/SignalingController.js +225 -0
- package/dist/esm/turn/TURNCredentials.js +44 -0
- package/dist/esm/turn/TURNIceServers.js +22 -0
- package/dist/esm/turn/TURNServer.js +327 -0
- package/dist/esm/turn/TURNWorker.js +49 -0
- package/dist/esm/turn/TURNWorkerCode.js +1 -0
- package/dist/esm/turn/TURNWorkers.js +206 -0
- package/dist/esm/whep/WHEP.js +422 -0
- package/dist/esm/whep/WHEPController.js +298 -0
- package/dist/esm/whip/WHIP.js +466 -0
- package/dist/esm/whip/WHIPController.js +296 -0
- package/dist/types/client/SignalingConnection.d.ts +81 -0
- package/dist/types/cluster/Cluster.d.ts +503 -0
- package/dist/types/cluster/ClusterFrames.d.ts +24 -0
- package/dist/types/cluster/ClusterTURN.d.ts +63 -0
- package/dist/types/cluster/Rendezvous.d.ts +8 -0
- package/dist/types/cluster/transports/ClusterTransport.d.ts +34 -0
- package/dist/types/cluster/transports/LoadClient.d.ts +6 -0
- package/dist/types/cluster/transports/MemoryClusterTransport.d.ts +13 -0
- package/dist/types/cluster/transports/NATSClusterTransport.d.ts +23 -0
- package/dist/types/cluster/transports/RedisClusterTransport.d.ts +23 -0
- package/dist/types/exceptions/ClusterRequestException.d.ts +11 -0
- package/dist/types/exceptions/ClusterTimeoutException.d.ts +10 -0
- package/dist/types/exceptions/ClusterTransportNotFoundException.d.ts +11 -0
- package/dist/types/exceptions/SignalingClientRequiredException.d.ts +12 -0
- package/dist/types/exceptions/SignalingConnectionException.d.ts +12 -0
- package/dist/types/exceptions/SignalingDeniedException.d.ts +11 -0
- package/dist/types/exceptions/SignalingLimitException.d.ts +11 -0
- package/dist/types/exceptions/SignalingNotAMemberException.d.ts +11 -0
- package/dist/types/exceptions/WHEPDeniedException.d.ts +15 -0
- package/dist/types/exceptions/WHEPLimitException.d.ts +15 -0
- package/dist/types/exceptions/WHEPMediaTypeException.d.ts +15 -0
- package/dist/types/exceptions/WHEPOfferException.d.ts +16 -0
- package/dist/types/exceptions/WHEPSessionNotFoundException.d.ts +15 -0
- package/dist/types/exceptions/WHIPDeniedException.d.ts +15 -0
- package/dist/types/exceptions/WHIPLimitException.d.ts +15 -0
- package/dist/types/exceptions/WHIPMediaTypeException.d.ts +15 -0
- package/dist/types/exceptions/WHIPOfferException.d.ts +16 -0
- package/dist/types/exceptions/WHIPSessionNotFoundException.d.ts +15 -0
- package/dist/types/exports/Client.d.ts +11 -0
- package/dist/types/exports/WebRTC.d.ts +48 -0
- package/dist/types/lib/common/binary.d.ts +51 -0
- package/dist/types/lib/common/binaryData.d.ts +116 -0
- package/dist/types/lib/common/crc.d.ts +4 -0
- package/dist/types/lib/common/deque.d.ts +36 -0
- package/dist/types/lib/common/event.d.ts +48 -0
- package/dist/types/lib/common/index.d.ts +11 -0
- package/dist/types/lib/common/log.d.ts +47 -0
- package/dist/types/lib/common/network.d.ts +10 -0
- package/dist/types/lib/common/number.d.ts +13 -0
- package/dist/types/lib/common/promise.d.ts +21 -0
- package/dist/types/lib/common/transport.d.ts +104 -0
- package/dist/types/lib/common/type.d.ts +3 -0
- package/dist/types/lib/dtls/cipher/const.d.ts +42 -0
- package/dist/types/lib/dtls/cipher/create.d.ts +21 -0
- package/dist/types/lib/dtls/cipher/ec.d.ts +28 -0
- package/dist/types/lib/dtls/cipher/key-exchange.d.ts +43 -0
- package/dist/types/lib/dtls/cipher/namedCurve.d.ts +7 -0
- package/dist/types/lib/dtls/cipher/prf.d.ts +17 -0
- package/dist/types/lib/dtls/cipher/suites/abstract.d.ts +40 -0
- package/dist/types/lib/dtls/cipher/suites/aead.d.ts +28 -0
- package/dist/types/lib/dtls/cipher/suites/null.d.ts +24 -0
- package/dist/types/lib/dtls/cipher/utils.d.ts +18 -0
- package/dist/types/lib/dtls/cipher/x509.d.ts +33 -0
- package/dist/types/lib/dtls/client.d.ts +7 -0
- package/dist/types/lib/dtls/context/cipher.d.ts +42 -0
- package/dist/types/lib/dtls/context/dtls.d.ts +38 -0
- package/dist/types/lib/dtls/context/srtp.d.ts +5 -0
- package/dist/types/lib/dtls/context/transport.d.ts +8 -0
- package/dist/types/lib/dtls/flight/client/flight1.d.ts +10 -0
- package/dist/types/lib/dtls/flight/client/flight3.d.ts +8 -0
- package/dist/types/lib/dtls/flight/client/flight5.d.ts +18 -0
- package/dist/types/lib/dtls/flight/flight.d.ts +18 -0
- package/dist/types/lib/dtls/flight/server/flight2.d.ts +6 -0
- package/dist/types/lib/dtls/flight/server/flight4.d.ts +17 -0
- package/dist/types/lib/dtls/flight/server/flight6.d.ts +13 -0
- package/dist/types/lib/dtls/handshake/binary.d.ts +16 -0
- package/dist/types/lib/dtls/handshake/const.d.ts +13 -0
- package/dist/types/lib/dtls/handshake/extensions/ellipticCurves.d.ts +17 -0
- package/dist/types/lib/dtls/handshake/extensions/extendedMasterSecret.d.ts +3 -0
- package/dist/types/lib/dtls/handshake/extensions/renegotiationIndication.d.ts +18 -0
- package/dist/types/lib/dtls/handshake/extensions/signature.d.ts +26 -0
- package/dist/types/lib/dtls/handshake/extensions/useSrtp.d.ts +19 -0
- package/dist/types/lib/dtls/handshake/message/alert.d.ts +12 -0
- package/dist/types/lib/dtls/handshake/message/certificate.d.ts +17 -0
- package/dist/types/lib/dtls/handshake/message/changeCipherSpec.d.ts +11 -0
- package/dist/types/lib/dtls/handshake/message/client/certificateVerify.d.ts +20 -0
- package/dist/types/lib/dtls/handshake/message/client/hello.d.ts +50 -0
- package/dist/types/lib/dtls/handshake/message/client/keyExchange.d.ts +17 -0
- package/dist/types/lib/dtls/handshake/message/finished.d.ts +13 -0
- package/dist/types/lib/dtls/handshake/message/server/certificateRequest.d.ts +31 -0
- package/dist/types/lib/dtls/handshake/message/server/hello.d.ts +33 -0
- package/dist/types/lib/dtls/handshake/message/server/helloDone.d.ts +12 -0
- package/dist/types/lib/dtls/handshake/message/server/helloVerifyRequest.d.ts +32 -0
- package/dist/types/lib/dtls/handshake/message/server/keyExchange.d.ts +32 -0
- package/dist/types/lib/dtls/handshake/random.d.ts +13 -0
- package/dist/types/lib/dtls/helper.d.ts +4 -0
- package/dist/types/lib/dtls/imports/common.d.ts +1 -0
- package/dist/types/lib/dtls/imports/rtp.d.ts +1 -0
- package/dist/types/lib/dtls/index.d.ts +7 -0
- package/dist/types/lib/dtls/record/antiReplayWindow.d.ts +27 -0
- package/dist/types/lib/dtls/record/builder.d.ts +9 -0
- package/dist/types/lib/dtls/record/const.d.ts +33 -0
- package/dist/types/lib/dtls/record/message/fragment.d.ts +26 -0
- package/dist/types/lib/dtls/record/message/header.d.ts +38 -0
- package/dist/types/lib/dtls/record/message/plaintext.d.ts +14 -0
- package/dist/types/lib/dtls/record/receive.d.ts +9 -0
- package/dist/types/lib/dtls/server.d.ts +6 -0
- package/dist/types/lib/dtls/socket.d.ts +52 -0
- package/dist/types/lib/dtls/typings/domain.d.ts +20 -0
- package/dist/types/lib/dtls/util/binary.d.ts +2 -0
- package/dist/types/lib/ice/candidate.d.ts +35 -0
- package/dist/types/lib/ice/dns/lookup.d.ts +16 -0
- package/dist/types/lib/ice/dns/mdns.d.ts +38 -0
- package/dist/types/lib/ice/exceptions.d.ts +24 -0
- package/dist/types/lib/ice/helper.d.ts +17 -0
- package/dist/types/lib/ice/ice.d.ts +182 -0
- package/dist/types/lib/ice/iceBase.d.ts +214 -0
- package/dist/types/lib/ice/imports/common.d.ts +1 -0
- package/dist/types/lib/ice/index.d.ts +12 -0
- package/dist/types/lib/ice/internal/selectAddresses.d.ts +9 -0
- package/dist/types/lib/ice/stun/attributes.d.ts +1 -0
- package/dist/types/lib/ice/stun/const.d.ts +8 -0
- package/dist/types/lib/ice/stun/message.d.ts +1 -0
- package/dist/types/lib/ice/stun/protocol.d.ts +30 -0
- package/dist/types/lib/ice/stun/tcpFrame.d.ts +5 -0
- package/dist/types/lib/ice/stun/tcpProtocol.d.ts +57 -0
- package/dist/types/lib/ice/stun/transaction.d.ts +75 -0
- package/dist/types/lib/ice/turn/frame.d.ts +1 -0
- package/dist/types/lib/ice/turn/protocol.d.ts +170 -0
- package/dist/types/lib/ice/types/model.d.ts +56 -0
- package/dist/types/lib/ice/utils.d.ts +13 -0
- package/dist/types/lib/peer/const.d.ts +36 -0
- package/dist/types/lib/peer/dataChannel.d.ts +69 -0
- package/dist/types/lib/peer/errors.d.ts +11 -0
- package/dist/types/lib/peer/helper.d.ts +20 -0
- package/dist/types/lib/peer/imports/common.d.ts +1 -0
- package/dist/types/lib/peer/imports/dtls.d.ts +1 -0
- package/dist/types/lib/peer/imports/ice.d.ts +1 -0
- package/dist/types/lib/peer/imports/rtp.d.ts +1 -0
- package/dist/types/lib/peer/index.d.ts +14 -0
- package/dist/types/lib/peer/media/codec.d.ts +15 -0
- package/dist/types/lib/peer/media/codecCompatibility.d.ts +23 -0
- package/dist/types/lib/peer/media/extension/rtcpFeedback.d.ts +6 -0
- package/dist/types/lib/peer/media/extension/rtpExtension.d.ts +9 -0
- package/dist/types/lib/peer/media/index.d.ts +12 -0
- package/dist/types/lib/peer/media/parameters.d.ts +65 -0
- package/dist/types/lib/peer/media/receiver/nack.d.ts +23 -0
- package/dist/types/lib/peer/media/receiver/receiverTwcc.d.ts +47 -0
- package/dist/types/lib/peer/media/receiver/statistics.d.ts +22 -0
- package/dist/types/lib/peer/media/router.d.ts +25 -0
- package/dist/types/lib/peer/media/rtpReceiver.d.ts +90 -0
- package/dist/types/lib/peer/media/rtpSender.d.ts +209 -0
- package/dist/types/lib/peer/media/rtpTransceiver.d.ts +117 -0
- package/dist/types/lib/peer/media/sender/cumulativeResult.d.ts +19 -0
- package/dist/types/lib/peer/media/sender/senderBWE.d.ts +32 -0
- package/dist/types/lib/peer/media/stats.d.ts +293 -0
- package/dist/types/lib/peer/media/track.d.ts +67 -0
- package/dist/types/lib/peer/peerConnection.d.ts +458 -0
- package/dist/types/lib/peer/sctpManager.d.ts +28 -0
- package/dist/types/lib/peer/sdp.d.ts +97 -0
- package/dist/types/lib/peer/sdpManager.d.ts +116 -0
- package/dist/types/lib/peer/secureTransportManager.d.ts +96 -0
- package/dist/types/lib/peer/transceiverManager.d.ts +151 -0
- package/dist/types/lib/peer/transport/dtls.d.ts +95 -0
- package/dist/types/lib/peer/transport/ice.d.ts +143 -0
- package/dist/types/lib/peer/transport/sctp.d.ts +56 -0
- package/dist/types/lib/peer/types/domain.d.ts +5 -0
- package/dist/types/lib/peer/types/util.d.ts +2 -0
- package/dist/types/lib/peer/utils.d.ts +73 -0
- package/dist/types/lib/rtp/codec/av1.d.ts +56 -0
- package/dist/types/lib/rtp/codec/base.d.ts +8 -0
- package/dist/types/lib/rtp/codec/h264.d.ts +32 -0
- package/dist/types/lib/rtp/codec/index.d.ts +16 -0
- package/dist/types/lib/rtp/codec/leb128.d.ts +5 -0
- package/dist/types/lib/rtp/codec/opus.d.ts +9 -0
- package/dist/types/lib/rtp/codec/vp8.d.ts +27 -0
- package/dist/types/lib/rtp/codec/vp9.d.ts +46 -0
- package/dist/types/lib/rtp/const.d.ts +1 -0
- package/dist/types/lib/rtp/helper.d.ts +8 -0
- package/dist/types/lib/rtp/imports/common.d.ts +1 -0
- package/dist/types/lib/rtp/index.d.ts +25 -0
- package/dist/types/lib/rtp/rtcp/header.d.ts +13 -0
- package/dist/types/lib/rtp/rtcp/psfb/fullIntraRequest.d.ts +16 -0
- package/dist/types/lib/rtp/rtcp/psfb/index.d.ts +14 -0
- package/dist/types/lib/rtp/rtcp/psfb/pictureLossIndication.d.ts +10 -0
- package/dist/types/lib/rtp/rtcp/psfb/remb.d.ts +16 -0
- package/dist/types/lib/rtp/rtcp/rr.d.ts +32 -0
- package/dist/types/lib/rtp/rtcp/rtcp.d.ts +10 -0
- package/dist/types/lib/rtp/rtcp/rtpfb/const.d.ts +1 -0
- package/dist/types/lib/rtp/rtcp/rtpfb/index.d.ts +14 -0
- package/dist/types/lib/rtp/rtcp/rtpfb/nack.d.ts +17 -0
- package/dist/types/lib/rtp/rtcp/rtpfb/twcc.d.ts +71 -0
- package/dist/types/lib/rtp/rtcp/sdes.d.ts +26 -0
- package/dist/types/lib/rtp/rtcp/sr.d.ts +41 -0
- package/dist/types/lib/rtp/rtp/headerExtension.d.ts +72 -0
- package/dist/types/lib/rtp/rtp/red/encoder.d.ts +13 -0
- package/dist/types/lib/rtp/rtp/red/handler.d.ts +6 -0
- package/dist/types/lib/rtp/rtp/red/packet.d.ts +26 -0
- package/dist/types/lib/rtp/rtp/rtp.d.ts +44 -0
- package/dist/types/lib/rtp/rtp/rtx.d.ts +3 -0
- package/dist/types/lib/rtp/srtp/cipher/ctr.d.ts +16 -0
- package/dist/types/lib/rtp/srtp/cipher/gcm.d.ts +17 -0
- package/dist/types/lib/rtp/srtp/cipher/index.d.ts +13 -0
- package/dist/types/lib/rtp/srtp/const.d.ts +6 -0
- package/dist/types/lib/rtp/srtp/context/context.d.ts +45 -0
- package/dist/types/lib/rtp/srtp/context/srtcp.d.ts +8 -0
- package/dist/types/lib/rtp/srtp/context/srtp.d.ts +9 -0
- package/dist/types/lib/rtp/srtp/error.d.ts +3 -0
- package/dist/types/lib/rtp/srtp/packet.d.ts +5 -0
- package/dist/types/lib/rtp/srtp/session.d.ts +19 -0
- package/dist/types/lib/rtp/srtp/srtcp.d.ts +8 -0
- package/dist/types/lib/rtp/srtp/srtp.d.ts +9 -0
- package/dist/types/lib/rtp/transport.d.ts +15 -0
- package/dist/types/lib/rtp/util.d.ts +11 -0
- package/dist/types/lib/sctp/chunk.d.ts +164 -0
- package/dist/types/lib/sctp/const.d.ts +17 -0
- package/dist/types/lib/sctp/helper.d.ts +5 -0
- package/dist/types/lib/sctp/imports/common.d.ts +1 -0
- package/dist/types/lib/sctp/index.d.ts +6 -0
- package/dist/types/lib/sctp/param.d.ts +40 -0
- package/dist/types/lib/sctp/sctp.d.ts +210 -0
- package/dist/types/lib/sctp/transport.d.ts +15 -0
- package/dist/types/lib/turn/index.d.ts +9 -0
- package/dist/types/lib/turn/node/server.d.ts +21 -0
- package/dist/types/lib/turn/node/turnServer.d.ts +91 -0
- package/dist/types/lib/turn/protocol.d.ts +47 -0
- package/dist/types/lib/turn/stun/attributes.d.ts +37 -0
- package/dist/types/lib/turn/stun/const.d.ts +28 -0
- package/dist/types/lib/turn/stun/ip.d.ts +12 -0
- package/dist/types/lib/turn/stun/message.d.ts +37 -0
- package/dist/types/lib/turn/turn/auth.d.ts +1 -0
- package/dist/types/lib/turn/turn/frame.d.ts +13 -0
- package/dist/types/lib/turn/turn/protocol.d.ts +147 -0
- package/dist/types/peer/Endpoints.d.ts +75 -0
- package/dist/types/peer/EngineConfig.d.ts +20 -0
- package/dist/types/peer/EngineConnection.d.ts +22 -0
- package/dist/types/peer/Events.d.ts +55 -0
- package/dist/types/peer/MediaCodecs.d.ts +27 -0
- package/dist/types/peer/MediaTrack.d.ts +212 -0
- package/dist/types/peer/PeerChannel.d.ts +248 -0
- package/dist/types/peer/PeerConnection.d.ts +603 -0
- package/dist/types/peer/PeerThreadChannel.d.ts +112 -0
- package/dist/types/peer/PeerThreadProtocol.d.ts +325 -0
- package/dist/types/peer/PeerThreads.d.ts +114 -0
- package/dist/types/peer/PeerWorker.d.ts +6 -0
- package/dist/types/peer/PeerWorkerCode.d.ts +5 -0
- package/dist/types/peer/RemoteConnection.d.ts +314 -0
- package/dist/types/peer/RtpPacket.d.ts +112 -0
- package/dist/types/peer/RtpTransceiver.d.ts +167 -0
- package/dist/types/peer/SignalingClient.d.ts +236 -0
- package/dist/types/protocol/SignalingProtocol.d.ts +266 -0
- package/dist/types/service/WebRTCServiceEntrypoint.d.ts +158 -0
- package/dist/types/sfu/SFU.d.ts +356 -0
- package/dist/types/sfu/SFUAccess.d.ts +48 -0
- package/dist/types/sfu/SFUClusterLeg.d.ts +101 -0
- package/dist/types/sfu/SFURoom.d.ts +148 -0
- package/dist/types/sfu/SFUWorker.d.ts +13 -0
- package/dist/types/sfu/SFUWorkerChannel.d.ts +204 -0
- package/dist/types/sfu/SFUWorkerCode.d.ts +5 -0
- package/dist/types/sfu/SFUWorkers.d.ts +247 -0
- package/dist/types/shared/ChunkedChannel.d.ts +122 -0
- package/dist/types/shared/Connections.d.ts +231 -0
- package/dist/types/shared/Emitter.d.ts +50 -0
- package/dist/types/shared/Peer.d.ts +182 -0
- package/dist/types/shared/PeerServiceProxy.d.ts +173 -0
- package/dist/types/shared/Room.d.ts +143 -0
- package/dist/types/shared/SignalingError.d.ts +40 -0
- package/dist/types/shared/SignalingSession.d.ts +97 -0
- package/dist/types/shared/Transports.d.ts +139 -0
- package/dist/types/signaling/MediaServers.d.ts +40 -0
- package/dist/types/signaling/Signaling.d.ts +573 -0
- package/dist/types/signaling/SignalingController.d.ts +128 -0
- package/dist/types/turn/TURNCredentials.d.ts +49 -0
- package/dist/types/turn/TURNIceServers.d.ts +11 -0
- package/dist/types/turn/TURNServer.d.ts +309 -0
- package/dist/types/turn/TURNWorker.d.ts +42 -0
- package/dist/types/turn/TURNWorkerCode.d.ts +5 -0
- package/dist/types/turn/TURNWorkers.d.ts +52 -0
- package/dist/types/whep/WHEP.d.ts +386 -0
- package/dist/types/whep/WHEPController.d.ts +134 -0
- package/dist/types/whip/WHIP.d.ts +426 -0
- package/dist/types/whip/WHIPController.d.ts +132 -0
- package/package.json +115 -4
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { type Chunk, DataChunk, ForwardTsnChunk } from './chunk.js';
|
|
2
|
+
import { SCTP_STATE } from './const.js';
|
|
3
|
+
import { type Unpacked } from './helper.js';
|
|
4
|
+
import { Deque, Event } from './imports/common.js';
|
|
5
|
+
import { OutgoingSSNResetRequestParam, type StreamParam } from './param.js';
|
|
6
|
+
import type { Transport } from './transport.js';
|
|
7
|
+
export declare const DEFAULT_SCTP_MTU = 1191;
|
|
8
|
+
export interface SCTPOptions {
|
|
9
|
+
/** SCTP packet MTU used for outbound DATA chunk fragmentation. */
|
|
10
|
+
mtu?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function maxPayloadSizeForMtu(mtu: number, dataChunkHeaderSize?: number): number;
|
|
13
|
+
export declare function validateSctpMtu(mtu: number): void;
|
|
14
|
+
declare const SCTPConnectionStates: readonly ["new", "closed", "connected", "connecting"];
|
|
15
|
+
type SCTPConnectionState = Unpacked<typeof SCTPConnectionStates>;
|
|
16
|
+
export declare class SCTP {
|
|
17
|
+
transport: Transport;
|
|
18
|
+
port: number;
|
|
19
|
+
flush: Event<[void]>;
|
|
20
|
+
readonly stateChanged: {
|
|
21
|
+
[key in SCTPConnectionState]: Event<[]>;
|
|
22
|
+
};
|
|
23
|
+
readonly onReconfigStreams: Event<[number[]]>;
|
|
24
|
+
/**streamId: number, ppId: number, data: Buffer */
|
|
25
|
+
readonly onReceive: Event<[number, number, Buffer<ArrayBufferLike>]>;
|
|
26
|
+
onSackReceived: () => Promise<void>;
|
|
27
|
+
associationState: SCTP_STATE;
|
|
28
|
+
started: boolean;
|
|
29
|
+
state: SCTPConnectionState;
|
|
30
|
+
isServer: boolean;
|
|
31
|
+
private isStopping;
|
|
32
|
+
private isClosed;
|
|
33
|
+
private hmacKey;
|
|
34
|
+
private localPartialReliability;
|
|
35
|
+
private localPort;
|
|
36
|
+
private localVerificationTag;
|
|
37
|
+
remoteExtensions: number[];
|
|
38
|
+
remotePartialReliability: boolean;
|
|
39
|
+
private remotePort?;
|
|
40
|
+
private remoteVerificationTag;
|
|
41
|
+
private advertisedRwnd;
|
|
42
|
+
private lastAdvertisedRwnd;
|
|
43
|
+
private peerAdvertisedRwnd;
|
|
44
|
+
private get peerRwnd();
|
|
45
|
+
private inboundStreams;
|
|
46
|
+
_inboundStreamsCount: number;
|
|
47
|
+
_inboundStreamsMax: number;
|
|
48
|
+
private lastReceivedTsn?;
|
|
49
|
+
private highestReceivedTsn?;
|
|
50
|
+
private pendingChunks;
|
|
51
|
+
private sackDuplicates;
|
|
52
|
+
private sackMisOrdered;
|
|
53
|
+
private sackNeeded;
|
|
54
|
+
private sackPacketCount;
|
|
55
|
+
private sackHasNewDataInPacket;
|
|
56
|
+
private sackImmediate;
|
|
57
|
+
private sackTimeout;
|
|
58
|
+
private cwnd;
|
|
59
|
+
readonly mtu: number;
|
|
60
|
+
private readonly maxPayloadSize;
|
|
61
|
+
private fastRecoveryExit?;
|
|
62
|
+
private fastRecoveryTransmit;
|
|
63
|
+
private forwardTsnChunk?;
|
|
64
|
+
private flightSize;
|
|
65
|
+
outboundQueue: Deque<DataChunk>;
|
|
66
|
+
private outboundStreamSeq;
|
|
67
|
+
_outboundStreamsCount: number;
|
|
68
|
+
/**local transmission sequence number */
|
|
69
|
+
private localTsn;
|
|
70
|
+
private lastSackedTsn;
|
|
71
|
+
private advancedPeerAckTsn;
|
|
72
|
+
private partialBytesAcked;
|
|
73
|
+
private sentQueue;
|
|
74
|
+
/**some chunks of the sent queue are marked for retransmission: the queue is only walked then */
|
|
75
|
+
private retransmitPending;
|
|
76
|
+
/**called for each DATA chunk on its first transmission: the bytes leave the send buffer (bufferedAmount) */
|
|
77
|
+
onSent?: (streamId: number, ppId: number, bytes: number) => void;
|
|
78
|
+
private transmitting;
|
|
79
|
+
private transmitRequested;
|
|
80
|
+
private transmitScheduled;
|
|
81
|
+
/**初期TSNと同じ値に初期化される単調に増加する数です. これは、新しいre-configuration requestパラメーターを送信するたびに1ずつ増加します */
|
|
82
|
+
reconfigRequestSeq: number;
|
|
83
|
+
/**このフィールドは、incoming要求のre-configuration requestシーケンス番号を保持します. 他の場合では、次に予想されるre-configuration requestシーケンス番号から1を引いた値が保持されます */
|
|
84
|
+
reconfigResponseSeq: number;
|
|
85
|
+
reconfigRequest?: OutgoingSSNResetRequestParam;
|
|
86
|
+
reconfigQueue: number[];
|
|
87
|
+
private srtt?;
|
|
88
|
+
private rttvar?;
|
|
89
|
+
private rto;
|
|
90
|
+
/**t1 is wait for initAck or cookieAck */
|
|
91
|
+
private timer1Handle?;
|
|
92
|
+
private timer1Chunk?;
|
|
93
|
+
private timer1Failures;
|
|
94
|
+
/**t2 is wait for shutdown */
|
|
95
|
+
private timer2Handle?;
|
|
96
|
+
private timer2Chunk?;
|
|
97
|
+
private timer2Failures;
|
|
98
|
+
/**t3 is wait for data sack */
|
|
99
|
+
private timer3Handle?;
|
|
100
|
+
/**Re-configuration Timer */
|
|
101
|
+
private timerReconfigHandle?;
|
|
102
|
+
private timerReconfigFailures;
|
|
103
|
+
private timerHeartbeatHandle?;
|
|
104
|
+
private heartbeatInterval;
|
|
105
|
+
private ssthresh?;
|
|
106
|
+
constructor(transport: Transport, port?: number, options?: SCTPOptions);
|
|
107
|
+
private get isStopped();
|
|
108
|
+
get maxChannels(): number | undefined;
|
|
109
|
+
static client(transport: Transport, port?: number, options?: SCTPOptions): SCTP;
|
|
110
|
+
static server(transport: Transport, port?: number, options?: SCTPOptions): SCTP;
|
|
111
|
+
private handleData;
|
|
112
|
+
private scheduleSack;
|
|
113
|
+
private sendSack;
|
|
114
|
+
/**The SACK of what was received so far; the state of the pending SACK is reset, its timer cancelled */
|
|
115
|
+
private takeSack;
|
|
116
|
+
private receiveChunk;
|
|
117
|
+
private getExtensions;
|
|
118
|
+
private receiveReconfigParam;
|
|
119
|
+
private receiveDataChunk;
|
|
120
|
+
private receiveSackChunk;
|
|
121
|
+
receiveForwardTsnChunk(chunk: ForwardTsnChunk): void;
|
|
122
|
+
private updateRto;
|
|
123
|
+
private receive;
|
|
124
|
+
private getInboundStream;
|
|
125
|
+
private markReceived;
|
|
126
|
+
/**
|
|
127
|
+
* Keep bytes received out of the receive window while the application holds them (it passes them on later): the
|
|
128
|
+
* sender waits once the window is closed
|
|
129
|
+
* @param bytes
|
|
130
|
+
*/
|
|
131
|
+
holdReceived(bytes: number): void;
|
|
132
|
+
/**
|
|
133
|
+
* Give back to the receive window bytes held; the sender is told at once when the window it knows is less than half
|
|
134
|
+
* of the window now
|
|
135
|
+
* @param bytes
|
|
136
|
+
*/
|
|
137
|
+
releaseReceived(bytes: number): void;
|
|
138
|
+
send: (streamId: number, ppId: number, userData: Buffer, { expiry, maxRetransmits, ordered }?: {
|
|
139
|
+
expiry?: number | undefined;
|
|
140
|
+
maxRetransmits?: number | undefined;
|
|
141
|
+
ordered?: boolean;
|
|
142
|
+
}) => Promise<void>;
|
|
143
|
+
/**
|
|
144
|
+
* Transmit at the end of the current task, once: a burst of small messages fills packets, rather than going out
|
|
145
|
+
* one by one while the congestion window has room
|
|
146
|
+
*/
|
|
147
|
+
private transmitSoon;
|
|
148
|
+
private transmit;
|
|
149
|
+
/**
|
|
150
|
+
* Sends what the windows allow: FORWARD TSN, then the retransmissions, then the queued DATA, bundled in packets of the
|
|
151
|
+
* MTU; a pending SACK goes in front of the first DATA. The packets are handed to the transport without waiting: the
|
|
152
|
+
* DTLS records are numbered and encrypted when sent, so their order holds
|
|
153
|
+
*/
|
|
154
|
+
private transmitOnce;
|
|
155
|
+
/**One packet of chunks, handed to the transport without waiting for it */
|
|
156
|
+
private sendChunks;
|
|
157
|
+
transmitReconfigRequest(): Promise<void>;
|
|
158
|
+
sendReconfigParam(param: StreamParam): Promise<void>;
|
|
159
|
+
private sendResetRequest;
|
|
160
|
+
private flightSizeIncrease;
|
|
161
|
+
private flightSizeDecrease;
|
|
162
|
+
/**t1 is wait for initAck or cookieAck */
|
|
163
|
+
private timer1Start;
|
|
164
|
+
private timer1Expired;
|
|
165
|
+
private timer1Cancel;
|
|
166
|
+
/**t2 is wait for shutdown */
|
|
167
|
+
private t2Start;
|
|
168
|
+
private timer2Expired;
|
|
169
|
+
private timer2Cancel;
|
|
170
|
+
/**t3 is wait for data sack */
|
|
171
|
+
private timer3Start;
|
|
172
|
+
private timer3Restart;
|
|
173
|
+
private timer3Expired;
|
|
174
|
+
private timer3Cancel;
|
|
175
|
+
/**Re-configuration Timer */
|
|
176
|
+
private timerReconfigHandleStart;
|
|
177
|
+
private timerReconfigHandleExpired;
|
|
178
|
+
private timerReconfigCancel;
|
|
179
|
+
private heartbeatStart;
|
|
180
|
+
private heartbeatRestart;
|
|
181
|
+
private heartbeatCancel;
|
|
182
|
+
private timerHeartbeatExpired;
|
|
183
|
+
setHeartbeatInterval(interval: number): void;
|
|
184
|
+
private updateAdvancedPeerAckPoint;
|
|
185
|
+
private maybeAbandon;
|
|
186
|
+
static getCapabilities(): RTCSctpCapabilities;
|
|
187
|
+
setRemotePort(port: number): void;
|
|
188
|
+
start(remotePort?: number): Promise<void>;
|
|
189
|
+
private init;
|
|
190
|
+
private setExtensions;
|
|
191
|
+
sendChunk(chunk: Chunk): Promise<void>;
|
|
192
|
+
setState(state: SCTP_STATE): void;
|
|
193
|
+
setConnectionState(state: SCTPConnectionState): void;
|
|
194
|
+
stop(): Promise<void>;
|
|
195
|
+
abort(): Promise<void>;
|
|
196
|
+
private removeAllListeners;
|
|
197
|
+
}
|
|
198
|
+
export declare class InboundStream {
|
|
199
|
+
reassembly: DataChunk[];
|
|
200
|
+
streamSequenceNumber: number;
|
|
201
|
+
constructor();
|
|
202
|
+
addChunk(chunk: DataChunk): void;
|
|
203
|
+
popMessages(): Generator<[number, number, Buffer]>;
|
|
204
|
+
pruneChunks(tsn: number): number;
|
|
205
|
+
}
|
|
206
|
+
export declare class RTCSctpCapabilities {
|
|
207
|
+
maxMessageSize: number;
|
|
208
|
+
constructor(maxMessageSize: number);
|
|
209
|
+
}
|
|
210
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { RemoteInfo, Socket } from 'node:dgram';
|
|
2
|
+
export interface Transport {
|
|
3
|
+
onData?: (buf: Buffer) => void;
|
|
4
|
+
send: (buf: Buffer) => Promise<void>;
|
|
5
|
+
close: () => void;
|
|
6
|
+
}
|
|
7
|
+
export declare class UdpTransport implements Transport {
|
|
8
|
+
private upd;
|
|
9
|
+
private rinfo;
|
|
10
|
+
constructor(upd: Socket, rinfo: Partial<RemoteInfo>);
|
|
11
|
+
onData?: (buf: Buffer) => void;
|
|
12
|
+
send: (buf: Buffer) => Promise<void>;
|
|
13
|
+
close(): void;
|
|
14
|
+
}
|
|
15
|
+
export declare const createUdpTransport: (socket: Socket, rinfo?: Partial<RemoteInfo>) => UdpTransport;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './protocol.js';
|
|
2
|
+
export * from './node/server.js';
|
|
3
|
+
export * from './node/turnServer.js';
|
|
4
|
+
export * from './stun/attributes.js';
|
|
5
|
+
export * from './stun/const.js';
|
|
6
|
+
export * from './stun/message.js';
|
|
7
|
+
export * from './turn/auth.js';
|
|
8
|
+
export * from './turn/frame.js';
|
|
9
|
+
export * from './turn/protocol.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type SocketType } from 'node:dgram';
|
|
2
|
+
import { type Address } from '../../common/index.js';
|
|
3
|
+
import { StunServerProtocol, type StunServerProtocolOptions } from '../protocol.js';
|
|
4
|
+
export interface NodeStunServerOptions extends StunServerProtocolOptions {
|
|
5
|
+
host?: string;
|
|
6
|
+
port?: number;
|
|
7
|
+
type?: SocketType;
|
|
8
|
+
}
|
|
9
|
+
export declare class NodeStunServer {
|
|
10
|
+
readonly protocol: StunServerProtocol;
|
|
11
|
+
private socket?;
|
|
12
|
+
private readonly host;
|
|
13
|
+
private readonly port;
|
|
14
|
+
private readonly type;
|
|
15
|
+
constructor(options?: NodeStunServerOptions);
|
|
16
|
+
get address(): Address | undefined;
|
|
17
|
+
listen(): Promise<void>;
|
|
18
|
+
close(): Promise<void>;
|
|
19
|
+
private handleMessage;
|
|
20
|
+
}
|
|
21
|
+
export declare function createNodeStunServer(options?: NodeStunServerOptions): Promise<NodeStunServer>;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { type TLSSocket, type TlsOptions } from 'node:tls';
|
|
2
|
+
import { type Address } from '../../common/index.js';
|
|
3
|
+
import { TurnServerProtocol, type TurnServerProtocolOptions } from '../turn/protocol.js';
|
|
4
|
+
export interface NodeTurnServerTlsOptions extends TlsOptions {
|
|
5
|
+
external?: boolean;
|
|
6
|
+
port?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface NodeTurnServerAttachTlsSocketOptions {
|
|
9
|
+
initialData?: Buffer;
|
|
10
|
+
localAddress?: Address;
|
|
11
|
+
}
|
|
12
|
+
export interface NodeTurnServerOptions extends TurnServerProtocolOptions {
|
|
13
|
+
host?: string;
|
|
14
|
+
port?: number;
|
|
15
|
+
relayAddress?: string;
|
|
16
|
+
relayBindAddress?: string;
|
|
17
|
+
/**the UDP ports of the relays (the firewall or the container publishes this range); any free port by default */
|
|
18
|
+
relayPortRange?: [number, number];
|
|
19
|
+
credentials?: Record<string, string>;
|
|
20
|
+
udp?: boolean;
|
|
21
|
+
tcp?: boolean;
|
|
22
|
+
tls?: NodeTurnServerTlsOptions;
|
|
23
|
+
/**the listeners bound with SO_REUSEPORT, to share their ports with the servers of other threads (Linux): the system
|
|
24
|
+
* keeps each client on one of them */
|
|
25
|
+
reusePort?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare class NodeTurnServer {
|
|
28
|
+
readonly protocol: TurnServerProtocol;
|
|
29
|
+
private udpSocket?;
|
|
30
|
+
private tcpServer?;
|
|
31
|
+
private tlsServer?;
|
|
32
|
+
private readonly tcpConnections;
|
|
33
|
+
private readonly tlsConnections;
|
|
34
|
+
private readonly relaySockets;
|
|
35
|
+
private readonly relayBoundByPort;
|
|
36
|
+
private readonly relayPorts;
|
|
37
|
+
private interfaceAddresses?;
|
|
38
|
+
private timer?;
|
|
39
|
+
private closed;
|
|
40
|
+
private readonly host;
|
|
41
|
+
private readonly port;
|
|
42
|
+
private readonly udpEnabled;
|
|
43
|
+
private readonly tcpEnabled;
|
|
44
|
+
private readonly tlsEnabled;
|
|
45
|
+
private readonly tlsExternal;
|
|
46
|
+
private readonly tlsOptions?;
|
|
47
|
+
private readonly tlsPort;
|
|
48
|
+
private readonly relayAddress;
|
|
49
|
+
private readonly relayBindAddress;
|
|
50
|
+
private readonly relayPortRange?;
|
|
51
|
+
private boundPort?;
|
|
52
|
+
private boundTlsPort?;
|
|
53
|
+
private readonly reusePort;
|
|
54
|
+
constructor(options?: NodeTurnServerOptions);
|
|
55
|
+
get address(): Address | undefined;
|
|
56
|
+
get tlsAddress(): Address | undefined;
|
|
57
|
+
listen(): Promise<void>;
|
|
58
|
+
private listenTransports;
|
|
59
|
+
attachTlsSocket(socket: TLSSocket, options?: NodeTurnServerAttachTlsSocketOptions): void;
|
|
60
|
+
close(): Promise<void>;
|
|
61
|
+
private closeListeners;
|
|
62
|
+
private listenUdp;
|
|
63
|
+
private listenTcp;
|
|
64
|
+
private listenTls;
|
|
65
|
+
private executeActions;
|
|
66
|
+
private sendClient;
|
|
67
|
+
private sendRelay;
|
|
68
|
+
private bindRelaySocket;
|
|
69
|
+
private bindRelay;
|
|
70
|
+
private closeRelay;
|
|
71
|
+
private closeClient;
|
|
72
|
+
private updateTimer;
|
|
73
|
+
/**
|
|
74
|
+
* Run the timer of the protocol at a time
|
|
75
|
+
* @param nextTimeoutAt
|
|
76
|
+
*/
|
|
77
|
+
private setTimer;
|
|
78
|
+
private normalizeRelayRemoteAddress;
|
|
79
|
+
private isRelaySocketAddress;
|
|
80
|
+
private isLocalInterfaceAddress;
|
|
81
|
+
/**
|
|
82
|
+
* A relay closed: its port is not one of a relay any more
|
|
83
|
+
* @param relayId
|
|
84
|
+
*/
|
|
85
|
+
private forgetRelayPort;
|
|
86
|
+
private socketType;
|
|
87
|
+
private handleStreamConnection;
|
|
88
|
+
private getStreamClient;
|
|
89
|
+
private resolveStreamLocalAddress;
|
|
90
|
+
}
|
|
91
|
+
export declare function createNodeTurnServer(options?: NodeTurnServerOptions): Promise<NodeTurnServer>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { Address } from '../common/index.js';
|
|
2
|
+
import type { AttributePair } from './stun/attributes.js';
|
|
3
|
+
import { Message } from './stun/message.js';
|
|
4
|
+
export type StunTransport = 'udp' | 'tcp' | 'tls' | 'dtls';
|
|
5
|
+
export interface StunServerDatagram {
|
|
6
|
+
data: Buffer;
|
|
7
|
+
remoteAddress: Address;
|
|
8
|
+
localAddress?: Address;
|
|
9
|
+
transport: StunTransport;
|
|
10
|
+
}
|
|
11
|
+
export type StunServerAction = {
|
|
12
|
+
type: 'send';
|
|
13
|
+
data: Buffer;
|
|
14
|
+
remoteAddress: Address;
|
|
15
|
+
} | {
|
|
16
|
+
type: 'ignore';
|
|
17
|
+
reason: 'non-stun' | 'malformed' | 'binding-indication' | 'non-request' | 'unsupported-method';
|
|
18
|
+
};
|
|
19
|
+
export interface StunRequestContext extends StunServerDatagram {
|
|
20
|
+
message: Message;
|
|
21
|
+
}
|
|
22
|
+
export type StunRequestAuthResult = {
|
|
23
|
+
ok: true;
|
|
24
|
+
attributes?: AttributePair[];
|
|
25
|
+
} | {
|
|
26
|
+
ok: false;
|
|
27
|
+
errorCode: number;
|
|
28
|
+
reason: string;
|
|
29
|
+
attributes?: AttributePair[];
|
|
30
|
+
};
|
|
31
|
+
export interface StunServerProtocolOptions {
|
|
32
|
+
software?: string;
|
|
33
|
+
fingerprint?: 'never' | 'if-present' | 'always';
|
|
34
|
+
authenticateRequest?: (context: StunRequestContext) => StunRequestAuthResult;
|
|
35
|
+
}
|
|
36
|
+
export declare class StunServerProtocol {
|
|
37
|
+
private readonly software?;
|
|
38
|
+
private readonly fingerprint;
|
|
39
|
+
private readonly authenticateRequest?;
|
|
40
|
+
constructor(options?: StunServerProtocolOptions);
|
|
41
|
+
handleDatagram(input: StunServerDatagram): StunServerAction[];
|
|
42
|
+
private sendAction;
|
|
43
|
+
private successResponse;
|
|
44
|
+
private errorResponse;
|
|
45
|
+
private addDefaultAttributes;
|
|
46
|
+
private shouldAddFingerprint;
|
|
47
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Address } from '../../common/index.js';
|
|
2
|
+
import { type AttributeKeys } from './const.js';
|
|
3
|
+
export declare function unpackErrorCode(data: Buffer): [number, string];
|
|
4
|
+
export declare function unpackXorAddress(data: Buffer, transactionId: Buffer): Address;
|
|
5
|
+
export declare function packErrorCode(value: [number, string]): Buffer<ArrayBuffer>;
|
|
6
|
+
export declare function packUnknownAttributes(value: number[]): Buffer<ArrayBuffer>;
|
|
7
|
+
export declare function unpackUnknownAttributes(data: Buffer): number[];
|
|
8
|
+
export declare function packXorAddress(value: Address, transactionId: Buffer): Buffer<ArrayBuffer>;
|
|
9
|
+
export type ATTRIBUTE = [
|
|
10
|
+
number,
|
|
11
|
+
AttributeKey,
|
|
12
|
+
(...args: any[]) => Buffer,
|
|
13
|
+
(...args: any[]) => any
|
|
14
|
+
];
|
|
15
|
+
export type RawAttribute = {
|
|
16
|
+
type: number;
|
|
17
|
+
length?: number;
|
|
18
|
+
value: Buffer;
|
|
19
|
+
};
|
|
20
|
+
export declare class AttributeRepository {
|
|
21
|
+
protected attributes: AttributePair[];
|
|
22
|
+
constructor(attributes?: AttributePair[]);
|
|
23
|
+
getAttributes(): AttributePair[];
|
|
24
|
+
setAttribute(key: AttributeKey, value: any): this;
|
|
25
|
+
getAttributeValue(key: AttributeKey): any;
|
|
26
|
+
get attributesKeys(): AttributeKey[];
|
|
27
|
+
removeAttribute(key: AttributeKey): this;
|
|
28
|
+
clear(): void;
|
|
29
|
+
}
|
|
30
|
+
export type AttributeKey = (typeof AttributeKeys)[number];
|
|
31
|
+
export type AttributePair = [AttributeKey, any];
|
|
32
|
+
export declare const ATTRIBUTES_BY_TYPE: {
|
|
33
|
+
[key: string]: ATTRIBUTE;
|
|
34
|
+
};
|
|
35
|
+
export declare const ATTRIBUTES_BY_NAME: {
|
|
36
|
+
[key: string]: ATTRIBUTE;
|
|
37
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export declare const COOKIE = 554869826;
|
|
2
|
+
export declare const FINGERPRINT_LENGTH = 8;
|
|
3
|
+
export declare const FINGERPRINT_XOR = 1398035790;
|
|
4
|
+
export declare const HEADER_LENGTH = 20;
|
|
5
|
+
export declare const INTEGRITY_LENGTH = 24;
|
|
6
|
+
export declare const IPV4_PROTOCOL = 1;
|
|
7
|
+
export declare const IPV6_PROTOCOL = 2;
|
|
8
|
+
export declare const RETRY_MAX = 6;
|
|
9
|
+
export declare const RETRY_RTO = 50;
|
|
10
|
+
export declare const AttributeKeys: readonly ["FINGERPRINT", "MESSAGE-INTEGRITY", "MESSAGE-INTEGRITY-SHA256", "CHANGE-REQUEST", "PRIORITY", "USERNAME", "USERHASH", "ICE-CONTROLLING", "SOURCE-ADDRESS", "USE-CANDIDATE", "ICE-CONTROLLED", "ERROR-CODE", "UNKNOWN-ATTRIBUTES", "XOR-MAPPED-ADDRESS", "CHANGED-ADDRESS", "LIFETIME", "REQUESTED-TRANSPORT", "NONCE", "REALM", "REQUESTED-ADDRESS-FAMILY", "EVEN-PORT", "PASSWORD-ALGORITHM", "PASSWORD-ALGORITHMS", "XOR-RELAYED-ADDRESS", "RESERVATION-TOKEN", "CHANNEL-NUMBER", "XOR-PEER-ADDRESS", "DATA", "SOFTWARE", "MAPPED-ADDRESS", "ALTERNATE-DOMAIN", "ALTERNATE-SERVER", "RESPONSE-ORIGIN", "OTHER-ADDRESS"];
|
|
11
|
+
export declare enum classes {
|
|
12
|
+
REQUEST = 0,
|
|
13
|
+
INDICATION = 16,
|
|
14
|
+
RESPONSE = 256,
|
|
15
|
+
ERROR = 272
|
|
16
|
+
}
|
|
17
|
+
export declare enum methods {
|
|
18
|
+
BINDING = 1,
|
|
19
|
+
SHARED_SECRET = 2,
|
|
20
|
+
ALLOCATE = 3,
|
|
21
|
+
REFRESH = 4,
|
|
22
|
+
SEND = 6,
|
|
23
|
+
DATA = 7,
|
|
24
|
+
CREATE_PERMISSION = 8,
|
|
25
|
+
CHANNEL_BIND = 9
|
|
26
|
+
}
|
|
27
|
+
export declare function isComprehensionRequiredAttribute(type: number): boolean;
|
|
28
|
+
export declare function isStunMessage(data: Buffer): boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert an IPv4 / IPv6 text address to the STUN wire binary form.
|
|
3
|
+
* IPv4 → 4 bytes, IPv6 → 16 bytes (supports :: compression and IPv4-mapped).
|
|
4
|
+
*/
|
|
5
|
+
export declare function ipAddressToBuffer(address: string): Buffer;
|
|
6
|
+
/**
|
|
7
|
+
* Convert STUN address bytes (4 or 16) back to a text IP address.
|
|
8
|
+
* IPv6 uses the same zero-run compression style as the previous `ip` helper.
|
|
9
|
+
*/
|
|
10
|
+
export declare function bufferToIpAddress(buf: Buffer): string;
|
|
11
|
+
export declare function isIpV4Address(address: string): boolean;
|
|
12
|
+
export declare function isIpV6Address(address: string): boolean;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type AttributePair, AttributeRepository, type RawAttribute } from './attributes.js';
|
|
2
|
+
import { type classes, type methods } from './const.js';
|
|
3
|
+
export declare function parseMessage(data: Buffer, integrityKey?: Buffer): Message | undefined;
|
|
4
|
+
export declare class Message extends AttributeRepository {
|
|
5
|
+
messageMethod: methods;
|
|
6
|
+
messageClass: classes;
|
|
7
|
+
transactionId: Buffer;
|
|
8
|
+
rawAttributes: RawAttribute[];
|
|
9
|
+
constructor(messageMethod: methods, messageClass: classes, transactionId?: Buffer, attributes?: AttributePair[], rawAttributes?: RawAttribute[]);
|
|
10
|
+
toJSON(): {
|
|
11
|
+
messageMethod: methods;
|
|
12
|
+
messageClass: classes;
|
|
13
|
+
attributes: AttributePair[];
|
|
14
|
+
rawAttributes: {
|
|
15
|
+
type: number;
|
|
16
|
+
length: number;
|
|
17
|
+
}[];
|
|
18
|
+
};
|
|
19
|
+
get json(): {
|
|
20
|
+
messageMethod: methods;
|
|
21
|
+
messageClass: classes;
|
|
22
|
+
attributes: AttributePair[];
|
|
23
|
+
rawAttributes: {
|
|
24
|
+
type: number;
|
|
25
|
+
length: number;
|
|
26
|
+
}[];
|
|
27
|
+
};
|
|
28
|
+
get transactionIdHex(): string;
|
|
29
|
+
appendRawAttribute(type: number, value: Buffer): this;
|
|
30
|
+
get unknownAttributeTypes(): number[];
|
|
31
|
+
get bytes(): Buffer<ArrayBuffer>;
|
|
32
|
+
addMessageIntegrity(key: Buffer): this;
|
|
33
|
+
messageIntegrity(key: Buffer): Buffer<ArrayBuffer>;
|
|
34
|
+
addFingerprint(): this;
|
|
35
|
+
private get serializedAttributes();
|
|
36
|
+
}
|
|
37
|
+
export declare function paddingLength(length: number): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function makeTurnIntegrityKey(username: string, realm: string, password: string): NonSharedBuffer;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface ChannelDataMessage {
|
|
2
|
+
channelNumber: number;
|
|
3
|
+
data: Buffer;
|
|
4
|
+
}
|
|
5
|
+
export declare function isChannelData(data: Buffer): boolean;
|
|
6
|
+
export declare function encodeChannelData(channelNumber: number, data: Buffer): Buffer<ArrayBuffer>;
|
|
7
|
+
export declare function decodeChannelData(data: Buffer): ChannelDataMessage | undefined;
|
|
8
|
+
export declare function padTurnFrame(data: Buffer): Buffer<ArrayBufferLike>;
|
|
9
|
+
export declare function splitTurnTcpFrames(buffer: Buffer): {
|
|
10
|
+
frames: Buffer<ArrayBufferLike>[];
|
|
11
|
+
malformed: boolean;
|
|
12
|
+
rest: Buffer<ArrayBufferLike>;
|
|
13
|
+
};
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import type { Address } from '../../common/index.js';
|
|
2
|
+
import { type StunServerDatagram, StunServerProtocol, type StunServerProtocolOptions, type StunTransport } from '../protocol.js';
|
|
3
|
+
export interface TurnServerClientPacket extends StunServerDatagram {
|
|
4
|
+
clientId: string;
|
|
5
|
+
}
|
|
6
|
+
export interface TurnServerTcpChunk {
|
|
7
|
+
clientId: string;
|
|
8
|
+
data: Buffer;
|
|
9
|
+
remoteAddress: Address;
|
|
10
|
+
localAddress?: Address;
|
|
11
|
+
transport: Extract<StunTransport, 'tcp' | 'tls'>;
|
|
12
|
+
}
|
|
13
|
+
export interface TurnServerRelayPacket {
|
|
14
|
+
relayId: string;
|
|
15
|
+
data: Buffer;
|
|
16
|
+
remoteAddress: Address;
|
|
17
|
+
localAddress: Address;
|
|
18
|
+
}
|
|
19
|
+
export interface TurnServerRelayBound {
|
|
20
|
+
allocationId: string;
|
|
21
|
+
relayId: string;
|
|
22
|
+
relayedAddress: Address;
|
|
23
|
+
}
|
|
24
|
+
export interface TurnServerRelayBindFailure {
|
|
25
|
+
allocationId: string;
|
|
26
|
+
errorCode?: number;
|
|
27
|
+
reason?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface TurnServerClientClosed {
|
|
30
|
+
clientId: string;
|
|
31
|
+
}
|
|
32
|
+
export type TurnServerAction = {
|
|
33
|
+
type: 'send-client';
|
|
34
|
+
clientId: string;
|
|
35
|
+
transport: StunTransport;
|
|
36
|
+
remoteAddress: Address;
|
|
37
|
+
data: Buffer;
|
|
38
|
+
} | {
|
|
39
|
+
type: 'send-relay';
|
|
40
|
+
relayId: string;
|
|
41
|
+
remoteAddress: Address;
|
|
42
|
+
data: Buffer;
|
|
43
|
+
} | {
|
|
44
|
+
type: 'bind-relay';
|
|
45
|
+
allocationId: string;
|
|
46
|
+
relayId: string;
|
|
47
|
+
} | {
|
|
48
|
+
type: 'close-relay';
|
|
49
|
+
relayId: string;
|
|
50
|
+
} | {
|
|
51
|
+
type: 'close-client';
|
|
52
|
+
clientId: string;
|
|
53
|
+
} | {
|
|
54
|
+
type: 'schedule-timeout';
|
|
55
|
+
at: number;
|
|
56
|
+
} | {
|
|
57
|
+
type: 'ignore';
|
|
58
|
+
reason: 'binding-indication' | 'malformed' | 'non-request' | 'non-stun' | 'unknown-channel' | 'unknown-client' | 'unknown-relay' | 'unsupported-indication' | 'unsupported-method';
|
|
59
|
+
};
|
|
60
|
+
export interface TurnServerProtocolOptions extends Pick<StunServerProtocolOptions, 'fingerprint' | 'software'> {
|
|
61
|
+
realm?: string;
|
|
62
|
+
allocationLifetime?: number;
|
|
63
|
+
permissionLifetime?: number;
|
|
64
|
+
channelLifetime?: number;
|
|
65
|
+
nonceLifetime?: number;
|
|
66
|
+
maxAllocations?: number;
|
|
67
|
+
/**the allocations counted with the servers of other threads, in place of maxAllocations: reserve one before it
|
|
68
|
+
* is made (false when refused), release it once deleted */
|
|
69
|
+
allocationGate?: {
|
|
70
|
+
reserve(): boolean;
|
|
71
|
+
release(): void;
|
|
72
|
+
};
|
|
73
|
+
getPassword?: (username: string, realm: string) => string | undefined;
|
|
74
|
+
now?: () => number;
|
|
75
|
+
}
|
|
76
|
+
export declare class TurnServerProtocol {
|
|
77
|
+
readonly realm: string;
|
|
78
|
+
readonly bindingProtocol: StunServerProtocol;
|
|
79
|
+
private readonly fingerprint;
|
|
80
|
+
private readonly software?;
|
|
81
|
+
private readonly allocationLifetime;
|
|
82
|
+
private readonly permissionLifetime;
|
|
83
|
+
private readonly channelLifetime;
|
|
84
|
+
private readonly nonceLifetime;
|
|
85
|
+
private readonly maxAllocations;
|
|
86
|
+
private readonly allocationGate?;
|
|
87
|
+
private readonly getPassword;
|
|
88
|
+
private readonly nowProvider?;
|
|
89
|
+
private readonly allocations;
|
|
90
|
+
private readonly allocationIdByClientId;
|
|
91
|
+
private readonly allocationIdByRelayId;
|
|
92
|
+
private readonly nonces;
|
|
93
|
+
private readonly tcpBuffers;
|
|
94
|
+
constructor(options?: TurnServerProtocolOptions);
|
|
95
|
+
/**the allocations in use */
|
|
96
|
+
get allocationCount(): number;
|
|
97
|
+
get nextTimeoutAt(): number | undefined;
|
|
98
|
+
handleClientDatagram(input: TurnServerClientPacket): TurnServerAction[];
|
|
99
|
+
handleTcpChunk(input: TurnServerTcpChunk): TurnServerAction[];
|
|
100
|
+
handleRelayPacket(input: TurnServerRelayPacket): TurnServerAction[];
|
|
101
|
+
handleRelayBound(input: TurnServerRelayBound): TurnServerAction[];
|
|
102
|
+
handleRelayBindFailure(input: TurnServerRelayBindFailure): TurnServerAction[];
|
|
103
|
+
handleClientClosed(input: TurnServerClientClosed): TurnServerAction[];
|
|
104
|
+
handleTimer(now?: number): TurnServerAction[];
|
|
105
|
+
private handleClientPacket;
|
|
106
|
+
private handleBindingRequest;
|
|
107
|
+
private handleAllocateRequest;
|
|
108
|
+
private handleRefreshRequest;
|
|
109
|
+
private handleCreatePermissionRequest;
|
|
110
|
+
private handleChannelBindRequest;
|
|
111
|
+
private handleSendIndication;
|
|
112
|
+
private authenticateRequest;
|
|
113
|
+
private unauthorizedResponse;
|
|
114
|
+
private successResponse;
|
|
115
|
+
private errorResponse;
|
|
116
|
+
private addResponseAttributes;
|
|
117
|
+
private shouldAddFingerprint;
|
|
118
|
+
private issueNonce;
|
|
119
|
+
private sendClient;
|
|
120
|
+
private mapBindingAction;
|
|
121
|
+
private clientEndpoint;
|
|
122
|
+
/**
|
|
123
|
+
* Data of a client on a channel: relayed to the peer of the binding while the allocation and the binding last
|
|
124
|
+
* @param input
|
|
125
|
+
* @param now
|
|
126
|
+
*/
|
|
127
|
+
private handleChannelData;
|
|
128
|
+
/**
|
|
129
|
+
* An allocation still alive: one expired is deleted now (the timer would delete it later)
|
|
130
|
+
* @param allocation
|
|
131
|
+
* @param now
|
|
132
|
+
* @param actions What deleting it takes.
|
|
133
|
+
*/
|
|
134
|
+
private liveAllocation;
|
|
135
|
+
private getClientAllocation;
|
|
136
|
+
private getRelayAllocation;
|
|
137
|
+
private setPermission;
|
|
138
|
+
private getPermission;
|
|
139
|
+
private getChannelBinding;
|
|
140
|
+
private removeChannelBinding;
|
|
141
|
+
private deleteAllocation;
|
|
142
|
+
private cleanupExpired;
|
|
143
|
+
private computeNextTimeoutAt;
|
|
144
|
+
private finalizeActions;
|
|
145
|
+
private clampLifetime;
|
|
146
|
+
private now;
|
|
147
|
+
}
|