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
This commit is contained in:
parent
534847cc65
commit
8c1c145e6e
|
@ -645,6 +645,18 @@ static int gsm48_cc_rx_setup(struct gsm_trans *trans, struct msgb *msg)
|
|||
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 @@ static int gsm48_cc_tx_setup(struct gsm_trans *trans, void *arg)
|
|||
/* 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);
|
||||
|
|
Loading…
Reference in New Issue