The OTF Kernel is a modular building block that includes the system-services and framework for a distributed client-server system. As a client-server system, OTF is scalable to virtually unlimited system size since it provides seamless expansion in two critical dimensions: PCs and client applications in the client dimension and PCs and resources in the server dimension. The benefits of this architecture have the potential of moving the open-communications industry to a new level by supporting multi-vendor applications and scalability to support system capacities in the tens-of-thousands of ports. While it is true that client-server systems have more “moving parts” than a single-PC monolithic system, application profiles effectively separate the added complexity of resource specification from the system developer, if desired.
As a modular building block, OTF Kernel does not include the S.100 “resource APIs” (except as example code) or any vendor-specific “Service Provider Interfaces” (SPIs), making it truly independent. It is the responsibility of the system- resource vendor to develop OTF Resource Service Managers (RSMs) for each resource, unless Commetrex’ or third-party OTF-compatible resources are used. RSMs expose the resource’s functionality to OTF’s client applications. S.100 resource APIs for client applications may also be furnished by independent developers.
The ECTF’s S.300 specification (once approved) specifies a resource-specific API between the “server” and the resource-vendor’s software. But the process of specification limits the functionality of the resource. Moreover, the S.300 model has the “server vendor” producing the resource API, removing control of the client API from the resource vendor. Commetrex solves this problem by giving the OEM the facilities to add both the RSM and the resource API. As long as the same developer controls both, there is no need for a published specification. This approach eliminates the need for S.300 and puts control where it belongs–in the hands of the OEM.
Commetrex offers OTF Kernel extensions to support voice, fax, data, VoIP, and FoIP. The OTF Kernel user may use these or resource extensions provided by others or developed by the licensee. This resource independence makes OTF the industry’s only multi-vendor integrating platform.
The diagram on the previous page shows the relationship between OTF and Commetrex- provided media-processing resources. (Third-party resources are also “behind” the RSM.) Commetrex’ system resources are based on the MSP Media Gateway DSP resource boards, the MSP Consortium M.100- compatible OpenMedia environment for media portability, and the Power Series of media technologies. Host-based signal processing of call streams is also available in Commetrex’ BladeWare product.
S.100 specifies APIs that give access to system services and media-processing and stream-switching resources. But to understand how S.100 supports multi-vendor applications through resource sharing requires an understanding of S.100’s Group Manager.
The Group Manager provides a facility that tokenizes system resources and the grouping of those resources into the configurations necessary to perform work for client applications (Resource Groups). OTF Kernel provides a mechanism for resource providers to offer resources to the Group Manager for allocation to client applications and configuration into groups. Applications can then use the resources, returning them to the resource pool for use by other applications when they are no longer needed.
OTF Kernel includes the system services defined in S.100 that constitute the core services of a digital- media system. They include
- Session/Event Manager
- Group Manager
- Connection Manager
- Container Manager
- System Call Router
- Key Value Sets
- Configuration Management
The OTF Kernel Session Manger is used by all OTF-Addressable Entities (OAEs) to register with the OTF Kernel. If authenticated, the client’s Application Interface Adapter (AIA) receives a resource profile that includes the addresses of the resource providers, which are then used by the AIA to communicate with the assigned resources transparently to the client application. Once registered, an OAE can participate in OTF communications via the OTF Transport.
An S.100 “Group” is an object that presents a unified interface for allocation, configuration, interconnection, and hand-off between system entities of the resources needed to perform digital- media functions. The resource that represents a media stream is the “Call Channel Resource” (CCR). An example of a group for a play-message function is a CCR, a “player”, and a “Signal Detector” to detect touch-tones. Groups may be explicitly reserved by an application or they may be implicitly reserved by invoking a higher-level function. The Switch Port Resource (SPR) is used to abstract a switch-fabric (either packet or TDM) connection.
OTF Connection Management
The OTF Connection Manager is exposed to the application through the Group Manager API. It gives the application an easy-to-use facility to switch and interconnect calls from one party to another, to monitor two other parties, and to control Conferencing Resources, if available.
In the traditional model, stream switching is controlled through vendor-specific switch control and signaling. For example, a line interface from one vendor may use channel-associated signaling while another uses a host-based call-control protocol. In a basic S.100 system, each vendor presents significant complications, forcing the OEM towards a single-vendor approach.
However, OTF includes switch-fabric-specific Transport Domain Controllers (TDCs) that are responsible for implementing connection commands from the Connection Manager. The TDCs (e.g. H.100 TDC, packet TDC) are then responsible for sending the connection command to the appropriate RSM via an open TDC-RSM protocol.
The Connection Management subsystem is extensible by the OEM with the CM SDK that supports the creation of proprietary TDCs and Switch Managers.
“The S.100 Container Manger and its client API provide an operating system-independent mechanism for the storage and interchange of
system data between system services, resources, and the application.” A “container” is an object made up of data, usually media data, and a set of attributes. The S.100 Container Manager extends the functionality usually found in file systems with features required by Resources to manipulate media data in a convenient manner.
The OTF Container Manager SDK includes APIs that allow the system developer to add support for additional media and mass-storage devices. As shown above, the Container Manager System includes Data Object Managers (DOMs), such as the Spatial Media DOM for fax, that contain media-specific knowledge, and Mass Storage Media Managers that encapsulate the storage- system-specific functions. This means the OEM can extend the OTF CM system along both dimensions. In addition, the CM subsystem includes a low-level API that allows resource subsystems to access media data through a low- overhead mechanism.
System Call Router
The System Call Router (SCR) shields the application from the details of the Connection and Group Managers and the need to be aware of any vendor-specific call control. If provides API functions such as answer, make, and disconnect call, greatly simplifying the routine placement of outbound call and accepting inbound calls in traditional CT applications.
The SCR does not include any resource-specific call-control function. Instead, the SCR communicates with “Call Control Subsystems” located in the resource-specific Resource Service Manager (RSM) using an open protocol between the two subsystems. The OTF SCR Software Developer’s Kit (SDK) includes the necessary DLLs and documentation to allow the OEM to extend the SCR to support additional network interfaces.
Key Value Sets
OTF operates by sending messages with all manner of payloads between system components. The basic information element used for this purpose in S.100 is a Key Value Set (KVSet). A KVSet is a set of Key Value Pairs (KVPairs) of unordered information elements. Each value is associated with a Key. KVSets are used to represent function arguments, attributes, parameters, events, message payloads, and many other information elements. The S.100 specification provides a full set of functions for creating, destroying, and manipulating KVSets that are fully supported by OTF.
OTF Administration Facility (OAF)
With its distributed client-server architecture, OTF is a network of cooperative applications that must be managed as a system. With its scalability, OTF may be extended to both enterprise and service- network scale, making effective system management essential. The OTF Administration Facility meets this requirement.
The OAF is a browser-based administration facility, extensible by the OEM using the OAF SDK, that provides for configuration, operation, management, logging, and fault isolation and correction. OAF is used as is by the majority of OTF OEMs. But the SDK allows the OEM to develop a new or augmented facility to meet a particular requirement. Naturally, resource and system service vendors will use the SDK to create proprietary interfaces, APIs or communication protocols.
The SDK includes an OAF API that offers the OEM a standardized, but not required, interface to the OAF managed-entity agent. This entity is included in every Commetrex-developed OTF addressable entity as a standardized starting point for entity-specific management. The OAF Agent implements all of the standardized information elements and responses the OAF assumes. The developer then adds custom extensions.
All system entities authenticated by the OTF Authentication Server are addressable by the system and any other OTF Addressable Entity (OAE). The OTF Transport includes a Berkeley Sockets API that isolates OAEs from the specifics of the underlying transport, which is typically TCP/IP. In addition to the TCP/IP signaling channel, the OTF Transport includes a low-overhead bearer facility that is used to move bulk data, such as voice and fax between storage and media-processing resources.
During session establishment the Kernel issues an authorization profile to the Application Interface Adapter (AIA), a DLL that communicates with the Kernel on behalf of the client application. The profile includes the address of entities with which the application is authorized to communicate. This scheme supports the transparent provisioning and use of application services located on secondary servers on the same or other computers.
OTF Kernel SDK, Product Number 20110 – This SDK is provided for the OEM that needs the capability to extend the functionality of OTF. It includes the following SDKs:
- System Service SDK
- Container Manager SDK
- OAF SDK
- RSM SDK
- SCR/TDC SDK
OTF for MSP SDK, Product Number 20070 – This SDK is provided for the application-level developer that intends to use Commetrex’ OTF-compatible resources, such as PowerVox, PowerFax and PowerCall.
MSP Media Gateway DSP-Resource Boards – The MSP product line includes the MSP-H8, targeting the 2-16-port application, and the MSP-320, targeting 16 lines and up.
PowerCall – PowerCall adds signal detection/generation and in-band call-progress analysis to an MSP Media Gateway resource board. Licenses are sold on a maximum-concurrent-port basis. The PowerCall SDK is a prerequisite for the PowerCall runtime licenses. (This is the case for all PowerMedia.)
PowerVox – PowerVox adds S.100-conforming Player/Recorder capability. It includes G.711 and G.726.
PowerFax – PowerFax adds S.100-conforming Fax Send/Fax Receive resources. PowerFax includes Commetrex industry-leading T.30 protocol engine and Image Conversion Library.
PowerRelay – PowerRelay adds fax-over-packet capability to an MSP-320. It includes T.38 for fax over IP and I.366.2 for fax over ATM.
PowerVoIP – PowerVoIP adds packet-based voice to an OTF/MSP Media Gateway system. It includes G.711, G.726, G.729a/b, and G.723.1.
OpenMedia – OpenMedia is Commetrex MSP Consortium M.100-conforming media-processing software framework. An OpenMedia runtime license is required for each MSP board that will be used in conjunction with Commetrex’ media technologies. The OpenMedia SDK is needed for the addition of media technologies to an MSP board that is not provided by Commetrex. The OpenMedia SDK is needed to add licensee or third- party media technologies to an OpenMedia environment.
H.323 Resource Service Manager – The H.323 RSM adds H.323 V4-conformant call control and signaling to the OTF Kernel.
SIP Resource Service Manager – The SIP RSM adds oSIP call control and signaling to the OTF Kernel.
- PowerCALL SDK Product #20005
- PowerVOX SDK Product #20006
- PowerFAX SDK Product #20003