Advanced Call Control Features
This document describes the advanced circuit-switched call control features implemented in OmniMSC, including multi-party calling, call transfer, call completion, call deflection, multicall, priority services, and charging.
For basic supplementary services (call forwarding, barring, CLIP/CLIR, USSD), see Supplementary Services. For call flow diagrams, see Call Flow Diagrams. For configuration parameters, see Configuration Reference. For general operations, see Operations Guide.
MPTY (Multi-Party / Conference Calling)
MPTY allows a subscriber to establish a conference call with multiple remote parties per 3GPP TS 24.084. The subscriber acts as the conference controller, bridging held and active calls into a single multi-party conversation.
MPTY Sequence
MPTY Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
max_mpty_parties | integer | 6 | Maximum number of parties in a single conference (including the controller). Per 3GPP TS 24.084, the minimum required is 3. |
mpty_tone_on_join | boolean | true | Play a notification tone when a party joins the conference. |
mpty_tone_on_leave | boolean | true | Play a notification tone when a party leaves the conference. |
ECT (Explicit Call Transfer)
ECT allows a subscriber to connect two calls together and then drop out of the connection per 3GPP TS 24.091. The subscriber must have one active call and one held call. After ECT, the two remote parties are connected directly through the MSC.
ECT Sequence
ECT Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
ect_alerting_allowed | boolean | true | Whether ECT is permitted when the second call is in alerting state (not yet answered). When false, both calls must be answered before ECT. |
CCBS (Call Completion to Busy Subscriber)
CCBS allows a caller to request automatic callback when a busy called subscriber becomes free, per 3GPP TS 24.093 and 3GPP TS 23.135. The MSC monitors the called subscriber's state and initiates a callback when they become idle.
CCBS Flow
CCBS Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
ccbs_queue_size | integer | 5 | Maximum number of pending CCBS requests per subscriber. Additional requests are rejected. Per 3GPP TS 23.135 Sec 4.2. |
ccbs_supervision_timer | integer | 180 | Supervision timer in seconds. If the called subscriber does not become free within this period, the CCBS request expires. |
ccbs_recall_timer | integer | 20 | Time in seconds to wait for the originating subscriber to answer the CCBS recall. |
ccbs_retain_timer | integer | 30 | Time in seconds to retain the CCBS request after the called subscriber becomes free, in case the subscriber becomes busy again before the recall completes. |
Call Deflection
Call Deflection (CD) allows a called subscriber to redirect an incoming call to another number before answering, per 3GPP TS 24.072. Unlike call forwarding, CD is an on-demand action initiated by the subscriber during the alerting phase.
Call Deflection Sequence
Call Deflection Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
cd_max_redirections | integer | 5 | Maximum number of sequential call deflections to prevent loops. |
Multicall Configuration
Multicall allows a subscriber to maintain multiple simultaneous CS calls per 3GPP TS 23.135. This is distinct from MPTY (conference): in multicall, each call has independent audio. The subscriber switches between calls using the HOLD/RETRIEVE mechanism.
| Parameter | Type | Default | Description |
|---|---|---|---|
max_calls_per_subscriber | integer | 2 | Maximum number of simultaneous CS calls per subscriber. One call is active, remaining are held. |
max_bearers_per_subscriber | integer | 2 | Maximum number of simultaneous radio bearers. Typically matches max_calls_per_subscriber. |
eMLPP (Enhanced Multi-Level Precedence and Pre-emption)
eMLPP provides priority call handling per 3GPP TS 24.067. Calls are assigned a priority level, and higher-priority calls may pre-empt lower-priority calls when resources are scarce.
Priority Levels
| Priority Level | Name | Description |
|---|---|---|
| 0 | A | Highest priority (Flash Override). Reserved for national emergency authorities. |
| 1 | B | Flash. Reserved for senior government/military officials. |
| 2 | 0 | Immediate. High-priority government/military. |
| 3 | 1 | Priority. General priority traffic. |
| 4 | 2 | Routine. Standard subscriber calls (default). |
eMLPP Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
emlpp_enabled | boolean | false | Enable eMLPP priority call handling. |
emlpp_default_priority | integer | 4 | Default priority level for calls without explicit priority (Routine). |
emlpp_preemption_enabled | boolean | true | Whether higher-priority calls may pre-empt lower-priority active calls when resources are exhausted. |
emlpp_preemption_tone | boolean | true | Play a preemption warning tone before disconnecting the pre-empted call. |
AoCC (Advice of Charge - Charging)
AoCC provides real-time charge information to the subscriber during a call per 3GPP TS 24.086. The MSC sends charge rate information and accumulated charge indications to the mobile station.
AoCC Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
aocc_enabled | boolean | false | Enable Advice of Charge - Charging. |
aocc_currency | string | "EUR" | Currency code (ISO 4217) for charge display. |
aocc_rate_source | atom | :camel | Source of charging rates: :camel (from SCP via CAP), :local (from local rate table), :cdr (from CDR parameters). |
aocc_update_interval | integer | 10 | Interval in seconds between charge update notifications to the subscriber. |
3GPP Specification References
| Specification | Title | Feature |
|---|---|---|
| TS 24.084 | Multi-Party (MPTY) Supplementary Service | MPTY / Conference calling |
| TS 24.091 | Explicit Call Transfer (ECT) Supplementary Service | ECT |
| TS 24.093 | Call Completion to Busy Subscriber (CCBS) | CCBS |
| TS 23.135 | Multicall | Multicall, CCBS network procedures |
| TS 24.072 | Call Deflection Supplementary Service | Call Deflection |
| TS 24.067 | enhanced Multi-Level Precedence and Pre-emption (eMLPP) | eMLPP priority levels |
| TS 24.086 | Advice of Charge (AoC) Supplementary Services | AoCC charging |
| TS 24.083 | Call Waiting and Call Hold | Hold/Retrieve for multicall |