E.1 Brief Description of the Program ‘TFO-xyz.exe’
28.0623GPPInband Tandem Free Operation (TFO) of speech codecsService descriptionStage 3TS
The program "TFO-xyz.exe" ("-xyz" stands for the version of the TS where it relates to) executes the kernel of the TFO decision algorithm as described in clauses 11 and 12. If inconsistencies between this program and clauses 11 and 12 are detected, then this program and its underlying C-source code shall take precedence.
TFO-xyz.exe supports all 3GPP Codec Types up to the release it relates to, including GSM_FR, GSM_HR, GSM_EFR, all AMR-NB Codec Types and all AMR-WB Codec Types. It supports the long form for the AMR Configurations (i.e. with ACS, SCS, MACS and OM) and it supports the short form for the AMR and AMR-WB Preferred Configurations.
This kernel TFO decision algorithm can be executed for all combinations of one local Codec Type (and its Configuration) with one distant Codec Type (and its Configuration). The output tells, whether TFO would be possible for this single combination and in which way and for which Configuration.
To perform the whole TFO decision algorithm for two Codec Lists it is necessary to run this kernel TFO-xyz.exe for all combinations of local and distant supported codec types. The ranking of all these TFO candidate combinations is not done by this C-Code. For that the preference list in §11.6.2 has to be checked and for AMR-WB in some cases the OACS evaluation in §12.3.2.3.
The necessary source files for compiling and linking of TFO-xyz.exe are available in a separate zip-container TFO-C-Code-xyz.zip. TFO-xyz.exe, as included in this zip-container, is build for WINDOWS operating systems and can be executed in a DOS shell. Please extraxt TFO-xyz.exx and rename it to TFO-xyz.exe.
The simplest way to invoke the program is to open a DOS Command window, change to the directory (e.g. C:\TFO) where the program and its potential input file(s) are stored, and to type:
DOS_Command_Prompt> TFO-xyz.exe <Enter>
The program displays first of all a help text with examples how to use it:
=====================================================================
TFO Decision Algorithm; C-Reference for TS 28.062 Version x.y.z
for GSM_FR GSM_HR GSM_EFR
FR_AMR HR_AMR OHR_AMR UMTS_AMR_2 UMTS_AMR
FR_AMR-WB OFR_AMR-WB OHR_AMR-WB UMTS_AMR-WB
This TFO Decision Algorithm determines, if TFO can be established
and on which Configuration.
Several input formats are supported (l_=local and d_=distant):
l_Type Preferred_Configuration d_Type Preferred_Configuration
l_Type Preferred_Configuration d_Type ACS SCS MACS OM
l_Type ACS SCS MACS OM d_Type ACS SCS MACS OM
Preferred_Configuration: 0..15 for AMR and 0..5 for AMR-WB.
ACS and SCS: highest … lowest mode; x: mode present, -: not present
MACS: 1..8; OM: n or y.
Please separate parameters by blanks or tabs. Valid examples are:
GSM_EFR 1 GSM_EFR 1
FR_AMR 12 HR_AMR 10
FR_AMR x–x-x-x xxxxxxxx 4 y HR_AMR —x-x-x –xxxxxx 3 n
UMTS_AMR x——- xxxxxxxx 1 n UMTS_AMR_2 x——- xxxxxxxx 1 n
UMTS_AMR_2 1 HR_AMR —x-x-x –xxxxxx 3 n
UMTS_AMR-WB 5 FR_AMR-WB 0
Your input, please; (e=exit h=help ;=comment):
This help text can be recalled at any time by typing: h<Enter> at the beginning of a new input line.
To terminate the program type: e<Enter>.
E.1.1 Input and Output
The program reads from stdin and outputs to stdout, which are typically the keyboard and the display.
These input and output can be redirected to text-file input and/or text-file output at invocation time by typing (example):
DOS_Command_Prompt> TFO-xyz.exe <TFO-In.txt >TFO-Out.txt <Enter>
Within a TFO-In.txt file each line starting with a single isolated <;> is treated as comment line and is ignored by the TFO Decision algorithm.
If an output text-file name is provided, then all input and output is listed there in this output file for offline study. In that case only error messages are displayed on screen.
For each combination of local and distant codec types the input parameters must be specified in one input line.
Codec Type and parameters must be separated by blanks or tabs. Three different input formats are supported:
1) l_Type Preferred_Configuration d_Type Preferred_Configuration
2) l_Type Preferred_Configuration d_Type ACS SCS MACS OM
3) l_Type ACS SCS MACS OM d_Type ACS SCS MACS OM
The first input format is a combination of
– a local Codec Type (l_Type) and its Preferred Configuration (short form) with
– a distant Codec Type (d_Type) and its Preferred Combination (short form).
This can be used for all Codec Types: for the "legacy" single mode ones, for the AMR family and the AMR-WB family.
Please note that for GSM_FR, GSM_HR and GSM_EFR one "dummy" parameter (equal to <1>) must be provided.
The second input format allows combine
– a local Codec Type and its Preferred Configuration (short form) with
– a distant AMR Codec Type and its long from of AMR parameters.
The third input format allows the combination of two AMR Codec Types with long form of AMR configuration parameters.
Note: the long form is only defined for AMR, not for AMR-WB.
The combination <long form> – <short form> is not allowed in this program, but this is not a severe restriction since the TFO Decision algorithm is perfectly symmetrical.
Wrong or undefined input parameters are (to the largest extent) detected and flagged in error messages.
Note: in a DOS command window You can use the arrow keys (up/down, right/left) to recall the previous input lines and to correct the input.
Please find more and detailed explanations in the help text of the program itself (reprinted above).
Many examples may be found in the attached text file "TFO-Out.Txt".
Some are reprinted here:
Example 1:
GSM_EFR 1 GSM_EFR 1
———————————————————————
==> Immediate TFO
Example 2:
GSM_FR 1 GSM_HR 1
———————————————————————
==> TFO is not possible
Example 3:
; Now a test for AMR with the most recommended Preferred Configuration 1
FR_AMR 1 HR_AMR 1
———————————————————————
==> Immediate TFO on iACS; FR-HR Matching; no further optimisation
FR_AMR HR_AMR
MACS = 4 MACS = 3
OM = no OM = no
SCS ACS iACS oACS cSCS ACS SCS
12.2 x x – – – – –
10.2 – – – – – – –
7.95 – – – – – – –
7.40 x x x x x x x
6.70 – – – – – – –
5.90 x x x x x x x
5.15 – – – – – – –
4.75 x x x x x x x
Example 4:
; Now a test for AMR with the long input format.
; This is only defined for the AMR Family, not for AMR-WB.
; L_Type ACS SCS # OM D_Type ACS SCS # OM
FR_AMR x–x-x-x x–x-x-x 4 n FR_AMR x–x-x-x x–x-x-x 4 n
———————————————————————
==> Immediate TFO on iACS; no further optimisation
FR_AMR FR_AMR
MACS = 4 MACS = 4
OM = no OM = no
SCS ACS iACS oACS cSCS ACS SCS
12.2 x x x x x x x
10.2 – – – – – – –
7.95 – – – – – – –
7.40 x x x x x x x
6.70 – – – – – – –
5.90 x x x x x x x
5.15 – – – – – – –
4.75 x x x x x x x
Example 5:
; An example of interworking of short form and long form.
; This specific example is not recommendable: Please note that
; the result is not within the set of 16 Preferred Configurations.
FR_AMR 11 FR_AMR x–x—x xxxxxxxx 3 n
———————————————————————
==> Immediate TFO on iACS, then Codec Mode Optimization to oACS.
FR_AMR FR_AMR
MACS = 4 MACS = 3
OM = yes OM = no
SCS ACS iACS oACS cSCS ACS SCS
12.2 x – – x x x x
10.2 x – – – x – x
7.95 x – – – x – x
7.40 x x – x x x x
6.70 x x – – x – x
5.90 x x – – x – x
5.15 – – – – – – x
4.75 x x x x x x x
Example 6:
FR_AMR-WB 0 OFR_AMR-WB 2
———————————————————————
==> Immediate TFO – no Modification necessary
FR_AMR-WB OFR_AMR-WB
MACS = 3 MACS = 4
OM = no OM = no
SCS ACS iACS oACS cSCS ACS SCS
23.85 – – – – – – –
15.85 – – – – – x x
12.65 x x x x x x x
8.85 x x x x x x x
6.60 x x x x x x x
Annex F (informative):
Operator’s Guide
This clause presents guidelines, which should be followed by the operator to optimise the establishment of TFO with AMR, and avoid unnecessary intra cell hand-overs for configuration optimisation once TFO is established.
The guidelines can be classified into the following families :
– Avoidance of Codec Type Optimisation;
– Earliest possible TFO Establishment;
– Usage of AMR tandem in preference of TFO with GSM_EFR, GSM_FR, or GSM_HR;
– Balance between Speech Quality and Network Capacity.
The guidelines are most helpful inside one PLMN. They can be applied to inter-PLMN constellations to extend their benefits. They may also be applied in parts of a PLMN, which would of course lower their benefits.