When building a complex messaging system, there is often a requirement to integrate X.400 messaging services with other messaging or telematic services. For example integration of a military X.400 system with ACP127 Messaging, integration of an air traffic messaging system based on the AMHS standard with legacy AFTN Messaging or integration of a messaging system with facsimile or telex services. Isode offers an X.400 Gateway API suitable for all of these applications.


The Isode X.400 Gateway API is available for Java or as a simple 'C' programmatic interface to connect external messaging or telematic services to X.400. This API is suitable for aviation, military or EDI applications. This product was originally developed for the aviation industry and has features specifically designed for AMHS vendors building solutions for the aviation industry, in developing ground to ground applications that operate over AMHS, and for integrating AMHS applications with the AFTN network.

Isode also provides a set of Isode specified extensions to this API, described in this document, to deal with two things:

  1. STANAG 4406 Military Messaging extensions to X.400.
  2. File Transfer Body Part (FTBP) support. This important X.400 feature is not covered in the standard API

The Isode X.400 Gateway API provides a simple and easy to use abstractions of X.400. Although the X.400 complexity is abstracted, the API is designed so that all X.400 services can be selected and modified if required. The API shares some common functionality with the Isode X.400 Client API product family.

Architecture

The X.400 Gateway API and AMHS Gateway APIs are co-resident with M-Switch X.400. This is primarily intended for building gateways, which require access to X.400 (message transfer) service elements which are not available over P3 or P7. This architecture could be used for client X.400 applications, although Isode does not recommend this.

This API is a synchronous API, which is designed to be used with a multi-threaded process, and a process may have multiple associations. Each association should only be accessed by a single thread. Multiple processes may be run in parallel using this interface.

API Definition

  • The Isode manual, describing all of the Isode messaging APIs is here.
  • The 'C' language Isode Gateway API definitions are available here and example programs are available here.
  • The Java language Isode Gateway API definitions are available here and example programs are available here.
  • Examples of the Tcl language Isode Gateway API are in the product release notes and are described here.