mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw.git
synced 2025-11-02 04:53:24 +00:00
Add SI2quater support to SI3
Advertise SI2 quater presence and location (if available) using SI3 according to 3GPP TS 44.018 § 10.5.2.34
This commit is contained in:
@@ -43,7 +43,8 @@ struct gsm48_si_ro_info {
|
||||
present:1;
|
||||
} scheduling;
|
||||
struct gsm48_si3_gprs_ind gprs_ind;
|
||||
|
||||
/* SI 3 specific */
|
||||
uint8_t si2quater_indicator;
|
||||
/* SI 4 specific */
|
||||
struct gsm48_lsa_params lsa_params;
|
||||
uint16_t cell_id;
|
||||
|
||||
@@ -140,6 +140,7 @@ int gsm_bts_trx_set_system_infos(struct gsm_bts_trx *trx)
|
||||
gen_si[n_si++] = SYSINFO_TYPE_2;
|
||||
gen_si[n_si++] = SYSINFO_TYPE_2bis;
|
||||
gen_si[n_si++] = SYSINFO_TYPE_2ter;
|
||||
gen_si[n_si++] = SYSINFO_TYPE_2quater;
|
||||
gen_si[n_si++] = SYSINFO_TYPE_3;
|
||||
gen_si[n_si++] = SYSINFO_TYPE_4;
|
||||
|
||||
|
||||
@@ -129,6 +129,15 @@ int rest_octets_si3(uint8_t *data, const struct gsm48_si_ro_info *si3)
|
||||
/* GPRS Indicator */
|
||||
append_gprs_ind(&bv, &si3->gprs_ind);
|
||||
|
||||
/* 3G Early Classmark Sending Restriction controlled by
|
||||
* early_cm_ctrl above */
|
||||
bitvec_set_bit(&bv, H);
|
||||
|
||||
if (si3->si2quater_indicator) {
|
||||
bitvec_set_bit(&bv, H); /* indicator struct present */
|
||||
bitvec_set_uint(&bv, 0, 1); /* message is sent on BCCH Norm */
|
||||
}
|
||||
|
||||
bitvec_spare_padding(&bv, (bv.data_len*8)-1);
|
||||
return bv.data_len;
|
||||
}
|
||||
|
||||
@@ -510,6 +510,7 @@ static struct gsm48_si_ro_info si_info = {
|
||||
.ra_colour = 0,
|
||||
.present = 1,
|
||||
},
|
||||
.si2quater_indicator = 0,
|
||||
.lsa_params = {
|
||||
.present = 0,
|
||||
},
|
||||
@@ -545,7 +546,12 @@ static int generate_si3(uint8_t *output, struct gsm_bts *bts)
|
||||
} else {
|
||||
si_info.si2ter_indicator = 0;
|
||||
}
|
||||
|
||||
if ((bts->si_valid & (1 << SYSINFO_TYPE_2quater))) {
|
||||
LOGP(DRR, LOGL_INFO, "SI 2quater is included.\n");
|
||||
si_info.si2quater_indicator = 1;
|
||||
} else {
|
||||
si_info.si2quater_indicator = 0;
|
||||
}
|
||||
/* SI3 Rest Octets (10.5.2.34), containing
|
||||
CBQ, CELL_RESELECT_OFFSET, TEMPORARY_OFFSET, PENALTY_TIME
|
||||
Power Offset, 2ter Indicator, Early Classmark Sending,
|
||||
|
||||
Reference in New Issue
Block a user