The Rhino VoLTE TAS requires configuration of how it determines whether addresses are international and/or roaming on the home network.
How it works
The Rhino VoLTE TAS determines if a session is roaming and if it represents an international call based on:
-
the location of the calling party, and
-
the destination address.
Determining international status
The Rhino VoLTE TAS uses the home network configuration to determine the international status of a subscriber.
If the checked address is not in an international format and
non-international-format-number-is-national
is set to true
, the Rhino VoLTE TAS determines the number is not an international or international-exHC number.
Otherwise, the Rhino VoLTE TAS analyzes the call alongside the home network information to determine international status.
The Rhino VoLTE TAS determines the call’s international status according to the definitions given by 3GPP 24.611:
international: This condition evaluates to true when the request URI of the outgoing SIP request:
international-exHC: This condition for international barring, excluding the home country, evaluates to true when the request URI of the outgoing SIP request:
|
Determining roaming status
The Rhino VoLTE TAS determines roaming status of a subscriber by checking the following:
-
Firstly, the
home-plmn-ids
MCCs and MNCs are checked with the subscriber address’s respective MCC and MNC.-
If a home network MCC and MNC (PLMN ID) match with the address’s MCC and MNC respectively, the call is
NOT-ROAMING
. -
If a home network MCC and address’s MCC match, but there is no MNC match, the call is
NATIONAL
roaming. -
If a home network MCC does not match with the address’s MCC, the call is
INTERNATIONAL
roaming.
-
-
If the address has no MCC present, the ISO country code of the party is compared with the network’s configured
home-network-iso-country-code
.-
If the ISO country codes match, the call is
NOT-ROAMING
, otherwise, it isINTERNATIONAL
roaming.
-
-
If there is no ISO country code present, the Visited Network ID of the party is compared with the network’s configured
home-domain
.-
If the network IDs match, the call is
NOT-ROAMING
, otherwise it isINTERNATIONAL
roaming.
-
-
Finally, if the call’s visited MCC nor visited network are not present, the roaming status is
UNKNOWN
.
Using the visited network ID
The Rhino VoLTE TAS determines the visited network ID on an incoming request with the following techniques:
-
Firstly, if the Rhino VoLTE TAS has already loaded on the visited network ID for the session, it uses that.
-
Otherwise, the Rhino VoLTE TAS uses the
P-Visited-Network-Id
header for originating sessions orOC-Term-P-Visited-Network-Id
for terminating sessions on the incoming request. -
Finally, the Rhino VoLTE TAS will query for the third party registration data stored in subscriber data.
Interactions with other services
Call Barring
The Rhino VoLTE TAS uses the roaming and international status for MMTel communication barring features. For further information on barring feature configuration, see Call barring.
Configuration
Roaming determination depends on number normalization and home network dialing configurations.
It is possible to configure a list of addresses that will have roaming determination skipped. Contact Metaswitch support for more information on how to configure roaming determination skip lists.
-
The example for sentinel-volte-gsm-config.yaml and example for sentinel-volte-cdma-config.yaml show example configuration for roaming determination logic in the Rhino VoLTE TAS in the
international-and-roaming
section. -
For a GSM network, there is an additional option to query the HLR for determining a number’s roaming status. The example for sentinel-volte-gsm-config.yaml shows example configuration in the
mmtel
section.
What you need
-
❏ Whether to treat non-international numbers as national numbers.
-
❏ Whether to end a call if there is no visited network information on the incoming call request.
-
❏ The minimum length of the destination address required to set international and roaming status.
-
❏ For a GSM network, whether to use the HLR to determine roaming.
Setting up roaming and international status
I want to …
Treat any non-international format number as a national number
To set the Rhino VoLTE TAS to treat any non-international format number as a national number for roaming,
in the international-and-roaming
section,
set non-international-format-number-is-national
to true
:
non-international-format-number-is-national: true
End a call if no visited network can be determined
To set the Rhino VoLTE TAS to end an incoming call if the P-Visited-Network-Id
cannot be determined,
in the international-and-roaming
section,
set end-call-if-no-visited-network
to true
:
end-call-if-no-visited-network: true
Not determine roaming and international status for dialed digits below a certain length
To set the Rhino VoLTE TAS to not determine roaming or international status for short dialed digit strings (such as any length below 7 for example),
in the international-and-roaming
section,
set min-length
to 7
:
min-length: 7
Use the HLR for determining roaming with the GSM network
To set the Rhino VoLTE TAS to query the HLR for determining roaming using GSM network information,
in the mmtel
section,
set determine-roaming-from-hlr
to true
:
determine-roaming-from-hlr: true