laforge has submitted this change. (
https://gerrit.osmocom.org/c/osmo-bts/+/33299 )
Change subject: ASCI: Send only NLN on Paging request type 1 rest octets
......................................................................
ASCI: Send only NLN on Paging request type 1 rest octets
Do not send notifications here. The notifications are sent on the NCH.
The NLN is used to indicate a change on the NCH, so that the MS will
read the NCH then.
If NLN is not sent towards MS, it will not read NCH to get an updated
list of ongoing calls. Also, it will not allow making VGCS/VBS calls and
might indicate that ASCI is not supported in this call. (Tested with
GPH-610R.)
Change-Id: I22e584b70fd14d8bdabb28cf5de3d4647f37425a
Related: OS#5781
---
M src/common/paging.c
1 file changed, 28 insertions(+), 6 deletions(-)
Approvals:
laforge: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/src/common/paging.c b/src/common/paging.c
index 2b20786..d4a3aed 100644
--- a/src/common/paging.c
+++ b/src/common/paging.c
@@ -704,7 +704,6 @@
int paging_gen_msg(struct paging_state *ps, uint8_t *out_buf, struct gsm_time *gt,
int *is_empty)
{
- const struct asci_notification *notif;
struct llist_head *group_q;
struct gsm_bts *bts = ps->bts;
int group;
@@ -733,13 +732,17 @@
/* we intentioanally don't try to add notifications here, as ETWS is more critical
*/
len = fill_paging_type_1(out_buf, empty_id_lv, 0, NULL, 0, &p1ro, NULL);
} else if (llist_empty(group_q)) {
+ struct p1_rest_octets p1ro;
+ memset(&p1ro, 0, sizeof(p1ro));
+ /* Use NLN to notify MS about ongoing VGCS/VBS calls.
+ * This is required to make the phone read the NCH to get an updated list of ongoing
calls.
+ * Without this the phone will not allow making VGCS/VBS calls. */
+ p1ro.nln_pch.present = (bts->asci.pos_nch >= 0);
+ p1ro.nln_pch.nln = bts->asci.nln;
+ p1ro.nln_pch.nln_status = bts->asci.nln_status;
/* There is nobody to be paged, send Type1 with two empty ID */
//DEBUGP(DPAG, "Tx PAGING TYPE 1 (empty)\n");
- /* for now, we only send VGCS/VBS notfication if we have nothing else to page;
- * this is the safe choice. For other situations with mobile identities in the
- * paging type 1, we'd need to check if there's sufficient space in the rest
octets. */
- notif = bts_asci_notification_get_next(bts);
- len = fill_paging_type_1(out_buf, empty_id_lv, 0, NULL, 0, NULL, notif);
+ len = fill_paging_type_1(out_buf, empty_id_lv, 0, NULL, 0, &p1ro, NULL);
*is_empty = 1;
} else {
struct paging_record *pr[4];
--
To view, visit
https://gerrit.osmocom.org/c/osmo-bts/+/33299
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I22e584b70fd14d8bdabb28cf5de3d4647f37425a
Gerrit-Change-Number: 33299
Gerrit-PatchSet: 10
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged