Case Implement New layer LTE 850MHz

Kali ini kita coba bahas case menarik part LTE radio lain nya dengan bahasa

Case: Salah satu operator implement New layer LTE 850MHz dengan band 5 dengan Bandwitdh 15MHz. Vendor yang digunakan E///. Band exisiting LTE 1800 15MHz
Setelah di implementasikan, kita mengaktifkan feature-feature standart untuk support InterFrequency, add EutranFreq, anr activation.
Hasil monitoring, Relasi tercreate normal, cell-cell LTE850 handle user, untuk KPI existing dan New Layer Maintain.
Hasil monitoring juga menunjukan user-user di existing band shifting ke new band

banyak komplain dari sisi pelanggan, beberapa hape attach sebentar ke L850 dan beberapa saat kemudian pindah ke 2G, posisi ue di good coverage
User L850 tidak dapat menggambil user lebih banyak dari L1800, beberapa cell cenderung kecil user yang bisa masuk ke L850 (check user by command ue print -admitted)

– Check layering idle and connected interBand and InterRat on L850 dan L1800, trial with sticky and high prio on L850
– LoadBalancing InterRat not activated
– check 3GPP standart

dari 2 identifikasi tidak ditemukan keanehan untuk layering dan loadbalancing, setelah kita check 3ggpp standart ada finding yang menarik.
– Check 3GPPTS 36.101 Table E-UTRA channel bandwidth

2019-11-01 06_44_18-Clipboard
bisa kita liat bahwa band 5 pilihan bandwidth yang ada hanya 1.4, 3, 5 dan 10MHz

Solution: downgrade Bandwidth to 10MHz

Result: dari user dilapangan tidak terjadi lagi perpindahan IRAT tiba-tiba di good coverage
dari statistik User L850 bisa lebih besar daripada L1800 didalam 1 cell dengan design layering dan loadbalancing tertentu, untuk part ini kita tuning lagi untuk balancing user antara L1800 dan L850 karena BW L1800>L1850

crontab – Scheduling moshell command

For Scheduling your task in Ericsson Moshell command, we can use crontab like in bash unix and combine with mobatch command.

connect your network, for see the list activated crontab with this script

Script: crontab -l
Result: 25 08 * * * /home/nw/ridho/>/home/nw/ridho/log
this crontab regulary run script every day in 08.25 and save the log /home/eadmwil/ridho/log
sample this sh is mobatch: /opt/../opt/ericsson/amos/moshell/mobatch -t 0 -p 40 ridho/IP_RBS_3G.txt “ylt all;rbs;rbs;cabx;rbs;rbs;q;”
we could see the mobacth with command cabx, for example for see the Digital unit Status every day without manually mobatch

Script: crontab -e
Explanation: this script for editing crontab or add new script in crontab list, for editing/adding line for this script we can use vi command like dd=delete line, dw=delete word, a=instert after, i=instert, :wq=save and quit

Script: crontab -r
Explanation: Remove all active crontab

the interesting fact how we make a schedule with this configuration

25 08 * * * = every day in 08.25
25 = minute(0-59)
08 = hour(0-23)
* = day_of_the_month (1-31)
* = month_of_the_year_(1-12)
* = day_of_the _week_(0-6 with 0=Sunday)

0 12,14,16 * * * = Run the script every day at 12:00, 14:00 and 16:00
30 13 * * 0 = Run the script every Sunday at 13:30
0 12,14,16 * * 6 = Run the script every Saturday at 12:00, 14:00 and 16:00.
0 0 1,15,20 * * = Run the script on the first, fifteenth and twentieth of every month
0 */3 * * * = Run the script every day from 3 to 3 hours: 00:00, 03:00, 06:00 etc.

this is full doc for crontab from oss ericsson

User Commands crontab(1)

crontab – user crontab file

/usr/bin/crontab [filename]

/usr/bin/crontab -e [username]

/usr/bin/crontab -l [username]

/usr/bin/crontab -r [username]

/usr/xpg4/bin/crontab [filename]

/usr/xpg4/bin/crontab -e [username]

/usr/xpg4/bin/crontab -l [username]

/usr/xpg4/bin/crontab -r [username]

/usr/xpg6/bin/crontab [filename]

/usr/xpg6/bin/crontab -e [username]

/usr/xpg6/bin/crontab -l [username]

/usr/xpg6/bin/crontab -r [username]

The crontab utility manages a user’s access with cron (see
cron(1M)) by copying, creating, listing, and removing cron-
tab files. If invoked without options, crontab copies the
specified file, or the standard input if no file is speci-
fied, into a directory that holds all users’ crontabs.

If crontab is invoked with filename, this overwrites an
existing crontab entry for the user that invokes it.

SunOS 5.10 Last change: 1 Mar 2011 1

User Commands crontab(1)

crontab Access Control
Users: Access to crontab is allowed:

o if the user’s name appears in

o if /etc/cron.d/cron.allow does not exist and the
user’s name is not in /etc/cron.d/cron.deny.

Users: Access to crontab is denied:

o if /etc/cron.d/cron.allow exists and the user’s
name is not in it.

o if /etc/cron.d/cron.allow does not exist and user’s
name is in /etc/cron.d/cron.deny.

o if neither file exists, only a user with the authorization is allowed to sub-
mit a job.

o if BSM audit is enabled, the user’s shell is not
audited and the user is not the crontab owner. This
can occur if the user logs in by way of a program,
such as some versions of SSH, which does not set
audit parameters.

The rules for allow and deny apply to root only if the
allow/deny files exist.

The allow/deny files consist of one user name per line.

crontab Entry Format
A crontab file consists of lines of six fields each. The
fields are separated by spaces or tabs. The first five are
integer patterns that specify the following:

minute (0-59),
hour (0-23),
day of the month (1-31),
month of the year (1-12),
day of the week (0-6 with 0=Sunday).

Each of these patterns can be either an asterisk (meaning
all legal values) or a list of elements separated by commas.
An element is either a number or two numbers separated by a

SunOS 5.10 Last change: 1 Mar 2011 2

User Commands crontab(1)

minus sign (meaning an inclusive range). Time specified here
is interpreted in the timezone of the cron(1M) daemon, which
is set system-wide in /etc/default/init. Entries do not use
the invoking user’s timezone. The specification of days can
be made by two fields (day of the month and day of the
week). Both are adhered to if specified as a list of ele-
ments. See EXAMPLES.

The sixth field of a line in a crontab file is a string that
is executed by the shell at the specified times. A percent
character in this field (unless escaped by \) is translated
to a NEWLINE character.

Only the first line (up to a `%’ or end of line) of the com-
mand field is executed by the shell. Other lines are made
available to the command as standard input. Any blank line
or line beginning with a `#’ is a comment and is ignored.

The shell is invoked from your $HOME directory with an arg0
of sh. Users who desire to have their .profile executed must
explicitly do so in the crontab file. cron supplies a
default environment for every shell, defining HOME, LOGNAME,
SHELL(=/bin/sh), TZ, and PATH. The default PATH for user
cron jobs is /usr/bin; while root cron jobs default to
/usr/sbin:/usr/bin. The default PATH can be set in
/etc/default/cron (see cron(1M)).

If you do not redirect the standard output and standard
error of your commands, any generated output or errors are
mailed to you.

Setting cron Jobs Across Timezones
The timezone of the cron daemon sets the system-wide
timezone for cron entries. This, in turn, is by set by
default system-wide using /etc/default/init.

If some form of daylight savings or summer/winter time is in
effect, then jobs scheduled during the switchover period
could be executed once, twice, or not at all.

The following options are supported:

-e Edits a copy of the current user’s crontab file, or
creates an empty file to edit if crontab does not
exist. When editing is complete, the file is installed
as the user’s crontab file.

SunOS 5.10 Last change: 1 Mar 2011 3

User Commands crontab(1)

The environment variable EDITOR determines which edi-
tor is invoked with the -e option. All crontab jobs
should be submitted using crontab. Do not add jobs by
just editing the crontab file, because cron is not
aware of changes made this way.

If all lines in the crontab file are deleted, the old
crontab file is restored. The correct way to delete
all lines is to remove the crontab file using the -r

If username is specified, the specified user’s crontab
file is edited, rather than the current user’s crontab
file. This can only be done by root or by a user with
the authorization.

-l Lists the crontab file for the invoking user. Only
root or a user with the authoriza-
tion can specify a username following the -l option to
list the crontab file of the specified user.

-r Removes a user’s crontab from the crontab directory.
Only root or a user with the
authorization can specify a username following the -r
option to remove the crontab file of the specified

Example 1 Cleaning up Core Files

This example cleans up core files every weekday morning at
3:15 am:

15 3 * * 1-5 find $HOME -name core 2>/dev/null | xargs rm-f

Example 2 Mailing a Birthday Greeting

This example mails a birthday greeting:

0 12 14 2 * mailx john%Happy Birthday!%Time for lunch.

SunOS 5.10 Last change: 1 Mar 2011 4

User Commands crontab(1)

Example 3 Specifying Days of the Month and Week

This example runs a command on the first and fifteenth of
each month, as well as on every Monday:

0 0 1,15 * 1

To specify days by only one field, the other field should be
set to *. For example:

0 0 * * 1

would run a command only on Mondays.

See environ(5) for descriptions of the following environment
variables that affect the execution of crontab: LANG,

EDITOR Determine the editor to be invoked when the -e
option is specified. This is overridden by the
VISUAL environmental variable. The default editor
is ed(1).

PATH The search path used to find the default ed util-

VISUAL Determine the visual editor to be invoked when the
-e option is specified. If VISUAL is not speci-
fied, then the environment variable EDITOR is
used. If that is not set, the default is ed(1).

EDITOR Determine the editor to be invoked when the -e
option is specified. The default editor is

SunOS 5.10 Last change: 1 Mar 2011 5

User Commands crontab(1)

EDITOR Determine the editor to be invoked when the -e
option is specified. The default editor is

The following exit values are returned:

0 Successful completion.

>0 An error occurred.

/etc/cron.d main cron directory

/etc/cron.d/cron.allow list of allowed users

/etc/default/cron contains cron default settings

/etc/cron.d/cron.deny list of denied users

/var/cron/log accounting information

/var/spool/cron/crontabs spool area for crontab

See attributes(5) for descriptions of the following attri-

| Availability | SUNWcsu |
| Interface Stability | Standard |


SunOS 5.10 Last change: 1 Mar 2011 6

User Commands crontab(1)

| Availability | SUNWxcu4 |
| Interface Stability | Standard |

| Availability | SUNWxcu6 |
| Interface Stability | Standard |

atq(1), atrm(1), auths(1), ed(1), sh(1), vi(1), cron(1M),
su(1M), auth_attr(4), attributes(5), environ(5), stan-

If you inadvertently enter the crontab command with no argu-
ments, do not attempt to get out with Control-d. This
removes all entries in your crontab file. Instead, exit with

When updating cron, check first for existing crontab entries
that can be scheduled close to the time of the update. Such
entries can be lost if the update process completes after
the scheduled event. This can happen because, when cron is
notified by crontab to update the internal view of a user’s
crontab file, it first removes the user’s existing internal
crontab and any internal scheduled events. Then it reads the
new crontab file and rebuilds the internal crontab and
events. This last step takes time, especially with a large
crontab file, and can complete after an existing crontab
entry is scheduled to run if it is scheduled too close to
the update. To be safe, start a new job at least 60 seconds
after the current date and time.

Simultaneous modifications of the same crontab file may lead
to unexpected results.

Feature Ultra Extended Coverage

– Equipement 4G FDD Huawei
– Feature Activation Ultra Extended Coverage


According 3GPP TS 36.221, LTE FDD support random access preamble format 0 to 3, Preamble format used by PRACH Channel, Compare to Preamble format 0 (default), format 2 has CellRadius < 77.3 and has CP length 684.4us longer than Format 1 103.1us


TA>6 Increasing

Layer 3 Message SIB1

Please check also you Random Access Success Rate, Payload, User, CSSR, SDR and another KPI that related to Coverage,
Question: need we retune/replanning Root Sequence Index Value?

L.RRC.Redirection.E2G.Coverage Optimization

– Equipement 4G Huawei
– Your Network using CSFB
– You have GL and GUL Collocated
– Your InterRat Mobility using Redirection

– L.RRC.Redirection.E2G.Coverage to High possibility UE directly Redirect to 2G while in the neighbor 3G RSCP still good for Target Redirection

Highest priority InterRat = GERAN
Second priority InterRat = UTRAN

CSFB Highest priority InterRat for Idle UE = GERAN
CSFB Second priority InterRat for Idle UE = UTRAN


In site GL (without UTRAN Collocated) When you Set CSFALLBACKBLINDHOCFG Highest priority InterRat to GERAN, actually not only make your CSFB priority to GERAN but also trigger L.RRC.Redirection.E2G.Coverage for priority, HEDEX Reference Below:

Triggering and Stopping of Blind Handling
Events A2 and A1 for blind handling trigger and stop coverage-based inter-RAT blind handling in the same procedures as they trigger and stop coverage-based inter-frequency blind handling. Coverage-based inter-frequency blind handling and inter-RAT blind handling share the same thresholds related to events A2 and A1 and have the same working principles. For details, see Intra-RAT Mobility Management in Connected Mode.

Target Selection
The eNodeB selects the target RAT based on the RAT priorities specified by the following parameters:

CSFallBackBlindHoCfg.InterRatHighestPri: specifies the RAT with the highest priority.
CSFallBackBlindHoCfg.InterRatSecondPri: specifies the RAT with the second-highest priority.
CSFallBackBlindHoCfg.InterRatLowestPri: specifies the RAT with the lowest priority.

MOD ENODEBALGOSWITCH:HOALGOSWITCH=UtranCsfbSwitch-1&GeranCsfbSwitch-0&UtranCsfbSteeringSwitch-1&GeranCsfbSteeringSwitch-0,UtranPsHoSwitch-0&GeranPsHoSwitch-0&UtranRedirectSwitch-1&GeranRedirectSwitch-1&BlindHoSwitch-1;
MOD CSFALLBACKBLINDHOCFG:CNOPERATORID=0, InterRatHighestPri=UTRAN, InterRatSecondPri=GERAN, IdleCsfbHighestPri=UTRAN, IdleCsfbSecondPri=GERAN;
* in case SRAN 13 you should check your CELLALGOSWITCH


L.RRC.Redirection.E2G.Coverage switch out to L.RRC.Redirection.E2W.Coverage

CSFB maintain to G

Actually this optimization depend on your strategy in GL and GUL network, in this case we prefer for triggering coverage UE maintain to UMTS and for CSFB on GL Network we prefer to G

LTE TDD Uplink-downlink configurations

when your network has LTE tdd, the basic configuration is UL-DL Configuration which explained in 3gpp 36.211 need to be configured

Table 4.2-2: Uplink-downlink configurations




Switch-point periodicity

Subframe number
0 1 2 3 4 5 6 7 8 9
0 5 ms D S U U U D S U U U
1 5 ms D S U U D D S U U D
2 5 ms D S U D D D S U D D
3 10 ms D S U U U D D D D D
4 10 ms D S U U D D D D D D
5 10 ms D S U D D D D D D D
6 5 ms D S U U U D S U U D

D = Downlink
U = Uplink
S = Special Subframe

if your network has multiple cells TDD you should configure same UL-DL configuration, you can’t configure with different configure because if subframe in cell on downlink, this rules also in subframe uplink

how to see on your network, example  Ericsson (moshell) and Huawei (u2000)

Ericsson: MO: EutranCellTDD attribute: subframeassigment

2019-02-22 09_34_58-Window

2019-02-22 09_37_31-Window

Huawei: MO: CELL , Parameter: Subframe Assignment

2019-02-22 09_40_03-Window

2019-02-22 09_43_12-Window

not only Subframe Assignment we have to configure also special subframe for configure Downlink part time slot, guard period, and Uplink Part time slot

Table 4.2-1: Configuration of special subframe (lengths of DwPTS/GP/UpPTS)

2019-02-22 10_09_56-Window

Ericsson: MO: EutranCellTDD attribute: specialSubframePattern

2019-02-22 10_11_00-Window

Huawei: MO: CELL , Parameter: Special subframe patterns

2019-02-22 09_40_03-Window

in our network using Uplink-downlink configurations 2 and special subframe 7 with Normal CP. See 3GPP table again, we can calculate this:

UL-DL Config 2 => D:L = 3:1 with 2 Special Subframe

How many DwPTS UpPTS and GP?

2019-02-22 15_18_08-Window

DwPTS = 21952*Ts
UpPTS 4384*Ts

1 Radio Frame = 10ms = 307200Ts
1 Subframe = 1ms = 30720Ts

DwPTS+UpPTS+GP= 1 Subframe = 30720Ts
2192Ts+4384Ts+GP = 30720Ts
GP = 4384Ts

DwPTS ~ 5*GP ~ 5UpPTS, which means 10 Symbol will be allocated for DwPTS + 2 Symbol for GP + 2 Symbol for UpPTS on one special subframe


Combine exported tar.gz performance measurement files from U2000

After exported measurement from U2K we’ve little bit problem, if you have several host, the files will be separated with the host. You can combine the files manually (extract files and open it one by one and copy paste), this method exactly not effective. The alternative you can use Excel External Tools like RDBmerge or another tools. But now we wanna create simple tools with Bash Script

Bash Script actually need running on Unix Operating System, but if used windows, we can use bash on windows alternatively

input: Exported tar.gz files
output: combined csv file

exec bash
array=($(ls *.gz))
for i in ${array[@]}; 
echo $i;
tar -xzvf $i 
array_csv=($(ls *.csv))
for i in ${array_csv[@]}; 
if [ "$k" -eq "$b" ] 
echo $i; 
cat $i | sed -n -e '8,$p' > test$k.txt
cat $i | sed -n -e '9,$p' > test$k.txt
let k=$k+1
rm *.csv

NOW=$(date +"+%Y-%m-%d_%H%M%S")
NOWT=$(date +"%T")

echo $FILE
cat *.txt > $FILE
rm *.txt
ls -l
rm *.gz
ls -l

Sample step by step

Export from u2K

Exported Folder

Change your file directory on bash into exported files folder

copy paste your script

csv file is ready

actually you still can optimize this method