summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gsm/gsm0480.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gsm/gsm0480.c b/src/gsm/gsm0480.c
index 0f302502..0072812d 100644
--- a/src/gsm/gsm0480.c
+++ b/src/gsm/gsm0480.c
@@ -295,7 +295,11 @@ static int parse_ss(const struct gsm48_hdr *hdr, uint16_t len, struct ss_request
switch (msg_type) {
case GSM0480_MTYPE_RELEASE_COMPLETE:
LOGP(0, LOGL_DEBUG, "SS Release Complete\n");
- /* could also parse out the optional Cause/Facility data */
+
+ /* Parse optional Cause and/or Facility data */
+ if (len >= 2)
+ rc &= parse_ss_info_elements(&hdr->data[0], len, req);
+
req->ussd_text[0] = 0xFF;
break;
case GSM0480_MTYPE_REGISTER: