aboutsummaryrefslogtreecommitdiffstats
path: root/src/gsm_04_08.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gsm_04_08.c')
-rw-r--r--src/gsm_04_08.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/gsm_04_08.c b/src/gsm_04_08.c
index 83399d021..6a797b73d 100644
--- a/src/gsm_04_08.c
+++ b/src/gsm_04_08.c
@@ -349,8 +349,10 @@ static int gsm48_tx_mm_serv_ack(struct gsm_lchan *lchan)
static int gsm48_rx_mm_serv_req(struct msgb *msg)
{
struct gsm48_hdr *gh = msgb_l3(msg);
+ u_int8_t serv_type = gh->data[0] & 0x0f;
+
+ DEBUGP(DMM, "CM SERVICE REQUEST serv_type=0x%02x\n", serv_type);
- DEBUGP(DMM, "CM SERVICE REQUEST\n");
return gsm48_tx_mm_serv_ack(msg->lchan);
}
@@ -543,6 +545,12 @@ static int gsm0408_rcv_cc(struct msgb *msg)
return rc;
}
+static int gsm0408_rcv_sms(struct msgb *msg)
+{
+ DEBUGP(DSMS, "SMS Message\n");
+ return 0;
+}
+
/* here we pass in a msgb from the RSL->RLL. We expect the l3 pointer to be set */
int gsm0408_rcvmsg(struct msgb *msg)
{
@@ -560,8 +568,11 @@ int gsm0408_rcvmsg(struct msgb *msg)
case GSM48_PDISC_RR:
rc = gsm0408_rcv_rr(msg);
break;
+ case GSM48_PDISC_SMS:
+ rc = gsm0408_rcv_sms(msg);
+ break;
case GSM48_PDISC_MM_GPRS:
- case GSM48_PDISC_SM:
+ case GSM48_PDISC_SM_GPRS:
fprintf(stderr, "Unimplemented GSM 04.08 discriminator 0x%02d\n",
pdisc);
break;