mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw.git
synced 2025-10-23 08:12:01 +00:00
gbproxy: Honour the BSS TLLI type when creating an SGSN TLLI
Currently gbproxy_make_sgsn_tlli always returns a foreign TLLI when it uses the (SGSN) P-TMSI to generate one. This patch changes the implementation to return a SGSN TLLI of the same type like the BSS TLLI in that case. Sponsored-by: On-Waves ehf
This commit is contained in:
committed by
Holger Hans Peter Freyther
parent
0d8ac0eac0
commit
4110868029
@@ -254,9 +254,14 @@ uint32_t gbproxy_make_sgsn_tlli(struct gbproxy_peer *peer,
|
||||
int max_retries = 23;
|
||||
if (!peer->cfg->patch_ptmsi) {
|
||||
sgsn_tlli = bss_tlli;
|
||||
} else if (link_info->sgsn_tlli.ptmsi != GSM_RESERVED_TMSI) {
|
||||
} else if (link_info->sgsn_tlli.ptmsi != GSM_RESERVED_TMSI &&
|
||||
gprs_tlli_type(bss_tlli) == TLLI_FOREIGN) {
|
||||
sgsn_tlli = gprs_tmsi2tlli(link_info->sgsn_tlli.ptmsi,
|
||||
TLLI_FOREIGN);
|
||||
} else if (link_info->sgsn_tlli.ptmsi != GSM_RESERVED_TMSI &&
|
||||
gprs_tlli_type(bss_tlli) == TLLI_LOCAL) {
|
||||
sgsn_tlli = gprs_tmsi2tlli(link_info->sgsn_tlli.ptmsi,
|
||||
TLLI_LOCAL);
|
||||
} else {
|
||||
do {
|
||||
/* create random TLLI, 0b01111xxx... */
|
||||
|
Reference in New Issue
Block a user