This feature is responsible for playing an announcement when a subscriber is making an international call. It can also bar an international call (with an optional announcement) if the subscriber does not dial a number in the international format or with an international escape code.
Feature cheat sheet
B2BUA Instance | SAS Support | Originating / Terminating | Point in Session Plan | Network Operator Data | Subscriber Data | Stateful or Stateless | POJO Feature or SBB Feature |
---|---|---|---|---|---|---|---|
MMTEL |
Yes |
Originating |
SipAccess_SessionCheck |
Yes |
No |
Stateless |
POJO |
Behaviour
The InternationalCallManagement (ICM) can enforce that when making an international call, the user actually dialled the country code for that country. If that requirement is not met, the feature can bar the call with an announcement. A call is a valid international call if it is in the international format, contains an international escape code, and the special case for 1+10 digit number if part of the North American Dial Plan (NANP). ICM’s behaviour is configurable; specific parts of ICM’s behaviour are determined by the InternationalCallManagementConfigProfile (ICMCP) Profile Table.
ICM will check if the call is an international call. If it an international call, ICM will continue otherwise if not an international call, will do nothing more.
If the DestinationCountryIsoCC session state field is populated, the feature will retrieve the ICMCP profile with the corresponding ISOCountryCode. If the corresponding ICMCP profile is not found, the feature will use the default profile.
Using the loaded ICMCP configuration, the feature will determine whether an announcement is needed and if the call needs to be barred. ICM will check if the AnalysedDialledNumber session state field matches one of the following: contains the International_Escape_Code, is dialled in the International_Format or if NANP is enabled, matches the special case handling for to allow international calls within the North American Numbering Plan when dialled as 1+10 digit. If the AnalysedDialledNumber does not match any of the checks that validate it as an international number, the call will be barred and the loaded ICMCP profile’s MissingInternationalCallDialPrefixAnnouncement will be queued (if configured).
If the call is not barred, then the announcement set by the loaded ICMCP profile’s InternationalCallAnnouncementID value will be queued (if configured).
If NANP is enabled, then the behaviour of ICM can be optionally configured per country - the behaviour is only supported in the NANP.
Relationship with number translation features
When deciding whether to bar a call based on whether it was dialled in an international format, the ICM feature considers the dialled number as it was originally received by Sentinel.
This means that if a number translation feature such as Location Based Dialling or SIP Short Code modifies the number and that results in the call being considered international, then the call will be barred if the original number was dialled without a country code.
International status determination
The international status of a call is identified by the DetermineInternationalAndRoamingStatus (DIRS) feature. As the ICM feature acts on all international calls, it becomes particularly important that the DIRS feature is configured correctly. Any numbers or number prefixes that are being erroneously classified as international should be added to prefix address list for that feature.
Prerequisite features
The feature must run after the DetermineInternationalAndRoamingStatus and VerticalServiceCodes features.
Session state input variables
Variable name | Variable type | Description |
---|---|---|
International |
Boolean |
Describes whether or not the call is an international call |
AnalysedDialledNumber |
TaggedNumber |
Tagged number contains details about the number dialled and is check if the dialled number is in an international format or has been dialled with an international escape code. |
DestinationCountryIsoCC |
String |
The two letter ISO country code the destination area code corresponds to. Set by the DetermineInternationalAndRoamingStatus feature |
SentinelSelectionKey |
SentinelSelectionKey |
For selecting configuration data |
Session state output variables
Variable name | Variable type | Description |
---|---|---|
ICMCallBarred |
boolean |
Describes whether the call was barred |
ICMAnnouncementQueued |
boolean |
Describes whether an announcement was queued to be played |
EarlyMediaAnnouncementInfoQueue |
List<SipAnnouncementInformation> |
List of all the Early Media info announcements to be played for the call |
EndSessionAfterAnnouncement |
int |
If enabled, will end the call session once the set announcement with the specified BARRING_RESPONSE_CODE response |
Configuration
This feature reads the configuration in the feature configuration profile table InternationalCallManagementProfileTable
to determine specific parts of the InternationalCallManagement feature’s behaviour.
InternationalCallManagementProfileTable
Feature configuration is stored on the InternationalCallManagementProfileTable
.
Data is scoped according to a Sentinel Selection Key; however the profile does support using an ISO country code as additional data on the key.
Parameter | Type | Description | Default |
---|---|---|---|
ISOCountryCode |
String |
The two letter ISO country code |
DEFAULT |
MissingInternationalCallDialPrefixCallBarring |
boolean |
If enabled, bar the call if it is international but the number was not dialled with an international escape code or in international format. |
false |
MissingInternationalCallDialPrefixAnnouncementID |
int |
The ID of the announcement to play when a call is barred due to the Missing International Call Dial Prefix Call Barring setting (0 disables the announcement). |
0 |
InternationalCallAnnouncementID |
int |
The ID of the announcement to play when a call is international and is not barred by this feature (0 disables the announcement). |
0 |
Statistics
InternationalCallManagement statistics are tracked by the sentinel.volte.sip SBB
and can be found under the following parameter set in REM:
SLEE-Usage → sentinel.volte.sip service → sentinel.volte.sip SBB → feature → InternationalCallManagement
or with rhino-stats:
"SLEE-Usage.Services.ServiceID[name=sentinel.volte.sip,vendor=OpenCloud,version=4.0.0].SbbID[name=sentinel.volte.sip,vendor=OpenCloud,version=4.0.0].feature.InternationalCallManagement"
Name | Type | Description |
---|---|---|
IncrementCallBarred |
Counter |
Incremented each time a call is barred |
IncrementPlayingCallBarredAnnouncement |
Counter |
Incremented when aan international call barred announcement has been queued. |
IncrementPlayingInternationalCallAnnouncement |
Counter |
Incremented when an international call announcement has been queued. |