Contents
Terminology
Roaming number:
A phone number returned by a MSC/VLR (YateUCN) when requested by HLR MAP provideRoamingNumber
HLR sends it for calls needing a target subscriber location.
A roaming number is allocated by YateUCN from configured range.
S-CSCF URI:
SIP URI (location) of SIP registrar (YateUCN) used in IMS.
Configured in YateUCN and subscriber’s IMS profile in HSS.
MO redir:
MO redir is a mechanism used by a network to route mobile originated calls from subscribers roaming of another network to its own network.
MO calls are sent by foreign network to subscriber’s network (for charging and/or other purpose).
This is driven by CAMEL O-CSI set in subscriber’s CS profile in HLR.
The O-CSI Global Title (and CAMEL service key) points to YateUCN.
The ucn_mo_redir module will return a new called party number from configured range.
The call will be sent by foreign network to subscriber’s network.
NOTE: The call will be received on a SIP interconnect connection. It needs to be forwarded to an YateUCN based on called party number (MO Redir Number).
BCSM (Basic Call State Machine):
BCSM is a node’s function applying the client’s (service) side CAMEL subscription.
It starts a CAMEL (TCAP) dialogue, toward a controlling node and applies its instructions (continue/call to another number …).
In Yate this is implemented in camel_bcsm (name:bcsm) module.
YateUCN modules that may set (start) BCSM:
– ucn_gmsc (apply CAMEL CSI for call originator or target)
– ucn_vlr (apply visited CAMEL CSI for call originator or target)
YateUCN
Unified GSM/3G/LTE core network, including GGSN, GMSC, MME, PGW
See the product here ››
YateUCN Call Handling (ucn_call_handling) description
Features:
– Route incoming calls to roaming numbers and MO redir numbers
– Route roaming numbers and IMS S-CSCF URI(s) obtained by GMSC from MAP sendRoutingInfo
call.route handlers:
– mobility_numbers
Route roaming numbers and MO redir numbers
Priority: 20. Configurable
– before_gmsc
Setup parameter(s) instructing the GMSC to perform MAP sendRoutingInfo toward HLR
Priority: 75. Configurable
– gmsc_result
Handle GMSC result of MAP sendRoutingInfo (roaming number or S-CSCF URI)
Priority: 85. Configurable
Other known call.route handlers:
ucn_npdb: priority=50 – Number portability database lookup
ucn_gmsc: priority=55 – May use MAP sendRoutingInfo toward a configured server (HLR) and use received roaming number as ported value
ucn_gmsc: priority=80 – MAP sendRoutingInfo,
ucn_imsconf: priority=90 – Route calls to conference
regexroute: priority=100 – Generic
ucn_vlr: priority=110 – Route calls to registered subscribers
ucn_i_cscf: priority=120 – Diameter location query (identical to MAP sendRoutingInfo, obtain S-CSCF URI(s) only)
Notes:
- All message handlers are looking for a 'call_handle' parameter.
- The message is not handled if this parameter is present and evaluated to boolean false (values: false|no ...)
- Each specific handling (roaming/mo redir to local/remote node, setup gmsc ...) have a specific parameter allowing it to be disabled. (Future documentation should list them)
Routing of incoming calls to roaming numbers
Remember: routing to node may be disabled per node basis
1. Target number is a local one
1.1. Incoming calls on SIP role ‘core’:
-> Messages are allowed to flow. No route is set. It should be handled by ucn_vlr module.
1.2. Incoming calls are on a listener configured to be handled (an interconnect/gateway or other listener)
->Calls are sent on SIP to local ‘core’ listener or routed locally (as in 1.1) based on local route configuration
2. Target number matches another node’s roaming numbers list
->Calls are sent to it on its ‘core’ listener
3. No node match but target number matches a roaming number of any node
->Calls are rejected
Routing of MO Redir numbers
1. Module routing the call is ‘bcsm’
1.1. Target number is configured in local node
->Calls are rejected. CAMEL SCF (server) is also local. This should not happen, indicates a configuration error
1.2. Target number is configured in other node
->Calls are routed to it
2. Incoming calls are on a listener configured to be handled (an interconnect/gateway or other listener) and target number is configured on a node other than local
->Calls are routed to it
3. Target number is configured in local node
->Calls are rejected. Calls should be handled by ucn_mo_redir module before reaching this point
Possible reason: the ucn_mo_redir module is not handled, someone called a number reserved for MO Redir
4. No node match but target number matches a MO Redir number of any node
->Calls are rejected
GMSC setup (instruct it to perform MAP sendRoutingInfo)
Conditions:
– Incoming SIP listener role is ‘gmsc’
– Incoming SIP listener role is interconnect/gateway
By the time this document was written the module handles a SIP listener parameter used to enable or disable the external GMSC
setup handling but it is not handled in API request.
– Handled messages have no ‘roaming’ parameter or the parameter is empty
– Number portability enabled (at least one target is configured) or at least one MSISDN prefix is configured
NOTE: These are mutually exclusive: if number portability is used MSISDN prefix handling is not used
Routing of roaming numbers and S-CSCF URI(s) obtained by GMSC
These are routed to node matching the roaming number or S-CSCF URI.
Routing to local node may be configured as local (let the messages flow, no parameter change).
Calls are sent to nodes on their ‘core’ listener. The module will set SIP transport related parameters.