This documentation is archived and is not being maintained.

Advanced Concepts

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.

Microsoft Unified Communications Managed API 2.0 Core SDK provides built-in support for two media types: audio and message. For many developers, no other media type is necessary. For developers whose applications require additional media types, the UCMA 2.0 Core SDK platform can be extended to work with the new, custom media types. Because these new media types are not present in the UCMA 2.0 Core SDK platform, they are considered platform extensions.

In the UCMA 2.0 Core SDK platform, the process where a factory class is used to create a variety of objects that share basic functionality, but have additional functionality that is tailored to specific media type constraints, is based on two concepts: call factory and media provider factory. The call factory and media provider factory concepts are represented in UCMA 2.0 Core SDK by the CallFactory and MediaProviderFactory abstract base classes, both of which inherit from the MediaBasedFactory abstract class. The UCMA 2.0 Core SDK platform uses subclasses of these types to create instances of the default call types, AudioVideoCall and InstantMessagingCall, as well as (internal) media provider instances for these call types. AudioVideoCall and InstantMessagingCall are classes that inherit from Call, an abstract class.

Third parties who intend to provide support for additional media types can do so by implementing Call, MediaProvider, and MediaFlow subclasses tailored to the media type they want to support, and then by implementing CallFactory and MediaProviderFactory subclasses that create instances of the Call and MediaProvider subclasses that match their new media type.

The following illustration shows the relationships between the abstract classes provided in UCMA 2.0 Core SDK and the classes that must be implemented by developers who wish to extend the UCMA 2.0 Core SDK platform to support new media types. The subclasses for the MediaBasedFactory, CallFactory, and MediaProviderFactory abstract classes appear in the second illustration.

Platform extension architecture


The topics in this section discuss minimum requirements for implementing subclasses of the abstract classes appearing in the previous illustration.