Class SIPDialogue
See "Chapter 12 Dialogs" in RFC3261.
Inheritance
System.Object
SIPDialogue
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()
Assembly: SIPSorcery.dll
Syntax
Constructors
|
Improve this Doc
View Source
SIPDialogue()
Declaration
|
Improve this Doc
View Source
SIPDialogue(SIPRequest, String)
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.
Declaration
public SIPDialogue(SIPRequest nonInviteRequest, string toTag)
Parameters
Type |
Name |
Description |
SIPRequest |
nonInviteRequest |
|
System.String |
toTag |
|
|
Improve this Doc
View Source
SIPDialogue(UACInviteTransaction)
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.
Declaration
public SIPDialogue(UACInviteTransaction uacInviteTransaction)
Parameters
|
Improve this Doc
View Source
SIPDialogue(UASInviteTransaction)
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.
Declaration
public SIPDialogue(UASInviteTransaction uasInviteTransaction)
Parameters
|
Improve this Doc
View Source
SIPDialogue(String, SIPRouteSet, SIPUserField, SIPUserField, Int32, SIPURI, String, String, Guid, String, String, SIPEndPoint)
Declaration
public SIPDialogue(string callId, SIPRouteSet routeSet, SIPUserField localUser, SIPUserField remoteUser, int cseq, SIPURI remoteTarget, string localTag, string remoteTag, Guid cdrId, string sdp, string remoteSDP, SIPEndPoint remoteEndPoint)
Parameters
Type |
Name |
Description |
System.String |
callId |
|
SIPRouteSet |
routeSet |
|
SIPUserField |
localUser |
|
SIPUserField |
remoteUser |
|
System.Int32 |
cseq |
|
SIPURI |
remoteTarget |
|
System.String |
localTag |
|
System.String |
remoteTag |
|
System.Guid |
cdrId |
|
System.String |
sdp |
|
System.String |
remoteSDP |
|
SIPEndPoint |
remoteEndPoint |
|
Fields
|
Improve this Doc
View Source
DialogueState
Declaration
public SIPDialogueStateEnum DialogueState
Field Value
|
Improve this Doc
View Source
logger
Declaration
protected static ILogger logger
Field Value
Type |
Description |
Microsoft.Extensions.Logging.ILogger |
|
|
Improve this Doc
View Source
ReinviteDelay
Used as a flag to indicate whether to send an immediate or slightly delayed re-INVITE request
when a call is answered as an attempt to help solve audio issues.
Declaration
Field Value
Type |
Description |
System.Int32 |
|
Properties
|
Improve this Doc
View Source
BridgeId
Declaration
public Guid BridgeId { get; set; }
Property Value
Type |
Description |
System.Guid |
|
|
Improve this Doc
View Source
CallDurationLimit
Declaration
public int CallDurationLimit { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
|
Improve this Doc
View Source
CallId
Declaration
public string CallId { get; set; }
Property Value
Type |
Description |
System.String |
|
|
Improve this Doc
View Source
CDRId
Declaration
public Guid CDRId { get; set; }
Property Value
Type |
Description |
System.Guid |
|
|
Improve this Doc
View Source
ContentType
Declaration
public string ContentType { get; }
Property Value
Type |
Description |
System.String |
|
|
Improve this Doc
View Source
CSeq
Declaration
public int CSeq { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
|
Improve this Doc
View Source
DialogueName
Declaration
public string DialogueName { get; }
Property Value
Type |
Description |
System.String |
|
|
Improve this Doc
View Source
Direction
Indicates whether the dialogue was created by a ingress or egress call.
Declaration
public SIPCallDirection Direction { get; set; }
Property Value
|
Improve this Doc
View Source
Id
Declaration
public Guid Id { get; set; }
Property Value
Type |
Description |
System.Guid |
|
|
Improve this Doc
View Source
Inserted
Declaration
public DateTime Inserted { get; set; }
Property Value
Type |
Description |
System.DateTime |
|
|
Improve this Doc
View Source
LocalTag
Declaration
public string LocalTag { get; set; }
Property Value
Type |
Description |
System.String |
|
|
Improve this Doc
View Source
LocalUserField
Declaration
public SIPUserField LocalUserField { get; set; }
Property Value
|
Improve this Doc
View Source
ProxySendFrom
Declaration
public string ProxySendFrom { get; set; }
Property Value
Type |
Description |
System.String |
|
|
Improve this Doc
View Source
RemoteCSeq
Declaration
public int RemoteCSeq { get; set; }
Property Value
Type |
Description |
System.Int32 |
|
|
Improve this Doc
View Source
RemoteSDP
Declaration
public string RemoteSDP { get; set; }
Property Value
Type |
Description |
System.String |
|
|
Improve this Doc
View Source
RemoteSIPEndPoint
Declaration
public SIPEndPoint RemoteSIPEndPoint { get; set; }
Property Value
|
Improve this Doc
View Source
RemoteTag
Declaration
public string RemoteTag { get; set; }
Property Value
Type |
Description |
System.String |
|
|
Improve this Doc
View Source
RemoteTarget
Declaration
public SIPURI RemoteTarget { get; set; }
Property Value
|
Improve this Doc
View Source
RemoteUserField
Declaration
public SIPUserField RemoteUserField { get; set; }
Property Value
|
Improve this Doc
View Source
RouteSet
Declaration
public SIPRouteSet RouteSet { get; set; }
Property Value
|
Improve this Doc
View Source
SDP
Declaration
public string SDP { get; set; }
Property Value
Type |
Description |
System.String |
|
|
Improve this Doc
View Source
TransferMode
Declaration
public SIPDialogueTransferModesEnum TransferMode { get; set; }
Property Value
Methods
|
Improve this Doc
View Source
GetInDialogRequest(SIPMethodsEnum, SIPURI)
Builds a basic SIP request with the header fields set to correctly identify it as an
in dialog request. Calling this method also increments the dialog's local CSeq counter.
This is safe to do even if the request does not end up being sent.
Declaration
public SIPRequest GetInDialogRequest(SIPMethodsEnum method, SIPURI target = null)
Parameters
Type |
Name |
Description |
SIPMethodsEnum |
method |
The method of the SIP request to create.
|
SIPURI |
target |
Optional. If set this will be set as the in-dialog request URI instead of
the dialogue's remote target field. The primary purpose of setting a custom target is to allow
an application to attempt to deal with IPv4 NATs.
|
Returns
Type |
Description |
SIPRequest |
An in dialog SIP request.
|
|
Improve this Doc
View Source
Hangup(SIPTransport, SIPEndPoint, SIPURI)
Generates a BYE request for this dialog and forwards it to the remote call party.
This has the effect of hanging up the call.
Declaration
public void Hangup(SIPTransport sipTransport, SIPEndPoint outboundProxy, SIPURI target = null)
Parameters
Type |
Name |
Description |
SIPTransport |
sipTransport |
The transport layer to use for sending the request.
|
SIPEndPoint |
outboundProxy |
Optional. If set an end point that the BYE request will be directly
forwarded to.
|
SIPURI |
target |
Optional. If set this will be set as the in-dialog request URI instead of
the dialogue's remote target field. The primary purpose of setting a custom target is to allow
an application to attempt to deal with IPv4 NATs.
|
Extension Methods