• 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

    Namespace SipLib.Core

    Core classes for building and parsing SIP messages.

    The main classes in the SipLib.Core namespace are:

    1. SIPMessage
    2. SIPRequest
    3. SIPResponse
    4. SIPHeader
    5. Classes for each type of SIP header (SIPFrom, SIPTo, etc.)

    The SIPMessage class is the base class for the SIPRequest (representing a SIP request message) and the SIPResponse (representing a SIP response message) classes. The SIPMessage class contains SIP headers and optionally a SIP message body. The Header field of a SIPMessage is a SIPHeader object that contains fields for the SIP headers. Each type of SIP header is represented by a unique class. For example, the SIPFromHeader class is used to manage a SIP From header. The SIPMessage class contains methods and properties for accessing the contents of the body of a SIP message if one is present.

    When building applications that receive and process SIP message, it is generally not necessary to programmatically parse raw messages received via the network because message parsing is handled by classes contained in the SipLib.Channels and SipLib.Transactions namespaces.

    The SipUtils class in the SipLib.Core namespace is a static class that provides various helper methods for building SIP messages and for extracting various information from SIP messages.

    Classes

    ByteBufferInfo

    Class for parsing a buffer of bytes

    CallProperties

    Class that provides various static utility functions relating to call properties

    Crypto

    Class containing various cryptography utilities

    HTTPDigest

    Class for processing an HTTP digest

    IPSocket

    Class containing various utility functions for sockets.

    SIPAuthenticationHeader

    Class for the SIP WWW-Authenticate and Authorization headers

    SIPAuthorisationDigest

    Class for the SIP authorization digest

    SIPCallInfoHeader

    Class for a SIP Call-Info header. See Sections 20.9 and 25.1 of RFC 3261.

    SIPConstants

    Defines various constants used for SIP

    SIPContactHeader

    Class for building or parsing a SIP Contact header. See Section 20.10 and page 228 of RFC 3261.

    SIPEndPoint

    This class is a more specific version of the SIPURI class BUT is only concerned with the network and transport properties. It contains all the information needed to determine the remote end point to deliver a SIP request or response to.

    This class must remain immutable otherwise the SIP stack can develop problems. SIP end points can get passed amongst different servers for logging and forwarding SIP messages and a modification of the end point by one server can result in a problem for a different server. Instead a new SIP end point should be created wherever a modification is required.

    SIPEscape

    Static class that contains various methods for escaping and unescaping reserved characters in various parts of SIPURIs, SIP headers, SIP parameters, etc.

    SIPFrag

    Class for parsing or creating a SIPFRAG (SIP Fragment) body use in a NOTIFY request for a Refer subscription. See Section 2.4.5 of RFC 3515.

    SIPFromHeader

    The From header only has parameters, no headers. Parameters of from ...;name=value;name2=value2. Specific parameters: tag.

    SIPGeolocationHeader

    Class for a SIP Geolocation header as defined in RFC 6442.

    SIPHeader

    Class for handling the SIP headers portion of a SIP request or a SIP response message.

    SIPHeaders

    Definitions for SIP Header fields.

    SIPMessage

    Represents an entire SIP message. This is the base class for the SIPRequest and the SIPResponse classes.

    SIPMethods

    Class for mapping SIP method string to SIPMethodsEnum values

    SIPPaiHeader

    Class for the SIP P-Asserted-Identity header.

    SIPParameters

    Represents a series of name value pairs that are optionally included in SIP URIs and also as an additional optional setting on some SIP Headers (Contact, To, From, Via). This class also treats the header value of a SIP URI as a special case of a SIP parameter. The difference between a parameter and a SIP URI header is the start and delimiter characters used.

    SIPPpiHeader

    Class for the SIP P-Preferred-Identity header.

    SIPProtocolsType

    Helper functions for dealing with tranport protocols

    SIPReplacesParameter

    Class for the Replaces parameter of a Refer-To header field. The Replaces parameter is used to identify involved in a transfer operation.

    SIPRequest

    Class for a SIP request message.

    SIPResponse

    Class for a SIP Response message

    SIPResponseStatusCodes

    SIP response status codes functions

    SIPRoute

    The SIPRoute class is used to represent both Route and Record-Route headers.

    SIPRouteSet

    Class for managing a SIP Route set

    SIPSchemesType

    Helper functions for dealing with SIP schemes

    SIPToHeader

    Class for handling a SIP To header

    SIPURI

    Implements the SIP URI concept from the SIP RFC3261. This class also handles URIs for http, https, ws, wss, msrp, msrps and im schemes.

    SIPUserField

    Class for parsing and building the user field of a SIP URI.

    SIPValidationException

    Exception class for SIP validation errors

    SIPViaHeader

    The Via header only has parameters, no headers. Parameters of from ...;name= value;name2=value2 Specific parameters: ttl, maddr, received, branch.

    From page 179 of RFC3261: "Even though this specification mandates that the branch parameter be present in all requests, the BNF for the header field indicates that it is optional."

    The branch parameter on a Via therefore appears to be optionally mandatory?!

    Any SIP application element that uses transactions depends on the branch parameter for transaction matching. Only the top Via header branch is used for transactions though so if the request has made it to this stack with missing branches then in theory it should be safe to proceed. It will be left up to the SIPTransaction class to reject any SIP requests that are missing the necessary branch.

    SIPViaSet

    Class for managing a list of SIPViaHeader objects

    SipUtils

    Static class containing various SIP related utility functions.

    TypeExtensions

    Type extensions used in this class library

    Enums

    SIPAuthorisationHeadersEnum

    Enumeration of SIP authorization/authentication header types

    SIPMessageTypesEnum

    Message types for SIP

    SIPMethodsEnum

    Enumeration of all of the methods for a SIP request.

    SIPProtocolsEnum

    Enumeration that defines the transport protocols used for SIP

    SIPResponseStatusCodesEnum

    Enumeration of SIP response status codes

    SIPSchemesEnum

    Enumeration of the different URI schemes that the SIPURI and other classes must handle.

    SIPValidationFieldsEnum

    Enumeration of SIP validation fields

    • Edit this page
    In this article
    Back to top Generated by DocFX