Show / Hide Table of Contents

Class ChecklistEntry

A check list entry represents an ICE candidate pair (local candidate + remote candidate) that is being checked for connectivity. If the overall ICE session does succeed it will be due to one of these checklist entries successfully completing the ICE checks.

Inheritance
System.Object
ChecklistEntry
Implements
System.IComparable
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)
System.Object.ToString()
Namespace: SIPSorcery.Net
Assembly: SIPSorcery.dll
Syntax
public class ChecklistEntry : IComparable

Constructors

| Improve this Doc View Source

ChecklistEntry(RTCIceCandidate, RTCIceCandidate, Boolean)

Creates a new entry for the ICE session checklist.

Declaration
public ChecklistEntry(RTCIceCandidate localCandidate, RTCIceCandidate remoteCandidate, bool isLocalController)
Parameters
Type Name Description
RTCIceCandidate localCandidate

The local candidate for the checklist pair.

RTCIceCandidate remoteCandidate

The remote candidate for the checklist pair.

System.Boolean isLocalController

True if we are acting as the controlling agent in the ICE session.

Fields

| Improve this Doc View Source

_cachedRequestTransactionIDs

Declaration
protected List<string> _cachedRequestTransactionIDs
Field Value
Type Description
System.Collections.Generic.List<System.String>
| Improve this Doc View Source

ChecksSent

The number of checks that have been sent without a response.

Declaration
public int ChecksSent
Field Value
Type Description
System.Int32
| Improve this Doc View Source

Default

The candidate pairs whose local and remote candidates are both the default candidates for a particular component is called the "default candidate pair" for that component. This is the pair that would be used to transmit data if both agents had not been ICE aware.

Declaration
public bool Default
Field Value
Type Description
System.Boolean
| Improve this Doc View Source

FirstCheckSentAt

Timestamp the first connectivity check (STUN binding request) was sent at.

Declaration
public DateTime FirstCheckSentAt
Field Value
Type Description
System.DateTime
| Improve this Doc View Source

LastCheckSentAt

Timestamp the last connectivity check (STUN binding request) was sent at.

Declaration
public DateTime LastCheckSentAt
Field Value
Type Description
System.DateTime
| Improve this Doc View Source

LocalCandidate

Declaration
public RTCIceCandidate LocalCandidate
Field Value
Type Description
RTCIceCandidate
| Improve this Doc View Source

RemoteCandidate

Declaration
public RTCIceCandidate RemoteCandidate
Field Value
Type Description
RTCIceCandidate
| Improve this Doc View Source

State

The current state of this checklist entry. Indicates whether a STUN check has been sent, responded to, timed out etc.

Declaration
public ChecklistEntryState State
Field Value
Type Description
ChecklistEntryState
Remarks

See https://tools.ietf.org/html/rfc8445#section-6.1.2.6 for the state transition diagram for a check list entry.

| Improve this Doc View Source

Valid

Gets set to true when the connectivity checks for the candidate pair are successful. Valid entries are eligible to be set as nominated.

Declaration
public bool Valid
Field Value
Type Description
System.Boolean

Properties

| Improve this Doc View Source

IsLocalController

Declaration
public bool IsLocalController { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

LastBindingRequestReceivedAt

Timestamp for the most recent binding request received from the remote peer.

Declaration
public DateTime LastBindingRequestReceivedAt { get; set; }
Property Value
Type Description
System.DateTime
| Improve this Doc View Source

LastConnectedResponseAt

If a candidate has been nominated this field records the time the last STUN binding response was received from the remote peer.

Declaration
public DateTime LastConnectedResponseAt { get; set; }
Property Value
Type Description
System.DateTime
| Improve this Doc View Source

LocalPriority

Declaration
public uint LocalPriority { get; }
Property Value
Type Description
System.UInt32
| Improve this Doc View Source

Nominated

Gets set to true if this entry is selected as the single nominated entry to be used for the session communications. Setting a check list entry as nominated indicates the ICE checks have been successful and the application can begin normal communications.

Declaration
public bool Nominated { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

Priority

The priority for the candidate pair:

  • Let G be the priority for the candidate provided by the controlling agent.
  • Let D be the priority for the candidate provided by the controlled agent. Pair Priority = 2^32MIN(G,D) + 2MAX(G,D) + (G>D?1:0)
Declaration
public ulong Priority { get; }
Property Value
Type Description
System.UInt64
Remarks

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

| Improve this Doc View Source

RemotePriority

Declaration
public uint RemotePriority { get; }
Property Value
Type Description
System.UInt32
| Improve this Doc View Source

RequestTransactionID

The transaction ID that was set in the last STUN request connectivity check.

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

TurnPermissionsRequestSent

Before a remote peer will be able to use the relay it's IP address needs to be authorised by sending a Create Permissions request to the TURN server. This field records the number of Create Permissions requests that have been sent for this entry.

Declaration
public int TurnPermissionsRequestSent { get; set; }
Property Value
Type Description
System.Int32
| Improve this Doc View Source

TurnPermissionsResponseAt

This field records the time a Create Permissions response was received.

Declaration
public DateTime TurnPermissionsResponseAt { get; set; }
Property Value
Type Description
System.DateTime

Methods

| Improve this Doc View Source

CompareTo(Object)

Compare method to allow the checklist to be sorted in priority order.

Declaration
public int CompareTo(object other)
Parameters
Type Name Description
System.Object other
Returns
Type Description
System.Int32
| Improve this Doc View Source

IsTransactionIDMatch(String)

Declaration
public bool IsTransactionIDMatch(string id)
Parameters
Type Name Description
System.String id
Returns
Type Description
System.Boolean

Implements

System.IComparable

Extension Methods

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