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), the call reaches the home network of the called subscriber. Suppose an Airtel subscriber in India, dials a mobile number of TMobile USA. Then the initial message for the call setup reaches TMobile’s home network in the USA.
This is a mobile terminated call for the dialed number. Every home network(HPLMN) has a node called GMSC for mobile terminated calls. It is part of the GSM network. Having connections with all other MSCs, HLR, and real-time charging nodes.
In turn, GMSC initiates the call to the visiting MSC. So there are two legs one incoming and another outgoing. GMSC does switching between these two call legs.
GMSC may have VOIP or SS7 trunks for voice or media. For signaling 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 the 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 to 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 that also propagate towards the SCP.
For postpaid 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 an 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 the roaming network(VPLMN) while GMSC is in the home network (HPLMN).
An MNO has MSCs and GMSC, while MVNO has only GMSC.
MSC connects to the radio network, while GMSC does not.