Show / Hide Table of Contents

Class RTCIceCandidate

Inheritance
System.Object
RTCIceCandidate
Implements
IRTCIceCandidate
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: SIPSorcery.Net
Assembly: SIPSorcery.dll
Syntax
public class RTCIceCandidate : IRTCIceCandidate

Constructors

| Improve this Doc View Source

RTCIceCandidate(RTCIceCandidateInit)

Declaration
public RTCIceCandidate(RTCIceCandidateInit init)
Parameters
Type Name Description
RTCIceCandidateInit init
| Improve this Doc View Source

RTCIceCandidate(RTCIceProtocol, IPAddress, UInt16, RTCIceCandidateType)

Convenience constructor for cases when the application wants to create an ICE candidate,

Declaration
public RTCIceCandidate(RTCIceProtocol cProtocol, IPAddress cAddress, ushort cPort, RTCIceCandidateType cType)
Parameters
Type Name Description
RTCIceProtocol cProtocol
System.Net.IPAddress cAddress
System.UInt16 cPort
RTCIceCandidateType cType

Fields

| Improve this Doc View Source

CANDIDATE_PREFIX

Declaration
public const string CANDIDATE_PREFIX = "candidate"
Field Value
Type Description
System.String
| Improve this Doc View Source

m_CRLF

Declaration
public const string m_CRLF = "\r\n"
Field Value
Type Description
System.String
| Improve this Doc View Source

REMOTE_ADDRESS_KEY

Declaration
public const string REMOTE_ADDRESS_KEY = "raddr"
Field Value
Type Description
System.String
| Improve this Doc View Source

REMOTE_PORT_KEY

Declaration
public const string REMOTE_PORT_KEY = "rport"
Field Value
Type Description
System.String
| Improve this Doc View Source

TCP_TYPE_KEY

Declaration
public const string TCP_TYPE_KEY = "tcpType"
Field Value
Type Description
System.String

Properties

| Improve this Doc View Source

address

The address or hostname for the candidate.

Declaration
public string address { get; set; }
Property Value
Type Description
System.String
| Improve this Doc View Source

candidate

Declaration
public string candidate { get; }
Property Value
Type Description
System.String
| Improve this Doc View Source

component

Is a positive integer between 1 and 256 (inclusive) that identifies the specific component of the data stream for which this is a candidate.

Declaration
public RTCIceComponent component { get; set; }
Property Value
Type Description
RTCIceComponent
| Improve this Doc View Source

DestinationEndPoint

This is the end point to use for a remote candidate. The address supplied for an ICE candidate could be a hostname or IP address. This field will be set before the candidate is used.

Declaration
public IPEndPoint DestinationEndPoint { get; }
Property Value
Type Description
System.Net.IPEndPoint
| Improve this Doc View Source

foundation

Composed of 1 to 32 chars. It is an identifier that is equivalent for two candidates that are of the same type, share the same base, and come from the same STUN server.

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

See https://tools.ietf.org/html/rfc8445#section-5.1.1.3.

| Improve this Doc View Source

IceServer

The ICE server (STUN or TURN) the candidate was generated from. Will be null for non-ICE server candidates.

Declaration
public IceServer IceServer { get; }
Property Value
Type Description
IceServer
| Improve this Doc View Source

port

The local port the candidate is listening on.

Declaration
public ushort port { get; set; }
Property Value
Type Description
System.UInt16
| Improve this Doc View Source

priority

A positive integer between 1 and (2**31 - 1) inclusive. This priority will be used by ICE to determine the order of the connectivity checks and the relative preference for candidates. Higher-priority values give more priority over lower values.

Declaration
public uint priority { get; set; }
Property Value
Type Description
System.UInt32
Remarks

See specification at https://tools.ietf.org/html/rfc8445#section-5.1.2.

| Improve this Doc View Source

protocol

The transport protocol for the candidate, supported options are UDP and TCP.

Declaration
public RTCIceProtocol protocol { get; set; }
Property Value
Type Description
RTCIceProtocol
| Improve this Doc View Source

relatedAddress

Declaration
public string relatedAddress { get; set; }
Property Value
Type Description
System.String
| Improve this Doc View Source

relatedPort

Declaration
public ushort relatedPort { get; set; }
Property Value
Type Description
System.UInt16
| Improve this Doc View Source

sdpMid

Declaration
public string sdpMid { get; set; }
Property Value
Type Description
System.String
| Improve this Doc View Source

sdpMLineIndex

Declaration
public ushort sdpMLineIndex { get; set; }
Property Value
Type Description
System.UInt16
| Improve this Doc View Source

tcpType

For TCP candidates the role they are fulfilling (client, server or both).

Declaration
public RTCIceTcpCandidateType tcpType { get; set; }
Property Value
Type Description
RTCIceTcpCandidateType
| Improve this Doc View Source

type

The type of ICE candidate, host, srflx etc.

Declaration
public RTCIceCandidateType type { get; set; }
Property Value
Type Description
RTCIceCandidateType
| Improve this Doc View Source

usernameFragment

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

Methods

| Improve this Doc View Source

IsEquivalentEndPoint(RTCIceProtocol, IPEndPoint)

Checks the candidate to identify whether it is equivalent to the specified protocol and IP end point. Primary use case is to check whether a candidate is a match for a remote end point that a message has been received from.

Declaration
public bool IsEquivalentEndPoint(RTCIceProtocol epPotocol, IPEndPoint ep)
Parameters
Type Name Description
RTCIceProtocol epPotocol

The protocol to check equivalence for.

System.Net.IPEndPoint ep

The IP end point to check equivalence for.

Returns
Type Description
System.Boolean

True if the candidate is deemed equivalent or false if not.

| Improve this Doc View Source

Parse(String)

Declaration
public static RTCIceCandidate Parse(string candidateLine)
Parameters
Type Name Description
System.String candidateLine
Returns
Type Description
RTCIceCandidate
| Improve this Doc View Source

SetAddressProperties(RTCIceProtocol, IPAddress, UInt16, RTCIceCandidateType, IPAddress, UInt16)

Declaration
public void SetAddressProperties(RTCIceProtocol cProtocol, IPAddress cAddress, ushort cPort, RTCIceCandidateType cType, IPAddress cRelatedAddress, ushort cRelatedPort)
Parameters
Type Name Description
RTCIceProtocol cProtocol
System.Net.IPAddress cAddress
System.UInt16 cPort
RTCIceCandidateType cType
System.Net.IPAddress cRelatedAddress
System.UInt16 cRelatedPort
| Improve this Doc View Source

SetDestinationEndPoint(IPEndPoint)

Sets the remote end point for a remote candidate.

Declaration
public void SetDestinationEndPoint(IPEndPoint destinationEP)
Parameters
Type Name Description
System.Net.IPEndPoint destinationEP

The resolved end point for the candidate.

| Improve this Doc View Source

toJSON()

Declaration
public string toJSON()
Returns
Type Description
System.String
| Improve this Doc View Source

ToShortString()

Gets a short description for the candidate that's helpful for log messages.

Declaration
public string ToShortString()
Returns
Type Description
System.String

A short string describing the key properties of the candidate.

| Improve this Doc View Source

ToString()

Serialises an ICE candidate to a string that's suitable for inclusion in an SDP session description payload.

Declaration
public override string ToString()
Returns
Type Description
System.String

A string representing the ICE candidate suitable for inclusion in an SDP session description.

Overrides
System.Object.ToString()
Remarks

The specification regarding how an ICE candidate should be serialised in SDP is at https://tools.ietf.org/html/draft-ietf-mmusic-ice-sip-sdp-39#section-5.1.

Implements

IRTCIceCandidate

Extension Methods

JSONWriter.ToJson(Object)
  • Improve this Doc
  • View Source
In This Article
Back to top Generated by DocFX