Share via


IUccIncomingSessionEvent.SourceType Property

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.

Get the type of the network from which the incoming session request originates.

Namespace: Microsoft.Office.Interop.UccApi
Assembly: Microsoft.Office.Interop.UccApi (in microsoft.office.interop.uccapi.dll)

Syntax

'Declaration
ReadOnly Property SourceType As UCC_SOURCE_NETWORK_TYPE
UCC_SOURCE_NETWORK_TYPE SourceType { get; }
property UCC_SOURCE_NETWORK_TYPE SourceType {
    UCC_SOURCE_NETWORK_TYPE get ();
}
/** @property */
UCC_SOURCE_NETWORK_TYPE get_SourceType ()
function get SourceType () : UCC_SOURCE_NETWORK_TYPE

Property Value

A value of the UCC_SOURCE_NETWORK_TYPE* (UCC_SOURCE_NETWORK_TYPE, for a .NET application) type.

Remarks

A local user receiving an invitation should know the origin of the inviting user in addition to the identity of the user. For example, a local user may interact differently with an OC user belonging to a public network than with an OC user from the same company. The SourceType property can be used to identify the remote user's network at the time a session invitiation is presented as well as the life of the session itself.

Win32 COM/C++ Syntax

HRESULT get_SourceType
(
   UCC_SOURCE_NETWORK_TYPE* penSourceType
);

Note

In a Win32 application, the return value of a method or property is always an HRESULT value indicating the status of the call to the interface member. Any result of the operation is returned as a parameter marked with the [out, retval] attribute. In contrast, in a .NET application the HRESULT value indicating an error condition is returned as a COM exception and the [out, retval] parameter becomes the return value. For the UCC API-defined HRESULT values, see Trace and Handle Errors in Unified Communications Client API.

Example

The following example handles OnIncomingSession by opening a client dialog which provides a user with the necessary mechanism to accept or reject an incoming session invitation. Upon user acceptance, the example accepts the invitation with call into Accept. The Session property of the pEventData object provides an instance of IUccSession that can be passed to an application class designed to encasulate a session.

/// <summary>
/// handles session invitations by displaying a dialog for
/// local user advising user of invitation and providing a mechanism
/// for the user to respond to the invitation
/// </summary>
/// <param name="pEventSource"></param>
/// <param name="pEventData"></param>
void OnIncomingSessionX(
    IUccEndpoint pEventSource,
    UccIncomingSessionEvent pEventData)
{

    DialogResult result;
    // First ask the user for permission to accept or decline the
    // pending invitation.

    string inviterId = pEventData.Inviter.Uri.UserAtHost;
    string sourceNetworkType = string.Empty;
    switch (pEventData.SourceType)
    {
        case UCC_SOURCE_NETWORK_TYPE.UCCSNT_COMPANY:
            sourceNetworkType = " the enterprise network";
            break;
        case UCC_SOURCE_NETWORK_TYPE.UCCSNT_FEDERATED_ENTERPRISE:
            sourceNetworkType = " a federated enterprise network";
            break;
        case UCC_SOURCE_NETWORK_TYPE.UCCSNT_FEDERATED_PUBLIC:
            sourceNetworkType = " a federated public network";
            break;
        case UCC_SOURCE_NETWORK_TYPE.UCCSNT_UNSPECIFIED:
            sourceNetworkType = "an unspecified network";
            break;
    }
    result = MessageBox.Show(
        this._PlatformManager.thisForm,
        "Accept incoming IM session from " +
        inviterId +
        " on " +
        sourceNetworkType +
        "?",
        "Incoming Session",
        MessageBoxButtons.YesNo);

    if (result != DialogResult.Yes)
    {
        // The user has said "no" to the invitation. Thus, rejected
        // the incoming session.
        pEventData.Reject(UCC_REJECT_OR_TERMINATE_REASON.UCCROTR_DECLINE);
        return;
    }
    IUccSession imSession = null;
    imSession = pEventData.Session;

    pEventData.Accept();
}

Thread Safety

All public static (Shared in Visual Basic) members of this type are thread-safe. Instance members are not guaranteed to be thread-safe.

Platforms

Development Platforms

Windows XP Professional with Service Pack 2 (SP2), Windows Server 2000 with Service Pack 4, Windows Server 2003, Windows Vista Ultimate Edition, Windows Vista Business Edition, Windows Vista Enterprise Edition

Target Platforms

See Also

Reference

IUccIncomingSessionEvent Interface
IUccIncomingSessionEvent Members
Microsoft.Office.Interop.UccApi Namespace