Change in libosmocore[master]: gsm0808: add gsm0808_create_sapi_reject_cause()

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/.

fixeria gerrit-no-reply at lists.osmocom.org
Wed Aug 26 11:14:49 UTC 2020


fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/19820 )


Change subject: gsm0808: add gsm0808_create_sapi_reject_cause()
......................................................................

gsm0808: add gsm0808_create_sapi_reject_cause()

This is basically a successor of gsm0808_create_sapi_reject(), but
instead of hard-coding GSM0808_CAUSE_BSS_NOT_EQUIPPED, it allows
the caller to specify a cause value to be used.  The old function
is now deprecated and should not be used.

Change-Id: Iefe5484d0fa02d5722b628b1dc237d51d3fb1a9b
Related: OS#4728
---
M TODO-RELEASE
M include/osmocom/gsm/gsm0808.h
M src/gsm/gsm0808.c
M src/gsm/libosmogsm.map
M tests/gsm0808/gsm0808_test.c
5 files changed, 18 insertions(+), 3 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/20/19820/1

diff --git a/TODO-RELEASE b/TODO-RELEASE
index 8ccfa49..3c2a15b 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -7,3 +7,4 @@
 # If any interfaces have been added since the last public release: c:r:a + 1.
 # If any interfaces have been removed or changed since the last public release: c:r:0.
 #library	what			description / commit summary line
+libosmogsm	new API			gsm0808_create_sapi_reject_cause() with cause argument
diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h
index 2a26fb5..20137da 100644
--- a/include/osmocom/gsm/gsm0808.h
+++ b/include/osmocom/gsm/gsm0808.h
@@ -60,7 +60,9 @@
 struct msgb *gsm0808_create_classmark_request();
 struct msgb *gsm0808_create_classmark_update(const uint8_t *cm2, uint8_t cm2_len,
 					     const uint8_t *cm3, uint8_t cm3_len);
-struct msgb *gsm0808_create_sapi_reject(uint8_t link_id);
+struct msgb *gsm0808_create_sapi_reject_cause(uint8_t link_id, uint16_t cause);
+struct msgb *gsm0808_create_sapi_reject(uint8_t link_id)
+	OSMO_DEPRECATED("Use gsm0808_create_sapi_reject_cause() instead");
 struct msgb *gsm0808_create_ass(const struct gsm0808_channel_type *ct,
 				const uint16_t *cic,
 				const struct sockaddr_storage *ss,
diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c
index a1d567d..a8c702b 100644
--- a/src/gsm/gsm0808.c
+++ b/src/gsm/gsm0808.c
@@ -444,8 +444,9 @@
 
 /*! Create BSSMAP SAPI N Reject message
  *  \param[in] link_id Link Identifier
+ *  \param[in] cause BSSAP Cause value (see 3GPP TS 48.008, section 3.2.2.5)
  *  \returns callee-allocated msgb with BSSMAP SAPI N Reject message */
-struct msgb *gsm0808_create_sapi_reject(uint8_t link_id)
+struct msgb *gsm0808_create_sapi_reject_cause(uint8_t link_id, uint16_t cause)
 {
 	struct msgb *msg = msgb_alloc_headroom(BSSMAP_MSG_SIZE, BSSMAP_MSG_HEADROOM,
 					       "bssmap: sapi 'n' reject");
@@ -461,6 +462,16 @@
 	return msg;
 }
 
+/*! Create BSSMAP SAPI N Reject message (with hard-coded cause "BSS not equipped").
+ *  DEPRECATED: use gsm0808_create_sapi_reject_cause() instead.
+ *  \param[in] link_id Link Identifier
+ *  \param[in] cause BSSAP Cause value (see 3GPP TS 48.008, section 3.2.2.5)
+ *  \returns callee-allocated msgb with BSSMAP SAPI N Reject message */
+struct msgb *gsm0808_create_sapi_reject(uint8_t link_id)
+{
+	return gsm0808_create_sapi_reject_cause(link_id, GSM0808_CAUSE_BSS_NOT_EQUIPPED);
+}
+
 /*! Create BSSMAP Assignment Request message, 3GPP TS 48.008 §3.2.1.1.
  *  This is identical to gsm0808_create_ass(), but adds KC and LCLS IEs.
  *  \param[in] ct Channel Type
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index 713ffe3..4ece107 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -190,6 +190,7 @@
 gsm0808_create_lcls_notification;
 gsm0808_create_reset;
 gsm0808_create_reset_ack;
+gsm0808_create_sapi_reject_cause;
 gsm0808_create_sapi_reject;
 gsm0808_create_handover_required;
 gsm0808_create_handover_required_reject;
diff --git a/tests/gsm0808/gsm0808_test.c b/tests/gsm0808/gsm0808_test.c
index 5c1a931..dd2ffbe 100644
--- a/tests/gsm0808/gsm0808_test.c
+++ b/tests/gsm0808/gsm0808_test.c
@@ -374,7 +374,7 @@
 	struct msgb *msg;
 
 	printf("Testing creating SAPI Reject\n");
-	msg = gsm0808_create_sapi_reject(3);
+	msg = gsm0808_create_sapi_reject_cause(3, GSM0808_CAUSE_BSS_NOT_EQUIPPED);
 	VERIFY(msg, res, ARRAY_SIZE(res));
 	msgb_free(msg);
 }

-- 
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/19820
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Iefe5484d0fa02d5722b628b1dc237d51d3fb1a9b
Gerrit-Change-Number: 19820
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200826/5e4f0003/attachment.htm>


More information about the gerrit-log mailing list