Internally, the CommuniGate Pro Server software uses an object-oriented data model. The model includes "simple" objects (such as strings, numbers, datablocks, timestamps, and other "atomic" objects), as well as "structured" objects (such as arrays and dictionaries). The same objects are used for CommuniGate Pro applications and APIs. The Data Formats section describes these data objects, and specifies their textual representations.
All Administration (provisioning, management, tuning, monitoring) functions of the CommuniGate Pro Server are available via the Network CLI interface. This simple, text-based TCP protocol is used to integrate the CommuniGate Pro system with various external systems, including provisioning and billing.
As all other protocols and modules, the CLI module is supported with the CommuniGate Pro SSI (Single Service Image) infrastructure, so a single CLI connection established with any Cluster member can be used to manage and control the entire Cluster. Actually, the SSI component itself uses the same CLI protocol for inter-cluster communications.
Some installations may require non-standard, complex, and/or heavily customized feature sets. The CommuniGate Pro system acts as an Application Server platform, implementing a very simple, but effective high-level CG/PL programming language. This language is used to create simple, yet powerful custom applications. CG/PL applications extend the standard CommuniGate Pro feature set without performance and reliability degradation usually associated with third-party application platforms. The same CG/PL language is used in different product components, the only difference is in the built-in function sets offered by each component. The CG/PL language uses the same data model as the internal product components.
The CommuniGate Pro services may employ certain functions not directly implemented in the product itself. Content-filtering (Anti-virus and Anti-Spam) products, spell-checkers, billing processors, and many other products (or "engines") can be integrated with the CommuniGate Pro Server using the Helpers mechanism.