The SignalingSessiontype exposes the following members.

Constructors

  Name Description
SignalingSession Overloaded.

Methods

  Name Description
BeginAccept Overloaded.
BeginEstablish Overloaded.
BeginParticipate Overloaded.
BeginRefer Overloaded.
BeginRenegotiateDescription Overloaded.
BeginSendMessage Overloaded.
BeginSendReliableProvisionalResponse Overloaded.
BeginSetConnection
Sets the connection to use for the outgoing signaling session before calling Participate. The initial Invite for the session will use this connection instead getting the connection based on endpoint settings. This method can be used only for SipPeerToPeer endpoint. Signaling sessions for SipEndpoint will use the connection maintained by SipEndpoint. The transport specified for the connection should be as secure as the tranport needed to send the Invite or else the Participate method call may fail. IMPORTANT: This is an advanced API. To work properly, the application should call this method before every redirect as well. The RedirectReceived event call back handler in the application should use TryThis and call this method before returning.
BeginTerminate Overloaded.
EndAccept
Waits for the pending accept operation to complete.
EndEstablish
Waits for the pending establish operation to complete.
EndParticipate
Waits for the pending participate operation to complete.
EndRefer
Waits for the pending refer operation to complete.
EndRenegotiateDescription
Waits for the pending renegotiate operation to complete.
EndSendMessage
Waits for the pending SendMessage operation to complete.
EndSendReliableProvisionalResponse
Waits for the pending SendProvisionalResponse operation to complete.
EndSetConnection
Waits for the pending SetConnection operation to complete.
EndTerminate
Completes the pending Terminate operation.
Equals (Inherited from Object.)
Finalize (Inherited from Object.)
GetHashCode (Inherited from Object.)
GetType (Inherited from Object.)
MemberwiseClone (Inherited from Object.)
Participate Overloaded.
Refer Overloaded.
RenegotiateDescription Overloaded.
SendMessage Overloaded.
SendProvisionalResponse Overloaded.
SetConnection
Sets the connection to use for the outgoing signaling session before calling Participate. The initial Invite for the session will use this connection instead of getting the connection based on endpoint settings. This method can be used only for the SipPeerToPeer endpoint. Signaling sessions for SipEndpoint will use the connection maintained by SipEndpoint. The transport specified for the connection should be as secure as the tranport needed to send the Invite or else the Participate method call may fail. IMPORTANT: This is an advanced API. To work properly, the application should call this method before every redirect as well. The RedirectReceived event callback handler in the application should use TryThis and call this method before returning.
Terminate Overloaded.
TerminateWithRedirection Overloaded.
TerminateWithRejection
Terminates a session by rejecting the incoming invite. This method can be called only for an incoming session before participating in it.
ToString (Inherited from Object.)
TryCancelRenegotiateDescription Overloaded.

Properties

  Name Description
CallId
Gets the session ID.
Connection
Gets the connection used by this signaling session. For incoming sessions, this property can be used to determine the address of the inviter. For outgoing sessions, this property can be used to retrieve information about the connection used. This property can return null if the connection does not exist at the moment.
DesiredSessionTimerInterval
Gets or sets the application's desired session timer interval (in seconds). This is used only for the initial invite or response.
Endpoint
Gets the endpoint associated with the session.
FromTag
Gets the tag used in the "From" header. This property may return null if not available. For outgoing sessions, this property may not be available until the state is Alerted or Connected. For incoming sessions, the property may be available right away. This property can be null after the session is terminated. The application is responsible for caching the tag if it requires it after the session is disconnected.
Grid
Gets or sets the grid context for this session. If this property is set, the endpoint has GRUU, and the GRUU does not have grid, this grid value is added to GRUU in the contact header. This is useful to associate this grid with this specific session when the endpoint has GRUU, but no grid. The association should be done by the application.
IsIncoming
Gets whether the session was initially received from a remote endpoint.
IsSessionTimerSupported
Gets or sets the value indicating if the session supports a session timer. The default value of this property is inherited from the endpoint. An application can override this property per session. If the session is already using a session timer, this flag will only affect the behavior when the next session refresh occurs. If the flag is turned on after the session is connected, the application needs to call ReNegotiateMediaDescription to enable the session timer.
LocalParticipant
Gets the local participant of the session. This is helpful to get the URI of the local participant which can differ from the URI of the endpoint, particularly for incoming sessions.
MinimumSessionExpiresInterval
Gets the minimum session expires interval value (in seconds) currently used by this session.
OfferAnswerNegotiation
Gets or sets the offer answer negotiation callback interface implemented by the caller.
ReliableProvisionalResponsePolicy
Gets or sets the default policy for supporting 100rel extension feature. If an application supports this then the remote can ask for this when sending provisional responses which will result in PRACK message geting sent to acknowledge the response. An application should set this before sending Invite or else it may not have any effect.
RemoteParticipant
Gets the remote participant of the session.
SessionTarget
Gets the target of this session.
SessionTimerInterval
Gets the session timer interval (in seconds) currently used.
State
Gets the state of this session.
ToTag
Gets the tag used in the "To" header. This property might return null if not available. For both outgoing and incoming sessions, this property may not available until the session is connected. This property can be null after the session is terminated. The application is responsible for caching the tag if it requires it after the session is disconnected.

Events

  Name Description
InvitationAccepted
Raised when the remote has accepted the invite. Typically, this happens when a successful response is received. This event is optional for an application. Applications that want to send headers in the acknowledgement can register for this event.
InvitationCompleted
Raised when the invite process completes. Typically, this happens when the inviter acknowledges a successful response. This event is optional for an application. Applications that want to access headers in the acknowledgement can register for this event. Note that EndParticipate for the incoming side also exposes the Ack message. This event is provided for convenience.
MessageReceived
Raised when a message is received.
ProvisionalResponseReceived
Raised when the session received any provisional response (101-199).
Redirecting
Raised when a redirect request is received.
ReferReceived
Raised when a new Refer is received.
ReInviteReceived
Raised when the remote sends a re-invite. This event is optional for an application. Applications that want to access headers in the re-invite can register for this event.
RenegotiationToRefreshNeeded
Raised when the session is enabled for a session timer, the local endpoint is the refresher, and the remote does not support the UPDATE method. The application is responsible for calling BeginRenegotiateDescription to keep the session alive.
RequestOrResponseReceived
Raised when a request or response is received.
StateChanged
Raised when the state of the session changes.
TerminatedByRemote
Raised when the remote side terminates the session by sending a Bye or Cancel message. This event is optional for an application. This event is useful only if the application is interested in accessing the headers in the Bye or Cancel message for custom scenarios.

See Also