jolly has uploaded this change for review.
Add LLC and HLC information forwarding to MNCC interface
low/high layer compatibility are used for capability checking between
caller and called entitiy. The transcoding is performed by libosmogsm.
Related: OS#6152
Depends: libosmocore.git Ia6a2159ecf810a02f85b558026edf20b934567de
Change-Id: I760980a7e17e2fa81615adc69ef85797eb0c07f1
---
M src/libmsc/gsm_04_08_cc.c
1 file changed, 32 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/93/35393/1
diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c
index 31fcb23..c31333f 100644
--- a/src/libmsc/gsm_04_08_cc.c
+++ b/src/libmsc/gsm_04_08_cc.c
@@ -645,6 +645,18 @@
gsm48_decode_called(&setup.called,
TLVP_VAL(&tp, GSM48_IE_CALLED_BCD)-1);
}
+ /* low layer compatibility */
+ if (TLVP_PRESENT(&tp, GSM48_IE_LOWL_COMPAT)) {
+ setup.fields |= MNCC_F_LOWL_COMPAT;
+ gsm48_decode_lowl_compat(&setup.llc,
+ TLVP_VAL(&tp, GSM48_IE_LOWL_COMPAT)-1);
+ }
+ /* high layer compatibility */
+ if (TLVP_PRESENT(&tp, GSM48_IE_HIGHL_COMPAT)) {
+ setup.fields |= MNCC_F_HIGHL_COMPAT;
+ gsm48_decode_highl_compat(&setup.hlc,
+ TLVP_VAL(&tp, GSM48_IE_HIGHL_COMPAT)-1);
+ }
/* user-user */
if (TLVP_PRESENT(&tp, GSM48_IE_USER_USER)) {
setup.fields |= MNCC_F_USERUSER;
@@ -915,6 +927,12 @@
/* called party BCD number */
if (setup->fields & MNCC_F_CALLED)
gsm48_encode_called(msg, &setup->called);
+ /* low layer compatibility */
+ if (setup->fields & MNCC_F_LOWL_COMPAT)
+ gsm48_encode_lowl_compat(msg, &setup->llc);
+ /* high layer compatibility */
+ if (setup->fields & MNCC_F_HIGHL_COMPAT)
+ gsm48_encode_highl_compat(msg, &setup->hlc);
/* user-user */
if (setup->fields & MNCC_F_USERUSER)
gsm48_encode_useruser(msg, 0, &setup->useruser);
To view, visit change 35393. To unsubscribe, or for help writing mail filters, visit settings.