• Articles
  • Api Documentation
Search Results for

    Show / Hide Table of Contents
    • SipLib.Body
      • BodyParser
      • ContentTypes
      • MessageContentsContainer
      • MultipartBinaryBodyBuilder
      • SipBodyBuilder
    • SipLib.Channels
      • AcceptCertificateDelegate
      • AcceptConnectionDelegate
      • DscpSettings
      • LogInvalidSipMessageDelegate
      • LogSipRequestDelegate
      • LogSipResponseDelegate
      • Qos
      • SIPChannel
      • SIPConnection
      • SIPConnectionDisconnectedDelegate
      • SIPConnectionsEnum
      • SIPMessageReceivedDelegate
      • SIPTCPChannel
      • SIPTLSChannel
      • SIPUDPChannel
      • SipConnectionFailedDelegate
      • SipRequestReceivedDelegate
      • SipResponseReceivedDelegate
      • SipTransactionCompleteDelegate
      • WindowsQos
    • SipLib.Collections
      • ThreadSafeGenericList<T>
    • SipLib.Core
      • ByteBufferInfo
      • CallProperties
      • Crypto
      • HTTPDigest
      • IPSocket
      • SIPAuthenticationHeader
      • SIPAuthorisationDigest
      • SIPAuthorisationHeadersEnum
      • SIPCallInfoHeader
      • SIPConstants
      • SIPContactHeader
      • SIPEndPoint
      • SIPEscape
      • SIPFrag
      • SIPFromHeader
      • SIPGeolocationHeader
      • SIPHeader
      • SIPHeaders
      • SIPMessage
      • SIPMessageTypesEnum
      • SIPMethods
      • SIPMethodsEnum
      • SIPPaiHeader
      • SIPParameters
      • SIPPpiHeader
      • SIPProtocolsEnum
      • SIPProtocolsType
      • SIPReplacesParameter
      • SIPRequest
      • SIPResponse
      • SIPResponseStatusCodes
      • SIPResponseStatusCodesEnum
      • SIPRoute
      • SIPRouteSet
      • SIPSchemesEnum
      • SIPSchemesType
      • SIPToHeader
      • SIPURI
      • SIPUserField
      • SIPValidationException
      • SIPValidationFieldsEnum
      • SIPViaHeader
      • SIPViaSet
      • SipUtils
      • TypeExtensions
    • SipLib.Dtls
      • AlertLevelsEnum
      • AlertTypesEnum
      • DtlsClientUdpTransport
      • DtlsServerUdpTransport
      • DtlsSrtpClient
      • DtlsSrtpServer
      • DtlsSrtpTransport
      • DtlsUtils
      • IDtlsSrtpPeer
      • IPacketTransformer
      • ITransformEngine
      • NetConvert
      • RTCDtlsFingerprint
      • RawPacket
      • SrtcpCryptoContext
      • SrtpPolicy
      • SrtpTransformEngine
      • SrtpTransformer
    • SipLib.Logging
      • SipLogger
    • SipLib.Media
      • ALawDecoder
      • ALawEncoder
      • AudioDestination
      • AudioDestinationDelegate
      • AudioSampleData
      • AudioSamplesReadyDelegate
      • AudioSource
      • Band
      • DtmfDigitReceivedDelegate
      • FileAudioSource
      • G722Codec
      • G722CodecState
      • G722Decoder
      • G722Encoder
      • G722Flags
      • HighResolutionTimer
      • HighResolutionTimerDelegate
      • IAudioDecoder
      • IAudioEncoder
      • IAudioSampleSource
      • MediaPortManager
      • MediaPortSettings
      • MediaTypes
      • MsrpEncryptionEnum
      • MuLawDecoder
      • MuLawEncoder
      • PcmaDecoder
      • PcmaEncoder
      • PcmuDecoder
      • PcmuEncoder
      • PortRange
      • RtpEncryptionEnum
    • SipLib.Msrp
      • ByteRangeHeader
      • CpimMessage
      • MsrpCompletionStatus
      • MsrpConnection
      • MsrpConnectionStatusDelegate
      • MsrpMessage
      • MsrpMessageDeliveryFailedDelegate
      • MsrpMessageReceivedDelegate
      • MsrpMessageSentDelegate
      • MsrpMessageType
      • MsrpPathHeader
      • MsrpStatusHeader
      • MsrpStreamParser
      • MsrpTextMessageReceivedDelegate
      • MsrpUri
      • ReportReceivedDelegate
    • SipLib.Network
      • IpUtils
    • SipLib.RealTimeText
      • RttCharactersReceivedDelegate
      • RttParameters
      • RttReceiver
      • RttRtpSendDelegate
      • RttSender
    • SipLib.Rtp
      • ByePacket
      • DtlsHandshakeFailedDelegate
      • DtmfEventEnum
      • DtmfPacket
      • JitterStatistics
      • MeanOpinionScore
      • ReceiveStatisticsReadyDelegate
      • ReceiverReport
      • ReportBlock
      • RtcpCompoundPacket
      • RtcpHeader
      • RtcpPacketReceivedDelegate
      • RtcpPacketSentDelegate
      • RtcpPacketType
      • RtpChannel
      • RtpPacket
      • RtpPacketReceivedDelegate
      • RtpPacketSentDelegate
      • RtpReceiveStatistics
      • RtpUtils
      • SdesChunk
      • SdesItem
      • SdesItemType
      • SdesPacket
      • SenderInfo
      • SenderReport
    • SipLib.RtpCrypto
      • AesFunctions
      • CryptoAttribute
      • CryptoContext
      • CryptoSuites
      • InlineParams
      • MasterKeys
      • RocVals
      • RocValues
      • SRtpErrorsEnum
      • SRtpUtils
      • SessionKeys
      • SrtpDecryptor
      • SrtpEncryptor
      • SrtpLabelItem
      • SrtpTransformBase
    • SipLib.Sdp
      • ConnectionData
      • MediaDescription
      • MediaDirectionEnum
      • Origin
      • RtpMapAttribute
      • Sdp
      • SdpAnswerSettings
      • SdpAttribute
      • SdpUtils
      • SetupType
    • SipLib.Threading
      • QueuedActionWorkerTask
    • SipLib.Transactions
      • ClientInviteTransaction
      • ClientNonInviteTransaction
      • ServerInviteTransaction
      • ServerNonInviteTransaction
      • SipTimers
      • SipTransactionBase
      • SipTransport
      • TransactionRequestReceivedDelegate
      • TransactionResponseReceivedDelegate
      • TransactionStateEnum
      • TransactionTerminationReasonEnum
    • SipLib.Video
      • H264Depacketiser
      • H264Packetiser
      • H264Packetiser.H264Nal
      • H264RtpReceiver
      • H264RtpSender
      • RtpSendDelegate
      • RtpVP8Header
      • VP8RtpReceiver
      • VP8RtpSender
      • VideoRtpReceiver
      • VideoRtpSender

    Class SipTransactionBase

    Base class for SIP transactions. See Section 17 of RFC 3261.

    Inheritance
    object
    SipTransactionBase
    ClientInviteTransaction
    ClientNonInviteTransaction
    ServerInviteTransaction
    ServerNonInviteTransaction
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: SipLib.Transactions
    Assembly: SipLib.dll
    Syntax
    public class SipTransactionBase

    Constructors

    | Edit this page View Source

    SipTransactionBase(SIPRequest, IPEndPoint, SipTransactionCompleteDelegate?, SipTransport)

    Transaction base class constructor

    Declaration
    public SipTransactionBase(SIPRequest request, IPEndPoint remoteEndPoint, SipTransactionCompleteDelegate? transactionComplete, SipTransport TransportManager)
    Parameters
    Type Name Description
    SIPRequest request

    SIP request to send for client transactions or the request that was received for server transactions

    IPEndPoint remoteEndPoint

    Destination to send the request to for client transactions or the source of the request for server transactions

    SipTransactionCompleteDelegate transactionComplete

    Notification callback. May be null if a notification is not required..

    SipTransport TransportManager

    SipTransportManager that is managing this transaction

    Fields

    | Edit this page View Source

    CompletionSemaphore

    Semaphore to signal when a transaction is completed or terminated.

    Declaration
    protected SemaphoreSlim CompletionSemaphore
    Field Value
    Type Description
    SemaphoreSlim
    | Edit this page View Source

    LastSipResponseSent

    The most recent SIPResponse that was sent to a client if this transaction is a server transaction. Not used for client transactions.

    Declaration
    protected SIPResponse? LastSipResponseSent
    Field Value
    Type Description
    SIPResponse
    | Edit this page View Source

    MaxAttempts

    Maximum number of transmission attempts for a request

    Declaration
    protected const int MaxAttempts = 3
    Field Value
    Type Description
    int
    | Edit this page View Source

    NumAttempts

    Number of transmission attempts made so far

    Declaration
    protected int NumAttempts
    Field Value
    Type Description
    int
    | Edit this page View Source

    RemoteEndPoint

    Endpoint to send the request to if the transaction is a client transaction or the source of a request if the transaction is a server transaction.

    Declaration
    public IPEndPoint? RemoteEndPoint
    Field Value
    Type Description
    IPEndPoint
    | Edit this page View Source

    Request

    SIPRequest for the transaction.

    Declaration
    public SIPRequest? Request
    Field Value
    Type Description
    SIPRequest
    | Edit this page View Source

    RequestReceived

    Event that is fired when the transaction receives a SIP request.

    Declaration
    public TransactionRequestReceivedDelegate? RequestReceived
    Field Value
    Type Description
    TransactionRequestReceivedDelegate
    | Edit this page View Source

    RequestSentTime

    Time that the request was sent.

    Declaration
    protected DateTime RequestSentTime
    Field Value
    Type Description
    DateTime
    | Edit this page View Source

    ResponseReceived

    Event that is fired when the transaction receives a SIP response.

    Declaration
    public TransactionResponseReceivedDelegate? ResponseReceived
    Field Value
    Type Description
    TransactionResponseReceivedDelegate
    | Edit this page View Source

    State

    Current state of the transaction.

    Declaration
    protected TransactionStateEnum State
    Field Value
    Type Description
    TransactionStateEnum
    | Edit this page View Source

    StateLockObj

    Used by derived classes for locking the state variables

    Declaration
    protected object StateLockObj
    Field Value
    Type Description
    object
    | Edit this page View Source

    StateStartTime

    Time that the transaction entered the current state.

    Declaration
    protected DateTime StateStartTime
    Field Value
    Type Description
    DateTime
    | Edit this page View Source

    T1IntervalMs

    SIP T1 timer in milliseconds.

    Declaration
    protected int T1IntervalMs
    Field Value
    Type Description
    int
    | Edit this page View Source

    TransactionComplete

    Method to call when the transaction either completes or times out

    Declaration
    protected SipTransactionCompleteDelegate? TransactionComplete
    Field Value
    Type Description
    SipTransactionCompleteDelegate
    | Edit this page View Source

    TransactionStartTime

    Time that the transaction started.

    Declaration
    protected DateTime TransactionStartTime
    Field Value
    Type Description
    DateTime
    | Edit this page View Source

    m_transportManager

    Transport manager to use for sending messages

    Declaration
    protected SipTransport? m_transportManager
    Field Value
    Type Description
    SipTransport

    Properties

    | Edit this page View Source

    LastReceivedResponse

    Gets the last response received for a client transaction. Will be null if a response was never received.

    Declaration
    public SIPResponse? LastReceivedResponse { get; protected set; }
    Property Value
    Type Description
    SIPResponse
    | Edit this page View Source

    TerminationReason

    Gets the reason that the transaction was terminated.

    Declaration
    public TransactionTerminationReasonEnum TerminationReason { get; protected set; }
    Property Value
    Type Description
    TransactionTerminationReasonEnum
    | Edit this page View Source

    TransactionID

    Gets the TransactionID that uniquely identifies the transaction

    Declaration
    public string? TransactionID { get; protected set; }
    Property Value
    Type Description
    string
    | Edit this page View Source

    TransportManager

    Gets the SipTransportManager that is managing this transaction

    Declaration
    public SipTransport? TransportManager { get; }
    Property Value
    Type Description
    SipTransport

    Methods

    | Edit this page View Source

    GetClientTransactionID(SIPRequest)

    Calculates the TransactionID for a client transaction. See Section 17.1.3 of RFC 3261.

    Declaration
    protected static string GetClientTransactionID(SIPRequest request)
    Parameters
    Type Name Description
    SIPRequest request

    Request that was sent.

    Returns
    Type Description
    string

    Returns the TransactionID for the request.

    | Edit this page View Source

    GetClientTransactionID(SIPResponse)

    Calculates the TransactionID for a client transaction given the response. See Section 17.1.3 of RFC 3261. This method is used for calculating the transaction ID of a SIP response message so that it may be matched to an existing transaction.

    Declaration
    public static string GetClientTransactionID(SIPResponse response)
    Parameters
    Type Name Description
    SIPResponse response
    Returns
    Type Description
    string
    | Edit this page View Source

    GetServerTransactionID(SIPRequest)

    Gets the TransactionID for a server transaction. See Section 17.2.3 of RFC 3261.

    Declaration
    public static string GetServerTransactionID(SIPRequest request)
    Parameters
    Type Name Description
    SIPRequest request

    Request that was received

    Returns
    Type Description
    string
    | Edit this page View Source

    NotifyTransactionUser(SIPRequest, SIPResponse?, IPEndPoint)

    Notifies the transaction user that the transaction has either terminated or timed out.

    Declaration
    protected void NotifyTransactionUser(SIPRequest Request, SIPResponse? Response, IPEndPoint RemoteEndPoint)
    Parameters
    Type Name Description
    SIPRequest Request

    Request relating to the transaction

    SIPResponse Response

    Response that was received. May be null if a response was never received

    IPEndPoint RemoteEndPoint

    Remote endpoint for the transaction.

    | Edit this page View Source

    WaitForCompletionAsync()

    Asynchronously waits for the transaction to complete.

    Declaration
    public Task<SipTransactionBase> WaitForCompletionAsync()
    Returns
    Type Description
    Task<SipTransactionBase>
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX