MAP User's Guide

Copyright © 2003-2005 Motivity Telecom Inc.

Version: 1.0

Authors: Vance Shipley (vances@motivity.ca).

The MAP application is a protocol stack implementation of the Mobile Application Part procedures.

Application

Requirements

This application includes only the MAP procedures and must be used with a seperate application providing the TCAP service. The tcap application may be used in conjunction with the sccp and nms applications for a complete system.

Process Communication

Figure 1-1 depicts the message paths between processes.

Figure 1-1
diagram of process communication

Modules

map

This library module implements the user API for the application.

map_sup

This supervisor behaviour callback module implements the top level supervisor for the application.

map_load_fsm

This gen_fsm behaviour callback module implements the load control process.

map_sap_sup

This supervisor behaviour callback module implements the service access point (SAP) supervisors.

map_pm_sup

This supervisor behaviour callback module implements the protocol machine (PM) supervisors.

map_dsm_dsm

This gen_fsm behaviour callback module implements the dialogue state machines (DSM).

map_psm_fsm

This gen_fsm behaviour callback module implements the performing state machines (PSM).

map_rsm_fsm

This gen_fsm behaviour callback module implements the requesting state machines (RSM).

Supervision Tree

The processes which make up the MAP application are all instantiated under a single supervisor. Figure 1-2 shows the structure of the supervision tree.

Figure 1-2
diagram of supervision tree

Common Primitives

MAP-User → MAP

{'MAP', 'OPEN', request, Parms}
{'MAP', 'CLOSE', request, Parms}
{'MAP', 'DELIMITER', request, Parms}
{'MAP', 'U-ABORT', request, Parms}

MAP ← MAP-User

{'MAP', 'OPEN', indication, Parms}
{'MAP', 'CLOSE', indication, Parms}
{'MAP', 'DELIMITER', indication, Parms}
{'MAP', 'U-ABORT', indication, Parms}
{'MAP', 'P-ABORT', indication, Parms}
{'MAP', 'NOTICE', indication, Parms}

GSM Primitives

MAP-User → MAP

{'MAP', 'UPDATE_LOCATION', request, Parms}
{'MAP', 'CANCEL_LOCATION', request, Parms}
...

MAP ← MAP-User

{'MAP', 'UPDATE_LOCATION', indication, Parms}
{'MAP', 'CANCEL_LOCATION', indication, Parms}
...

ANSI Primitives

MAP-User → MAP

{'MAP', 'REGNOT', request, Parms}
{'MAP', 'REGCANC', request, Parms}
...

MAP ← MAP-User

{'MAP', 'REGNOT', indication, Parms}
{'MAP', 'REGCANC', indication, Parms}
...