jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/35393?usp=email )
Change subject: Add LLC and HLC information forwarding to MNCC interface ......................................................................
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);