C# Class SIPSorcery.SIP.SIPDialogue

See "Chapter 12 Dialogs" in RFC3261.
The standard states that there are two independent CSeq's for a dialogue: one for requests from the UAC and for requests from the UAS. In practice it's been noted that is a UAS (initial UAS) sends an in-dialogue request with a CSeq less than the UAC's CSeq it can cause problems. To avoid this issue when generating requests the remote CSeq is always used.
Show file Open project: sipsorcery/sipsorcery Class Usage Examples

Public Properties

Property Type Description
DialogueState SIPDialogueStateEnum

Protected Properties

Property Type Description
logger ILog
m_CRLF string
m_sipVersion string

Public Methods

Method Description
Hangup ( SIPTransport sipTransport, SIPEndPoint outboundProxy ) : void
SIPDialogue ( ) : System
SIPDialogue ( SIPRequest nonInviteRequest, string owner, string adminMemberId, string toTag ) : System

This constructor is used to create non-INVITE dialogues for example the dialogues used in SIP event interactions where the dialogue is created based on a SUBSCRIBE request.

SIPDialogue ( UACInviteTransaction uacInviteTransaction, string owner, string adminMemberId ) : System

This constructor is used by client user agents or SIP elements acting in a client user agent role. When acting as a client user agent the local fields are contained in the From header and the remote fields are in the To header.

SIPDialogue ( UASInviteTransaction uasInviteTransaction, string owner, string adminMemberId ) : System

This constructor is used by server user agents or SIP elements acting in a server user agent role. When acting as a server user agent the local fields are contained in the To header and the remote fields are in the From header.

SIPDialogue ( string callId, SIPRouteSet routeSet, SIPUserField localUser, SIPUserField remoteUser, int cseq, SIPURI remoteTarget, string localTag, string remoteTag, Guid cdrId, string owner, string adminMemberId, string sdp, string remoteSDP ) : System

Private Methods

Method Description
GetByeRequest ( SIPEndPoint localSIPEndPoint ) : SIPRequest
GetRemoteTargetProtocol ( ) : SIPProtocolsEnum

Method Details

Hangup() public method

public Hangup ( SIPTransport sipTransport, SIPEndPoint outboundProxy ) : void
sipTransport SIPTransport
outboundProxy SIPEndPoint
return void

SIPDialogue() public method

public SIPDialogue ( ) : System
return System

SIPDialogue() public method

This constructor is used to create non-INVITE dialogues for example the dialogues used in SIP event interactions where the dialogue is created based on a SUBSCRIBE request.
public SIPDialogue ( SIPRequest nonInviteRequest, string owner, string adminMemberId, string toTag ) : System
nonInviteRequest SIPRequest
owner string
adminMemberId string
toTag string
return System

SIPDialogue() public method

This constructor is used by client user agents or SIP elements acting in a client user agent role. When acting as a client user agent the local fields are contained in the From header and the remote fields are in the To header.
public SIPDialogue ( UACInviteTransaction uacInviteTransaction, string owner, string adminMemberId ) : System
uacInviteTransaction UACInviteTransaction
owner string
adminMemberId string
return System

SIPDialogue() public method

This constructor is used by server user agents or SIP elements acting in a server user agent role. When acting as a server user agent the local fields are contained in the To header and the remote fields are in the From header.
public SIPDialogue ( UASInviteTransaction uasInviteTransaction, string owner, string adminMemberId ) : System
uasInviteTransaction UASInviteTransaction
owner string
adminMemberId string
return System

SIPDialogue() public method

public SIPDialogue ( string callId, SIPRouteSet routeSet, SIPUserField localUser, SIPUserField remoteUser, int cseq, SIPURI remoteTarget, string localTag, string remoteTag, Guid cdrId, string owner, string adminMemberId, string sdp, string remoteSDP ) : System
callId string
routeSet SIPRouteSet
localUser SIPUserField
remoteUser SIPUserField
cseq int
remoteTarget SIPURI
localTag string
remoteTag string
cdrId Guid
owner string
adminMemberId string
sdp string
remoteSDP string
return System

Property Details

DialogueState public property

public SIPDialogueStateEnum DialogueState
return SIPDialogueStateEnum

logger protected static property

protected static ILog logger
return ILog

m_CRLF protected static property

protected static string m_CRLF
return string

m_sipVersion protected static property

protected static string m_sipVersion
return string