diff options
Diffstat (limited to 'openbsc/src/gprs/gprs_gsup_messages.c')
-rw-r--r-- | openbsc/src/gprs/gprs_gsup_messages.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/openbsc/src/gprs/gprs_gsup_messages.c b/openbsc/src/gprs/gprs_gsup_messages.c index cb14fa114..bdcff5f69 100644 --- a/openbsc/src/gprs/gprs_gsup_messages.c +++ b/openbsc/src/gprs/gprs_gsup_messages.c @@ -303,6 +303,11 @@ int gprs_gsup_decode(const uint8_t *const_data, size_t data_len, gsup_msg->msisdn_enc_len = value_len; break; + case GPRS_GSUP_HLR_NUMBER_IE: + gsup_msg->hlr_enc = value; + gsup_msg->hlr_enc_len = value_len; + break; + default: LOGP(DGPRS, LOGL_NOTICE, "GSUP IE type %d unknown\n", iei); @@ -394,6 +399,9 @@ void gprs_gsup_encode(struct msgb *msg, const struct gprs_gsup_message *gsup_msg if (gsup_msg->msisdn_enc) msgb_tlv_put(msg, GPRS_GSUP_MSISDN_IE, gsup_msg->msisdn_enc_len, gsup_msg->msisdn_enc); + if (gsup_msg->hlr_enc) + msgb_tlv_put(msg, GPRS_GSUP_HLR_NUMBER_IE, + gsup_msg->hlr_enc_len, gsup_msg->hlr_enc); if ((u8 = gsup_msg->cause)) msgb_tlv_put(msg, GPRS_GSUP_CAUSE_IE, sizeof(u8), &u8); |