GMSC or Gateway Mobile Switching Centre
When a subscriber dials a number of another mobile subscriber. Based on country code and mobile network code (first few digits), call reaches to the home network of the called subscriber. Suppose an Airtel subscriber in India, dials a mobile number of TMobile USA. Then initial message for call setup reaches to the TMobile's home network in USA. This is a mobile terminated call for dialed number. Every home network have a node called GMSC for mobile terminated calls. Its part of GSM network. Having connections with all other MSCs, HLR and real time charging nodes.
Once GMSC receives a call, it queries to the HLR for the called subscriber. HLR returns response. Successful Response has to visit MSC. In turns, GMSC initiates the call to the visiting MSC. So there are two legs one incoming and another outgoing. GMSC do switching between these two legs.
GMSC may have voip or SS7 trunks for voice or media. For signalling SS7 or sigtran is used. Query with HLR is done over SS7 or Sigtran.
Charging in GMSC:
A call may be free or chargeable. In any case, the charging system should know the call details so that charging can be done from network and subscriber. May do the prepaid or postpaid charging.
In prepaid charging, an IN-based node is used called IN-SCP. Camel is the standard protocol used over SS7 for prepaid charging. The address of IN SCP is received in response on the query made by GMSC to route the mobile terminated call. When a call arrives, GMSC sends the trigger for the call. SCP sends back the response for continue of releasing the call. There are intermediate triggers also propagates towards the SCP.
For post paid charging it creates the call detail records, these records are used for billing to subscribers and other telecom carriers. Records are in standard formats so that the billing system can read and creates amount in the required currency.
Mobile Number Portability or MNP:
With the arrival of MNP. The serving HLR can not be determined from the mobile number. This requires access to MNP db. MNP db maps a mobile number to the currently serving HLR. GMSC needs to have access to the MNP db for querying to the correct HLR for a mobile terminated call.
Difference Between MSC and GMSC:
If we look at both, they have similar protocol stacks implemented. But GMSC is dedicated to the mobile terminated calls. It interacts with the HLR while MSC does not. MSC is in roaming network while GMSC is in home network.
A MNO have MSCs and GMSC, while MVNO have only GMSC.
MSC connects to the radio network, while gmsc does not.
Protocols used in GMSC :
SS7 or Sigtran, its the legacy protocol, GSM uses from long time. Roaming network does signaling over SS7.
INAP or Camel
GSM - MAP,
RTP for Voip