M-Switch Operational Management (SOM) Client APIEnabling M-Switch Operational Management integration with 3rd Party Tools
Isode's approach to operational management is client/server, in M-Switch products this is implemented using the Switch Operational Management (SOM) architecture. Isode management tools are built over the SOM Client API, which is also available as a development kit.
The SOM Client API provides the ability to write SOM clients which can monitor and control one or more M-Switch servers. SOM is an Isode proprietary protocol and is only able to manage Isode M-Switch components. The Isode SOM API uses an object-oriented style, relying on arguments which are
- integers (either explicitly or as manifest constants)
- strings (whose length is passed as an integer)
- opaque objects (on which the API functions perform operations)
This approach facilitates support in multiple languages.
Core Functionality
The SOM Client API provides the following core functionality:
- Authenticated client access, using SASL, including X.509 based strong authentication using SASL EXTERNAL.
- Optional anonymous access.
- Optional data confidentiality using TLS.
- Authorization, with per user controls on services available (e.g., access to message content and envelope information).
- Log access, monitoring and searching.
- Queue status information and control at various levels:
- Overall queue
- Channel (inbound and outbound)
- Peer MTA and Peer MTA Group
- Recipient
- Association (inbound and outbound)
- Partially received message object
- Access to messages in the M-Switch queue.
- Deletion, redirection and other control operations on messages in the M-Switch queue.
- Access to messages in the message archive.
- Access to messages in the quarantine store, and ability to release messages
Programming Language Support
SOM API language bindings are available in C, Java and Tcl.
API Documentation
- Technical information on SOM and what is needed to use the API is available at Isode SOM User Guide
- Isode SOM API Specification (C)
- Isode SOM API Specification (Java)