This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/16537 )
Change subject: Support Gb PAGING-CS
......................................................................
Support Gb PAGING-CS
The paging is sent over PACCH towards MS with an active TBF.
Related: OS#2406
Change-Id: I9501e02e1d7f6944497e724dbccb9a19c3f5221f
---
M src/gprs_bssgp_pcu.cpp
1 file changed, 30 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/37/16537/1
diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp
index 67c8653..983c22c 100644
--- a/src/gprs_bssgp_pcu.cpp
+++ b/src/gprs_bssgp_pcu.cpp
@@ -173,6 +173,33 @@
ms_class, egprs_ms_class, delay_csec, data, len);
}
+static int gprs_bssgp_pcu_rx_paging_cs(struct msgb *msg, struct tlv_parsed *tp)
+{
+ uint8_t identity_lv[9];
+ uint8_t *chan_needed = (uint8_t *)TLVP_VAL(tp, BSSGP_IE_CHAN_NEEDED);
+
+ if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) {
+ identity_lv[0] = TLVP_LEN(tp, BSSGP_IE_TMSI);
+ if (identity_lv[0] >= sizeof(identity_lv)) {
+ LOGP(DBSSGP, LOGL_NOTICE, "TMSI IE too big (%" PRIu8 ")\n", identity_lv[0]);
+ return bssgp_tx_status(BSSGP_CAUSE_COND_IE_ERR, NULL, msg);
+ }
+ memcpy(&identity_lv[1], TLVP_VAL(tp, BSSGP_IE_TMSI), identity_lv[0]);
+ } else if (TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { /* Use IMSI if TMSI not available: */
+ identity_lv[0] = TLVP_LEN(tp, BSSGP_IE_IMSI);
+ if (identity_lv[0] >= sizeof(identity_lv)) {
+ LOGP(DBSSGP, LOGL_NOTICE, "IMSI IE too big (%" PRIu8 ")\n", identity_lv[0]);
+ return bssgp_tx_status(BSSGP_CAUSE_COND_IE_ERR, NULL, msg);
+ }
+ memcpy(&identity_lv[1], TLVP_VAL(tp, BSSGP_IE_IMSI), identity_lv[0]);
+ } else {
+ LOGP(DBSSGP, LOGL_ERROR, "No IMSI\n");
+ return bssgp_tx_status(BSSGP_CAUSE_COND_IE_ERR, NULL, msg);
+ }
+
+ return BTS::main_bts()->add_paging(chan_needed ? *chan_needed : 0, identity_lv);
+}
+
static int gprs_bssgp_pcu_rx_paging_ps(struct msgb *msg, struct tlv_parsed *tp)
{
uint8_t identity_lv[9];
@@ -311,6 +338,9 @@
the_pcu.bvc_reset = 1;
bvc_timeout(NULL);
break;
+ case BSSGP_PDUT_PAGING_CS:
+ gprs_bssgp_pcu_rx_paging_cs(msg, tp);
+ break;
case BSSGP_PDUT_PAGING_PS:
gprs_bssgp_pcu_rx_paging_ps(msg, tp);
break;
@@ -323,7 +353,6 @@
break;
case BSSGP_PDUT_SUSPEND_NACK:
case BSSGP_PDUT_RESUME_NACK:
- case BSSGP_PDUT_PAGING_CS:
case BSSGP_PDUT_FLUSH_LL:
case BSSGP_PDUT_SGSN_INVOKE_TRACE:
LOGP(DBSSGP, LOGL_INFO, "Rx BSSGP BVCI=%d (SIGN) PDU type %s not implemented\n",
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/16537
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I9501e02e1d7f6944497e724dbccb9a19c3f5221f
Gerrit-Change-Number: 16537
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20191210/1e64dab8/attachment.htm>