UCMA 3.0 Core Implementation Architecture and Application Behavior
This section is intended for application developers who use the Microsoft Unified Communications Managed API (UCMA) 3.0, and discusses general platform behavior that is expected across various components. The topics in this section discuss guidelines that developers can use to properly create application code and identify code defects when correct behavior is not observed. These guidelines have been followed in the development of the UCMA 3.0, with the goal of improving the quality of the platform by ensuring a consistent behavior across various components. These guidelines are also intended to make it easier for an application developer to implement the desired functionality, knowing that the platform guarantees a specific set of behaviors.
The UCMA 3.0 exposes a variety of concepts in the API, such as platform, endpoint, conversation, call, conference session, MCU session, and media flow. All of these components expose asynchronous methods and events. An application can invoke these methods and register for the events that are raised. The UCMA 3.0 uses thread-pool worker threads to make callbacks or to raise events. Typically, queues are used for raising events and for method completion callbacks. The topics in this section discuss issues for which the application can expect certain intended behavior. Some issues are discussed in more than one of the following topics, under different categories. This is done explicitly to make them easier to find.
These behaviors apply only to the UCMA 3.0 and may not be honored by the underlying signaling layer. The signaling layer is also accessible to an application that uses the UCMA 3.0.
The following topics are contained in this section: