Mobile and Wireless Communications: Key Technologies and Future Applications

The term 'network API' has a variety of interpretations. The focus of this chapter will be on interfaces designed for third party application developers to use capabilities in public scale networks. This is the commonly accepted term in the Parlay Group [1] or Open Service Architecture [2] (OSA) community. In this context a network API is a specification of a programmatic interface that can, when implemented, be used to access various network capabilities or data. The emphasis is on a specification that a programmer can use and understand. In the simplest case this might mean a Java or C++ language specification. However, abstract interface descriptions such as unified modelling language (UML) and interface definition language (IDL) are also used for the specification because they are independent from specific programming languages. The trade-off is that the interface description must be translated into each required programming language. Additionally, because network APIs are usually presumed to be distributed, the on-the-wire protocols must be treated in a consistent way between clients and servers if interoperability is to be achieved using the API specification. Example distribution protocols are Internet interoperability protocol [3] (IIOP) or simple object access protocol [4] (SOAP).
A network API describes a set of methods or procedures that can be called to perform a network action or retrieve network data. Typical examples from the OSA /Parlay 4.0 specification are to manipulate call-legs of a circuit-switched call or to return the network determined status...