Search Results for

    Show / Hide Table of Contents

    Class ManagedConnection

    A managed connection.

    Inheritance
    System.Object
    Serializable
    Dynamic
    ManagedConnection
    PeerConnection
    ServerConnection
    Inherited Members
    Dynamic.DynamicProperties
    Dynamic.GetDynamicValue(String)
    Dynamic.SetDynamicValue(String, Object)
    Dynamic.UnsetDynamicValue(String)
    Serializable.IsDirty
    Namespace: FM.LiveSwitch
    Assembly: FM.LiveSwitch.dll
    Syntax
    public abstract class ManagedConnection : Dynamic

    Constructors

    ManagedConnection(Object, String, String, String, String, String, Function1<Message, Future<Message>>, String, AudioStream, VideoStream, DataStream, String)

    ManagedConnection constructor.

    Declaration
    protected ManagedConnection(object sharedLock, string applicationId, string channelId, string userId, string deviceId, string clientId, Function1<Message, Future<Message>> doSend, string type, AudioStream audioStream, VideoStream videoStream, DataStream dataStream, string mediaId)
    Parameters
    Type Name Description
    System.Object sharedLock
    System.String applicationId
    System.String channelId
    System.String userId
    System.String deviceId
    System.String clientId
    Function1<Message, Future<Message>> doSend
    System.String type
    AudioStream audioStream
    VideoStream videoStream
    DataStream dataStream
    System.String mediaId

    ManagedConnection(Object, String, String, String, String, String, Function1<Message, Future<Message>>, String, AudioStream, VideoStream, DataStream, String, Boolean)

    ManagedConnection constructor.

    Declaration
    protected ManagedConnection(object sharedLock, string applicationId, string channelId, string userId, string deviceId, string clientId, Function1<Message, Future<Message>> doSend, string type, AudioStream audioStream, VideoStream videoStream, DataStream dataStream, string mediaId, bool useWebSocketsForMedia)
    Parameters
    Type Name Description
    System.Object sharedLock
    System.String applicationId
    System.String channelId
    System.String userId
    System.String deviceId
    System.String clientId
    Function1<Message, Future<Message>> doSend
    System.String type
    AudioStream audioStream
    VideoStream videoStream
    DataStream dataStream
    System.String mediaId
    System.Boolean useWebSocketsForMedia

    Properties

    ApplicationId

    Gets the application identifier.

    Declaration
    public string ApplicationId { get; }
    Property Value
    Type Description
    System.String

    AudioDirection

    Gets the audio direction. Null if disabled.

    Declaration
    public string AudioDirection { get; }
    Property Value
    Type Description
    System.String

    AudioStream

    Gets the audio stream.

    Declaration
    public AudioStream AudioStream { get; }
    Property Value
    Type Description
    AudioStream

    AudioUnmuteDisabled

    Gets whether the ability to unmute audio is disabled.

    Declaration
    public bool AudioUnmuteDisabled { get; }
    Property Value
    Type Description
    System.Boolean

    BundlePolicy

    Gets or sets the Bundle Policy.

    Declaration
    public BundlePolicy BundlePolicy { get; set; }
    Property Value
    Type Description
    BundlePolicy

    CanonicalName

    Gets the connection's canonical name.

    Declaration
    public string CanonicalName { get; }
    Property Value
    Type Description
    System.String

    ChannelId

    Gets the channel identifier.

    Declaration
    public string ChannelId { get; }
    Property Value
    Type Description
    System.String

    ClientId

    Gets the client identifier.

    Declaration
    public string ClientId { get; }
    Property Value
    Type Description
    System.String

    Config

    Gets the current configuration.

    Declaration
    public ConnectionConfig Config { get; }
    Property Value
    Type Description
    ConnectionConfig

    CreateDatagramSocket

    Gets or sets a method that creates Datagram sockets. Optional. If not set, default OS UDP socket is used.

    Declaration
    public Function1<DatagramSocketCreateArgs, DatagramSocket> CreateDatagramSocket { get; set; }
    Property Value
    Type Description
    Function1<DatagramSocketCreateArgs, DatagramSocket>

    CreateStreamSocket

    Gets or sets a method that creates Stream sockets. Optional. If not set, default OS TCP socket is used.

    Declaration
    public Function1<StreamSocketCreateArgs, StreamSocket> CreateStreamSocket { get; set; }
    Property Value
    Type Description
    Function1<StreamSocketCreateArgs, StreamSocket>

    DataDirection

    Gets the data direction. Null if disabled.

    Declaration
    public string DataDirection { get; }
    Property Value
    Type Description
    System.String

    DataStream

    Gets the data stream.

    Declaration
    public DataStream DataStream { get; }
    Property Value
    Type Description
    DataStream

    DeadStreamTimeout

    Gets or sets the amount of time (in milliseconds) to wait before declaring the connection dead. When there are no candidate pairs connected, the timer will start. When a candidate pair becomes connected the timer will be reset and stopped. If no candidate pairs become connected before the timeout is reached, the state of the connection will change to failed. Defaults to 15,000.

    Declaration
    public int DeadStreamTimeout { get; set; }
    Property Value
    Type Description
    System.Int32

    DefaultLocalDtlsCertificate

    Gets or sets the default local DTLS certificate.

    Declaration
    public static DtlsCertificate DefaultLocalDtlsCertificate { get; set; }
    Property Value
    Type Description
    DtlsCertificate

    DefaultLocalDtlsCertificates

    Gets or sets the default local DTLS certificates.

    Declaration
    public static DtlsCertificate[] DefaultLocalDtlsCertificates { get; set; }
    Property Value
    Type Description
    DtlsCertificate[]

    DefaultNoMediaServerTimeout

    Gets or sets the default timeout, in milliseconds, between retries for cases where no Media Servers are available for either ICE servers or SFU/MCU offer processing.
    The default value is 120,000 (2 minutes).

    Declaration
    public static int DefaultNoMediaServerTimeout { get; set; }
    Property Value
    Type Description
    System.Int32

    DefaultStatsEventInterval

    Gets or sets the default interval, in milliseconds, between stats events raised locally by OnStats.
    The default value is 1,000 (1 second).

    Declaration
    public static int DefaultStatsEventInterval { get; set; }
    Property Value
    Type Description
    System.Int32

    DefaultStatsInterval

    Gets or sets the default interval, in milliseconds, between stats reports sent to the Gateway.
    The default value is 10,000 (10 seconds).

    Declaration
    public static int DefaultStatsInterval { get; set; }
    Property Value
    Type Description
    System.Int32

    DefaultStatsReportInterval

    Gets or sets the default interval, in milliseconds, between stats reports sent to the Gateway.
    The default value is 10,000 (10 seconds).

    Declaration
    public static int DefaultStatsReportInterval { get; set; }
    Property Value
    Type Description
    System.Int32

    DeviceId

    Gets the device identifier.

    Declaration
    public string DeviceId { get; }
    Property Value
    Type Description
    System.String

    DisableAutomaticIceServers

    Gets or sets whether to disable automatic ICE servers (embedded TURN).

    Declaration
    public bool DisableAutomaticIceServers { get; set; }
    Property Value
    Type Description
    System.Boolean

    DtlsCipherSuites

    Gets or sets the DTLS cipher suites to use. Defaults to: DtlsCipherSuite.EcdheEcdsaAes128Sha, DtlsCipherSuite.EcdheEcdsaAes128GcmSha256, DtlsCipherSuite.EcdheEcdsaAes128CbcSha256, DtlsCipherSuite.EcdheRsaAes128Sha, DtlsCipherSuite.EcdheRsaAes128GcmSha256, DtlsCipherSuite.EcdheRsaAes128CbcSha256, DtlsCipherSuite.RsaAes128Sha, DtlsCipherSuite.RsaAes128GcmSha256, DtlsCipherSuite.RsaAes128CbcSha256,

    Declaration
    public DtlsCipherSuite[] DtlsCipherSuites { get; set; }
    Property Value
    Type Description
    DtlsCipherSuite[]

    DtlsClientVersion

    Gets or sets the protocol version to use when in the DTLS client role. Defaults to Dtls10.

    Declaration
    public DtlsProtocolVersion DtlsClientVersion { get; set; }
    Property Value
    Type Description
    DtlsProtocolVersion

    DtlsServerMaxVersion

    Gets or sets the maximum protocol version to allow when in the DTLS server role. Defaults to Dtls12.

    Declaration
    public DtlsProtocolVersion DtlsServerMaxVersion { get; set; }
    Property Value
    Type Description
    DtlsProtocolVersion

    DtlsServerMinVersion

    Gets or sets the minimum protocol version to allow when in the DTLS server role. Defaults to Dtls10.

    Declaration
    public DtlsProtocolVersion DtlsServerMinVersion { get; set; }
    Property Value
    Type Description
    DtlsProtocolVersion

    Error

    Gets the error, if an error exists.

    Declaration
    public Error Error { get; }
    Property Value
    Type Description
    Error

    ExternalId

    Gets the external connection identifier.

    Declaration
    public string ExternalId { get; }
    Property Value
    Type Description
    System.String

    GatheringState

    Gets the state of the ice gathering.

    Declaration
    public IceGatheringState GatheringState { get; }
    Property Value
    Type Description
    IceGatheringState

    HasAudio

    Gets whether this connection has an audio stream.

    Declaration
    public bool HasAudio { get; }
    Property Value
    Type Description
    System.Boolean

    HasData

    Gets whether this connection has a data stream.

    Declaration
    public bool HasData { get; }
    Property Value
    Type Description
    System.Boolean

    HasVideo

    Gets whether this connection has a video stream.

    Declaration
    public bool HasVideo { get; }
    Property Value
    Type Description
    System.Boolean

    IceAddressTypes

    Gets or sets the ICE address types.

    Declaration
    public AddressType[] IceAddressTypes { get; set; }
    Property Value
    Type Description
    AddressType[]

    IceConnectionState

    Gets the state of the ice connection.

    Declaration
    public IceConnectionState IceConnectionState { get; }
    Property Value
    Type Description
    IceConnectionState

    IceGatherPolicy

    Gets or sets the ICE gather policy.

    Declaration
    public IceGatherPolicy IceGatherPolicy { get; set; }
    Property Value
    Type Description
    IceGatherPolicy

    IcePolicy

    Gets or sets policy indicating whether ICE is required (and enabled) or disabled (and not required for this connection).

    Declaration
    public IcePolicy IcePolicy { get; set; }
    Property Value
    Type Description
    IcePolicy

    IcePortRange

    Gets or sets the ICE port range.

    Declaration
    public IcePortRange IcePortRange { get; set; }
    Property Value
    Type Description
    IcePortRange

    IceRole

    Gets the ICE role.

    Declaration
    public IceRole IceRole { get; }
    Property Value
    Type Description
    IceRole

    IceServer

    Gets or sets the ICE server.

    Declaration
    public IceServer IceServer { get; set; }
    Property Value
    Type Description
    IceServer

    IceServers

    Gets or sets the ICE servers.

    Declaration
    public IceServer[] IceServers { get; set; }
    Property Value
    Type Description
    IceServer[]

    Id

    Gets the connection identifier.

    Declaration
    public string Id { get; }
    Property Value
    Type Description
    System.String

    Info

    Gets the connection info.

    Declaration
    public ConnectionInfo Info { get; }
    Property Value
    Type Description
    ConnectionInfo

    InternalRtcpDataChannel

    Gets Data Channel for inband signalling.

    Declaration
    protected DataChannel InternalRtcpDataChannel { get; }
    Property Value
    Type Description
    DataChannel

    KeepAliveInterval

    Gets or sets a value indicating how many milliseconds must elapse between STUN keep-alive binding requests. Defaults to 1000.

    Declaration
    public int KeepAliveInterval { get; set; }
    Property Value
    Type Description
    System.Int32

    LayoutPriority

    Gets or sets the LayoutPriority.

    Declaration
    public int? LayoutPriority { get; set; }
    Property Value
    Type Description
    System.Nullable<System.Int32>

    LayoutZone

    Gets or sets the LayoutZone.

    Declaration
    public string LayoutZone { get; set; }
    Property Value
    Type Description
    System.String

    LocalAudioDirection

    Gets the local audio direction. Null if disabled.

    Declaration
    public string LocalAudioDirection { get; }
    Property Value
    Type Description
    System.String

    LocalAudioDisabled

    Gets if local audio is disabled.

    Declaration
    public bool LocalAudioDisabled { get; }
    Property Value
    Type Description
    System.Boolean

    LocalAudioFormats

    Gets or sets the local audio formats.

    Declaration
    public FormatInfo[] LocalAudioFormats { get; protected set; }
    Property Value
    Type Description
    FormatInfo[]

    LocalAudioMuted

    Gets whether the local audio is muted.

    Declaration
    public bool LocalAudioMuted { get; }
    Property Value
    Type Description
    System.Boolean

    LocalDataDirection

    Gets the local data direction. Null if disabled.

    Declaration
    public string LocalDataDirection { get; }
    Property Value
    Type Description
    System.String

    LocalDataDisabled

    Gets if local data is disabled.

    Declaration
    public bool LocalDataDisabled { get; }
    Property Value
    Type Description
    System.Boolean

    LocalDescription

    Gets the local description.

    Declaration
    public SessionDescription LocalDescription { get; }
    Property Value
    Type Description
    SessionDescription

    LocalDtlsCertificate

    Gets or sets the local DTLS certificate.

    Declaration
    public DtlsCertificate LocalDtlsCertificate { get; set; }
    Property Value
    Type Description
    DtlsCertificate

    LocalDtlsCertificates

    Gets or sets the local DTLS certificates.

    Declaration
    public DtlsCertificate[] LocalDtlsCertificates { get; set; }
    Property Value
    Type Description
    DtlsCertificate[]

    LocalVideoDirection

    Gets the local video direction. Null if disabled.

    Declaration
    public string LocalVideoDirection { get; }
    Property Value
    Type Description
    System.String

    LocalVideoDisabled

    Gets if local video is disabled.

    Declaration
    public bool LocalVideoDisabled { get; }
    Property Value
    Type Description
    System.Boolean

    LocalVideoFormats

    Gets or sets the local video formats.

    Declaration
    public FormatInfo[] LocalVideoFormats { get; protected set; }
    Property Value
    Type Description
    FormatInfo[]

    LocalVideoMuted

    Gets whether the local video is muted.

    Declaration
    public bool LocalVideoMuted { get; }
    Property Value
    Type Description
    System.Boolean

    MediaId

    Gets or sets the media identifier.

    Declaration
    public string MediaId { get; protected set; }
    Property Value
    Type Description
    System.String

    MediaIntents

    Gets media intents reflected by Gateway.

    Declaration
    protected string[] MediaIntents { get; }
    Property Value
    Type Description
    System.String[]

    MediaProtocol

    Gets or sets the media protocol in use on this connection.

    Declaration
    public MediaProtocol MediaProtocol { get; }
    Property Value
    Type Description
    MediaProtocol

    MediaQuality

    Gets the current estimated media quality.
    The value ranges from 0.0 to 1.0, where 0.0 is the lowest quality and 1.0 is the highest quality.

    Declaration
    public double MediaQuality { get; }
    Property Value
    Type Description
    System.Double

    MultiplexPolicy

    Gets or sets the multiplex policy.

    Declaration
    public MultiplexPolicy MultiplexPolicy { get; set; }
    Property Value
    Type Description
    MultiplexPolicy

    NetworkQuality

    Gets the current estimated network quality.
    The value ranges from 0.0 to 1.0, where 0.0 is the lowest quality and 1.0 is the highest quality.

    Declaration
    public double NetworkQuality { get; }
    Property Value
    Type Description
    System.Double

    NoMediaServerTimeout

    Gets or sets the timeout, in milliseconds, between retries for cases where no Media Servers are available for either ICE servers or SFU/MCU offer processing.

    Declaration
    public int NoMediaServerTimeout { get; set; }
    Property Value
    Type Description
    System.Int32

    PrivateIPAddress

    Gets or sets the private IP address of this device. If set, this will bypass the local network discovery and use this as the sole host candidate.

    Declaration
    public string PrivateIPAddress { get; set; }
    Property Value
    Type Description
    System.String

    PrivateIPAddresses

    Gets or sets the private IP address of this device. If set, this will bypass the local network discovery and use this as the sole host candidate.

    Declaration
    public string[] PrivateIPAddresses { get; set; }
    Property Value
    Type Description
    System.String[]

    RecordingEnabled

    Gets or sets whether this connection is being recorded.

    Declaration
    public bool RecordingEnabled { get; }
    Property Value
    Type Description
    System.Boolean

    RemoteAudioDisabled

    Gets if remote audio is disabled.

    Declaration
    public bool RemoteAudioDisabled { get; }
    Property Value
    Type Description
    System.Boolean

    RemoteAudioEncoding

    Gets or sets the remote audio encoding.

    Declaration
    public EncodingInfo RemoteAudioEncoding { get; protected set; }
    Property Value
    Type Description
    EncodingInfo

    RemoteAudioFormats

    Gets or sets the remote audio formats.

    Declaration
    public FormatInfo[] RemoteAudioFormats { get; protected set; }
    Property Value
    Type Description
    FormatInfo[]

    RemoteAudioMuted

    Gets or sets whether the remote audio is muted.

    Declaration
    public bool RemoteAudioMuted { get; set; }
    Property Value
    Type Description
    System.Boolean

    RemoteClosed

    Gets a value indicating whether the connection was closed by the remote host.

    Declaration
    public bool RemoteClosed { get; }
    Property Value
    Type Description
    System.Boolean

    RemoteConnectionId

    Gets or sets the remote connection identifier, if available.

    Declaration
    public string RemoteConnectionId { get; protected set; }
    Property Value
    Type Description
    System.String

    RemoteDataDisabled

    Gets if remote data is disabled.

    Declaration
    public bool RemoteDataDisabled { get; }
    Property Value
    Type Description
    System.Boolean

    RemoteDescription

    Gets the remote description.

    Declaration
    public SessionDescription RemoteDescription { get; }
    Property Value
    Type Description
    SessionDescription

    RemoteMediaId

    Gets or sets the remote media identifier, if available.

    Declaration
    public string RemoteMediaId { get; protected set; }
    Property Value
    Type Description
    System.String

    RemoteRejected

    Gets a value indicating whether the connection was rejected by the remote host.

    Declaration
    public bool RemoteRejected { get; }
    Property Value
    Type Description
    System.Boolean

    RemoteTag

    Gets or sets the remote tag, if applicable.

    Declaration
    public string RemoteTag { get; protected set; }
    Property Value
    Type Description
    System.String

    RemoteVideoDisabled

    Gets if remote video is disabled.

    Declaration
    public bool RemoteVideoDisabled { get; }
    Property Value
    Type Description
    System.Boolean

    RemoteVideoEncoding

    Gets or sets the remote video encoding.

    Declaration
    public EncodingInfo RemoteVideoEncoding { get; protected set; }
    Property Value
    Type Description
    EncodingInfo

    RemoteVideoFormats

    Gets or sets the remote video formats.

    Declaration
    public FormatInfo[] RemoteVideoFormats { get; protected set; }
    Property Value
    Type Description
    FormatInfo[]

    RemoteVideoMuted

    Gets or sets whether the remote video is muted.

    Declaration
    public bool RemoteVideoMuted { get; set; }
    Property Value
    Type Description
    System.Boolean

    SignallingState

    Gets the state of the signalling.

    Declaration
    public SignallingState SignallingState { get; }
    Property Value
    Type Description
    SignallingState

    State

    Gets the state of the connection.

    Declaration
    public ConnectionState State { get; }
    Property Value
    Type Description
    ConnectionState

    StatsEventInterval

    Gets or sets the interval, in milliseconds, between stats events raised locally by OnStats.
    The default value is 1000 (1 second).

    Declaration
    public int StatsEventInterval { get; set; }
    Property Value
    Type Description
    System.Int32

    StatsInterval

    Gets or sets the default interval, in milliseconds, between stats reports sent to the Gateway.
    The default value is 10,000 (10 seconds).

    Declaration
    public int StatsInterval { get; set; }
    Property Value
    Type Description
    System.Int32

    StatsReportInterval

    Gets or sets the interval, in milliseconds, between stats reports sent to the Gateway.
    The default value is 10,000 (10 seconds).

    Declaration
    public int StatsReportInterval { get; set; }
    Property Value
    Type Description
    System.Int32

    StunBindingRequestLimit

    Gets or sets the limit on the the number of Turn Allocate request messages when trying to establish allocation on a Turn server.

    Declaration
    public int StunBindingRequestLimit { get; set; }
    Property Value
    Type Description
    System.Int32

    StunRequestTimeout

    Gets or sets the timeout for individual Stun (and Turn) request messages in ms.

    Declaration
    public int StunRequestTimeout { get; set; }
    Property Value
    Type Description
    System.Int32

    Tag

    Gets or sets the tag.

    Declaration
    public string Tag { get; set; }
    Property Value
    Type Description
    System.String

    TcpConnectTimeout

    Gets or sets connection timeout for stream sockets in ms.

    Declaration
    public int TcpConnectTimeout { get; set; }
    Property Value
    Type Description
    System.Int32

    TestReceivedRtpBuffer

    Gets or sets a method that can be used to test and optionally modify inbound RTP buffers. FOR TESTING PURPOSES ONLY. Returning null will cause the buffer to be discarded.

    Declaration
    public Function1<DataBuffer, DataBuffer> TestReceivedRtpBuffer { get; set; }
    Property Value
    Type Description
    Function1<DataBuffer, DataBuffer>

    TestRoundTripTime

    Gets or sets a fixed round-trip time (in milliseconds) to use in the network transport. FOR TESTING PURPOSES ONLY. Defaults to -1, which indicates that normal round-trip time calculations should be used.

    Declaration
    public int TestRoundTripTime { get; set; }
    Property Value
    Type Description
    System.Int32

    TestSendingRtpBuffer

    Gets or sets a method that can be used to test and optionally modify outbound RTP buffers. FOR TESTING PURPOSES ONLY. Returning null will cause the buffer to be discarded.

    Declaration
    public Function1<DataBuffer, DataBuffer> TestSendingRtpBuffer { get; set; }
    Property Value
    Type Description
    Function1<DataBuffer, DataBuffer>

    TrickleIcePolicy

    Gets or sets the trickle-ICE policy.

    Declaration
    public TrickleIcePolicy TrickleIcePolicy { get; set; }
    Property Value
    Type Description
    TrickleIcePolicy

    TurnAllocateRequestLimit

    Gets or sets the limit on the the number of Turn Allocate request messages when trying to establish allocation on a Turn server.

    Declaration
    public int TurnAllocateRequestLimit { get; set; }
    Property Value
    Type Description
    System.Int32

    Type

    Gets the connection type.

    Declaration
    public string Type { get; }
    Property Value
    Type Description
    System.String

    UserId

    Gets the user identifier.

    Declaration
    public string UserId { get; }
    Property Value
    Type Description
    System.String

    UseWebSocketsForMedia

    Gets or sets if we should use websockets for sending media.

    Declaration
    public bool UseWebSocketsForMedia { get; protected set; }
    Property Value
    Type Description
    System.Boolean

    VideoDirection

    Gets the video direction. Null if disabled.

    Declaration
    public string VideoDirection { get; }
    Property Value
    Type Description
    System.String

    VideoStream

    Gets the video stream.

    Declaration
    public VideoStream VideoStream { get; }
    Property Value
    Type Description
    VideoStream

    VideoUnmuteDisabled

    Gets whether the ability to unmute video is disabled.

    Declaration
    public bool VideoUnmuteDisabled { get; }
    Property Value
    Type Description
    System.Boolean

    WmsAddress

    Gets or sets the WMS endpoint address.

    Declaration
    public string WmsAddress { get; set; }
    Property Value
    Type Description
    System.String

    WmsConnectionToken

    Gets or sets WMS connection token.

    Declaration
    public string WmsConnectionToken { get; set; }
    Property Value
    Type Description
    System.String

    Methods

    Close()

    Closes the connection.

    Declaration
    public Future<object> Close()
    Returns
    Type Description
    Future<System.Object>

    DetachInternalEventHandlers()

    Detaches internal event handlers.

    Declaration
    protected virtual void DetachInternalEventHandlers()

    DoCreateCandidateMessage(Candidate)

    Creates a candidate message.

    Declaration
    protected abstract Message DoCreateCandidateMessage(Candidate candidate)
    Parameters
    Type Name Description
    Candidate candidate

    The candidate.

    Returns
    Type Description
    Message

    DoCreateCloseMessage()

    Creates a close message.

    Declaration
    protected abstract Message DoCreateCloseMessage()
    Returns
    Type Description
    Message

    DoCreateUpdateMessage(ConnectionConfig)

    Creates an update message.

    Declaration
    protected virtual Message DoCreateUpdateMessage(ConnectionConfig config)
    Parameters
    Type Name Description
    ConnectionConfig config

    The connection config.

    Returns
    Type Description
    Message

    DoCreateUseWebSocketServiceMessage()

    Create the message to use web sockets for media

    Declaration
    protected virtual Message DoCreateUseWebSocketServiceMessage()
    Returns
    Type Description
    Message

    DoOpen()

    Opens the connection.

    Declaration
    protected abstract void DoOpen()

    DoProcessMessage(Message)

    Processes a message.

    Declaration
    protected abstract void DoProcessMessage(Message message)
    Parameters
    Type Name Description
    Message message

    The message.

    GetStats()

    Gets the current connection stats.

    Declaration
    public Future<ConnectionStats> GetStats()
    Returns
    Type Description
    Future<ConnectionStats>

    IsMediaDirectionAllowed(String)

    Gets a value indicating whether the given direction is allowed for this connection.

    Declaration
    protected abstract bool IsMediaDirectionAllowed(string direction)
    Parameters
    Type Name Description
    System.String direction

    The direction.

    Returns
    Type Description
    System.Boolean

    Open()

    Opens the connection.

    Declaration
    public Future<object> Open()
    Returns
    Type Description
    Future<System.Object>

    ProcessAnswer(Message)

    Processes an answer.

    Declaration
    protected abstract void ProcessAnswer(Message message)
    Parameters
    Type Name Description
    Message message

    The message.

    ProcessError(Message)

    Processes an error message.

    Declaration
    protected virtual void ProcessError(Message message)
    Parameters
    Type Name Description
    Message message

    The message.

    ProcessIceServers(Message)

    Processes an iceServers message.

    Declaration
    protected virtual void ProcessIceServers(Message message)
    Parameters
    Type Name Description
    Message message

    The message.

    ProcessLocalError(Error)

    Processes a local failure.

    Declaration
    protected void ProcessLocalError(Error error)
    Parameters
    Type Name Description
    Error error

    The error.

    ProcessMediaIntentResponse(Message)

    Processes an iceServers message.

    Declaration
    protected virtual void ProcessMediaIntentResponse(Message message)
    Parameters
    Type Name Description
    Message message

    The message.

    ProcessRtcpDataChannelSignallingActivation(Message)

    Processes inband signalling activation.

    Declaration
    protected virtual void ProcessRtcpDataChannelSignallingActivation(Message message)
    Parameters
    Type Name Description
    Message message

    RaiseAudioBitrateNotification(AudioStream, BitrateNotification)

    Raises an audio bitrate notification.

    Declaration
    protected virtual void RaiseAudioBitrateNotification(AudioStream audioStream, BitrateNotification bitrateNotification)
    Parameters
    Type Name Description
    AudioStream audioStream

    The audio stream.

    BitrateNotification bitrateNotification

    The bitrate notification.

    RaiseAudioBitrateRequest(AudioStream, BitrateRequest)

    Raises an audio bitrate request.

    Declaration
    protected virtual void RaiseAudioBitrateRequest(AudioStream audioStream, BitrateRequest bitrateRequest)
    Parameters
    Type Name Description
    AudioStream audioStream

    The audio stream.

    BitrateRequest bitrateRequest

    The bitrate request.

    RaiseLocalCandidate(Candidate)

    Raises a local candidate.

    Declaration
    protected void RaiseLocalCandidate(Candidate localCandidate)
    Parameters
    Type Name Description
    Candidate localCandidate

    The local candidate.

    RaiseNoMediaServersAvailable(NoMediaServersAvailableEventArgs)

    Raises the OnNoMediaServersAvailable event.

    Declaration
    protected virtual void RaiseNoMediaServersAvailable(NoMediaServersAvailableEventArgs args)
    Parameters
    Type Name Description
    NoMediaServersAvailableEventArgs args

    RaiseNoWebSocketMediaServersAvailable(NoWebSocketMediaServersAvailableEventArgs)

    Raises the OnNoWebSocketMediaServersAvailable event.

    Declaration
    protected virtual void RaiseNoWebSocketMediaServersAvailable(NoWebSocketMediaServersAvailableEventArgs args)
    Parameters
    Type Name Description
    NoWebSocketMediaServersAvailableEventArgs args

    RaiseRemoteCandidate(Candidate)

    Raises a remote candidate.

    Declaration
    protected void RaiseRemoteCandidate(Candidate remoteCandidate)
    Parameters
    Type Name Description
    Candidate remoteCandidate

    The remote candidate.

    RaiseVideoBitrateNotification(VideoStream, BitrateNotification)

    Raises a video bitrate notification.

    Declaration
    protected virtual void RaiseVideoBitrateNotification(VideoStream videoStream, BitrateNotification bitrateNotification)
    Parameters
    Type Name Description
    VideoStream videoStream

    The video stream.

    BitrateNotification bitrateNotification

    The bitrate notification.

    RaiseVideoBitrateRequest(VideoStream, BitrateRequest)

    Raises a video bitrate request.

    Declaration
    protected virtual void RaiseVideoBitrateRequest(VideoStream videoStream, BitrateRequest bitrateRequest)
    Parameters
    Type Name Description
    VideoStream videoStream

    The video stream.

    BitrateRequest bitrateRequest

    The bitrate request.

    Send(Message)

    Sends a message.

    Declaration
    protected virtual Future<Message> Send(Message message)
    Parameters
    Type Name Description
    Message message

    The message.

    Returns
    Type Description
    Future<Message>

    TrySendRtcpDataChannel(Message)

    Sends bitrate messages.

    Declaration
    protected virtual bool TrySendRtcpDataChannel(Message message)
    Parameters
    Type Name Description
    Message message

    The message to send.

    Returns
    Type Description
    System.Boolean

    Update(ConnectionConfig)

    Updates this connection.

    Declaration
    public Future<object> Update(ConnectionConfig config)
    Parameters
    Type Name Description
    ConnectionConfig config

    The connection configuration.

    Returns
    Type Description
    Future<System.Object>

    A future that resolves when the connection has been updated.

    Events

    OnAudioUnmuteDisabled

    Raised when the ability to unmute audio is disabled.

    Declaration
    public event Action0 OnAudioUnmuteDisabled
    Event Type
    Type Description
    Action0

    OnAudioUnmuteEnabled

    Raised when the ability to unmute audio is enabled.

    Declaration
    public event Action0 OnAudioUnmuteEnabled
    Event Type
    Type Description
    Action0

    OnAutomaticIceServers

    Raised when automatic ICE servers have been received. Parameters:

    • connection - the connection
    • automaticIceServers - the automatic ICE severs collection
    Declaration
    public event Action2<ManagedConnection, IceServerCollection> OnAutomaticIceServers
    Event Type
    Type Description
    Action2<ManagedConnection, IceServerCollection>

    OnGatheringStateChange

    Raised when the ICE gathering state changes. Parameters:

    • connection - the connection
    Declaration
    public event Action1<ManagedConnection> OnGatheringStateChange
    Event Type
    Type Description
    Action1<ManagedConnection>

    OnIceConnectionStateChange

    Raised when the ICE connection state changes. Parameters:

    • connection - the connection
    Declaration
    public event Action1<ManagedConnection> OnIceConnectionStateChange
    Event Type
    Type Description
    Action1<ManagedConnection>

    OnLocalCandidate

    Raised when a local candidate is ready. Parameters:

    • connection - the connection
    • candidate - the local candidate
    Declaration
    public event Action2<ManagedConnection, Candidate> OnLocalCandidate
    Event Type
    Type Description
    Action2<ManagedConnection, Candidate>

    OnLocalDescription

    Raised when the local description is ready. Parameters:

    • connection - the connection
    • description - the local description
    Declaration
    public event Action2<ManagedConnection, SessionDescription> OnLocalDescription
    Event Type
    Type Description
    Action2<ManagedConnection, SessionDescription>

    OnMediaQuality

    Raised every StatsEventInterval milliseconds with the current estimated media quality.
    The value ranges from 0.0 to 1.0, where 0.0 is the lowest quality and 1.0 is the highest quality.

    Declaration
    public event Action1<double> OnMediaQuality
    Event Type
    Type Description
    Action1<System.Double>

    OnNetworkQuality

    Raised every StatsEventInterval milliseconds with the current estimated network quality.
    The value ranges from 0.0 to 1.0, where 0.0 is the lowest quality and 1.0 is the highest quality.

    Declaration
    public event Action1<double> OnNetworkQuality
    Event Type
    Type Description
    Action1<System.Double>

    OnNoMediaServersAvailable

    Raised when there are no Media Servers available.

    Declaration
    public event Action2<ManagedConnection, NoMediaServersAvailableEventArgs> OnNoMediaServersAvailable
    Event Type
    Type Description
    Action2<ManagedConnection, NoMediaServersAvailableEventArgs>

    OnNoWebSocketMediaServersAvailable

    Raised when there are no WebSocket Media Servers available.

    Declaration
    public event Action2<ManagedConnection, NoWebSocketMediaServersAvailableEventArgs> OnNoWebSocketMediaServersAvailable
    Event Type
    Type Description
    Action2<ManagedConnection, NoWebSocketMediaServersAvailableEventArgs>

    OnRecordingDisabled

    Raised when this connection is no longer being recorded.

    Declaration
    public event Action1<string> OnRecordingDisabled
    Event Type
    Type Description
    Action1<System.String>

    OnRecordingEnabled

    Raised when this connection is being recorded.

    Declaration
    public event Action1<string> OnRecordingEnabled
    Event Type
    Type Description
    Action1<System.String>

    OnRemoteAudioEncodingSwitch

    Raised when the remote audio encoding is switched by the server.

    Declaration
    public event Action2<EncodingInfo, EncodingInfo> OnRemoteAudioEncodingSwitch
    Event Type
    Type Description
    Action2<EncodingInfo, EncodingInfo>

    OnRemoteCandidate

    Raised when a remote candidate is ready. Parameters:

    • connection - the connection
    • candidate - the remote candidate
    Declaration
    public event Action2<ManagedConnection, Candidate> OnRemoteCandidate
    Event Type
    Type Description
    Action2<ManagedConnection, Candidate>

    OnRemoteDescription

    Raised when the remote description is ready. Parameters:

    • connection - the connection
    • description - the remote description
    Declaration
    public event Action2<ManagedConnection, SessionDescription> OnRemoteDescription
    Event Type
    Type Description
    Action2<ManagedConnection, SessionDescription>

    OnRemoteUpdate

    Raised when a remote connection has been updated.

    Declaration
    public event Action2<ConnectionInfo, ConnectionInfo> OnRemoteUpdate
    Event Type
    Type Description
    Action2<ConnectionInfo, ConnectionInfo>

    OnRemoteVideoEncodingSwitch

    Raised when the remote video encoding is switched by the server.

    Declaration
    public event Action2<EncodingInfo, EncodingInfo> OnRemoteVideoEncodingSwitch
    Event Type
    Type Description
    Action2<EncodingInfo, EncodingInfo>

    OnSignallingStateChange

    Raised when the signalling state changes. Parameters:

    • connection - the connection
    Declaration
    public event Action1<ManagedConnection> OnSignallingStateChange
    Event Type
    Type Description
    Action1<ManagedConnection>

    OnStateChange

    Raised when the connection state changes. Parameters:

    • connection - the connection
    Declaration
    public event Action1<ManagedConnection> OnStateChange
    Event Type
    Type Description
    Action1<ManagedConnection>

    OnStats

    Raised every StatsEventInterval milliseconds with the current connection stats.

    Declaration
    public event Action1<ConnectionStats> OnStats
    Event Type
    Type Description
    Action1<ConnectionStats>

    OnVideoUnmuteDisabled

    Raised when the ability to unmute video is disabled.

    Declaration
    public event Action0 OnVideoUnmuteDisabled
    Event Type
    Type Description
    Action0

    OnVideoUnmuteEnabled

    Raised when the ability to unmute video is enabled.

    Declaration
    public event Action0 OnVideoUnmuteEnabled
    Event Type
    Type Description
    Action0
    In This Article
    Back to top Copyright © LiveSwitch Inc. All Rights Reserved. Doc build for LiveSwitch v1.19.0