map protocol

MAP Protocol 

The full form of MAP is Mobile Application Part.  This is an application layer protocol of the SS7 protocol stack.  It uses the services of TCAP layer.  Map Protocol, provides the specifications for roaming, messaging and data. It have set of messages which carries the gsm level signaling parameters for a mobile to attach to the network and carries signaling required for roaming, voice and sms. Each map user identified by a SSN over SCCP layer. Following is the list of SSN for the MAP layer users.

HLR have SSN 6.
VLR have SSN 7 
MSC have SSN 8
SGSN have SSN 9

There are other nodes in ss7 using MAP which have SSN from the above list. E.g GMSC and SMSC uses SSN 8.

Map protocol primitives mapping with the TCAP messages:

MAP uses the services of TCAP layer.  Each of MAP primitives have corresponding TCAP messages. Same way each TCAP message provides indications to the MAP user.

List of primitives from map user to tcap messages.

                    MAP                       TCAP 
MAP_OPEN_REQUEST , this is the primitive used by the MAP user to start a new dialogue. The parameters are Calling SCCP address, Called SCCP address and Application context. Upon receiving MAP_OPEN_REQUEST,  TCAP layer creates a new dialogue locally.
MAP_SERVICE_REQUEST, this is used to send the actual map protocol operation to the TCAP layer. Upon receiving MAP_SERVICE_REQUEST, TCAP stores the map operation locally against the opened dialogue.
MAP_DELIMIT_REQUEST, this is used to send the message out to the network. Upon receiving MAP_DELIMIT_REQUEST, tcap layer sends the TCAP_BEGIN to the destination node, with the map operation. If this is received for an existing dialogue (no open), the TCAP_CONTINUE is sent to the network.
MAP_CLOSE Cleans the dialogue at TCAP layer and sends the TCP_END to the remote node.

List of primitives from tcap to map user messages.

    TCAP                 MAP User
TCAP_BEGIN, this the first message received from remote node for an incoming dialogue. MAP user gets MAP_OPEN_IND, MAP_SERVICE_INDICATION and MAP_DELIMIT_IND from map protocol layer.
TCAP_CONTINUE, it is for sending a MAP operation in an already existing dialogue. User gets MAP_SERVICE_INDICATION and MAP_DELIMIT_IND.

Map protocol call flow:

Map message flow depends on nodes using MAP protocol.  We can divide the message flow based on the services.

Roaming Service:

Send Authentication Info or SAI :

This is the fist messages which is triggered by roaming VLR/SGSN towards the HLR in HPLMN. HLR passes message to the AuC .  SAI map message have IMSI, requested number of vectors and node type.  If AuC have subscriber provisioned for IMSI,  AuC return the authentication vectors. Upon receiving vectors, UE comperes vector locally and if all successful then UE starts location update or GPRS location update. Depends UE registering on VLR or SGSN.

Location Update or LU :

VLR sends the map location update to the HLR. The location update message have IMSI, VLR Number, Supported Camel Phases and other parameters.  If a subscriber is provisioned and allowed to roam under the mentioned VLR, vlr  gets the subscription profile in Map ISD message.  This subscription profile is for voice and sms services. Details of subscription profile can be checked in HLR tutorial.

GPRS Location Update:

SGSN triggers the GPRS location update operation towards the HLR.  If subscriber is allowed for data then HLR sends the GPRS subscription profile to the SGSN.  Map Insert Subscriber data or ISD carries the GPRS profile. GPRS may be for 2G or 3G services. It depends on the Quality of service provided to the subscriber.

Purge MS:

When the roaming VLR or SGSN detects that there is no activity from long time for a subscriber. It deletes the subscriber data and sends the Purge MS to the HLR. HLR marks the subscriber as not active by setting a purge flag. Ant MT call or sms events are not successful.  Once again on location update , purge flag is cleared.

Messaging :

SMS or sms full form is short message service. It is the basic service provided by the GSM mobile operators. For SMS, gsm map protocol is used between SMSC  and other GSM nodes. Other elements are HLR and visited MSC.  Two types of messaging services are provided.  One is Mobile Originated Short Message service and other is Mobile Terminated short message service.

Mobile Originated SMS Call flow:

When a user sends a SMS.  Roaming MSC initiates the MO-ForwardSM map protocol message towards the SMSC in HPLMN. The SMSC address is stored in the mobile device. It is set when a sim card is inserted in the phone and phone attaches to the mobile network. Mobile operator may update the settings on the device over the network.  If the MO SMS does not work, then you need to call the customer care number to get the correct SMSC number.  SMSC stores the message, and then tries to deliver to the destination number.  A destination number may belongs to the same mobile operator or it may be to another operator. SMSC starts mobile terminated short message procedure, which is explained next.

Mobile Terminated SMS Call flow:

SMSC have the destination mobile number, for sending a message to the destination. But the location and IMSI should be known to the SMSC. For location SMSC does the send routing info procedure with the home location register.  It returns IMSI and Visiting MSC.  Smsc sends the MT Forwards short message to the visiting MSC. Message delivery result is send to the smsc.

Call Services :

The protocol have messages those are used voice calls over SS7 network.  When a subscriber dials another subscriber , there is a map lavel signaling to located the dialed subscriber to terminate the call.

Send routing info :

Once the GMSC receives the IAM ISUP message. GMSC sends the send routing info message to the HLR.   The send routing info response contains the MSRN number of the subscriber and roaming VLR/MSC information. GSMSC connects the call to the subscriber via roaming MSC/VLR. If there is an error gsmc gets error in response.

Other protocols similar to MAP protocol :


MAP protocol is standardize by the 3GPP for gsm. But there are other bodies , having other protocols for similar functionalities. One is IS-41 or ANSI-41. IS-41 means US Telecoms Industry Association Interim Standard 41.   IS-41 have nodes like HLR, VLR in network. Provides location registration and other services , similar to gsm map.  This brings to a new inter working function requirement. When gsm map subscriber moves to IS-41 , or a IS-41 subscriber  moves to GSM network. Inter-working function does conversion from IS-41 to gsm map and vice versa.


GSUP stands for generic subscriber update protocol, which is a  Osmocom-specific protocol.   Osmocom specific MSC/VLR/HLR/SGSN uses GSUP to communicate to each other. Similar to IS-41 , here a inter working function is also required, if a subscriber moves between gsm map and osmo based networks.


Leave a Comment

Your email address will not be published. Required fields are marked *