libmsc/gsm_04_11.c: properly handle MMTS indication

According to 3GPP TS 29.002, section 7.6.8.7, MMS (More Messages to Send)
is an optional IE of MT-ForwardSM-Req message which is used by SMSC to
indicate that there are more (multi-part) MT SMS messages to be sent.

The MSC needs to use this indication in order to decide whether to
keep the RAN connection with a given subscriber open.

Related Change-Id: (TTCN) I6308586a70c4fb3254c519330a61a9667372149f
Change-Id: Ic46b04913b2e8cc5d11a39426dcc1bfe11f1d31e
Related: OS#3587
diff --git a/include/osmocom/msc/gsm_04_11.h b/include/osmocom/msc/gsm_04_11.h
index be8bff3..c504c7f 100644
--- a/include/osmocom/msc/gsm_04_11.h
+++ b/include/osmocom/msc/gsm_04_11.h
@@ -45,7 +45,8 @@
 		    struct gsm_sms *sms);
 int gsm411_send_rp_data(struct gsm_network *net, struct vlr_subscr *vsub,
 			size_t sm_rp_oa_len, const uint8_t *sm_rp_oa,
-			size_t sm_rp_ud_len, const uint8_t *sm_rp_ud);
+			size_t sm_rp_ud_len, const uint8_t *sm_rp_ud,
+			bool sm_rp_mmts_ind);
 
 void gsm411_sapi_n_reject(struct msc_a *msc_a);
 
diff --git a/include/osmocom/msc/msc_a.h b/include/osmocom/msc/msc_a.h
index c732695..a4d3226 100644
--- a/include/osmocom/msc/msc_a.h
+++ b/include/osmocom/msc/msc_a.h
@@ -45,6 +45,7 @@
 #define MSC_A_USE_PAGING_RESPONSE	"paging-response"
 #define MSC_A_USE_CC		"cc"
 #define MSC_A_USE_SMS		"sms"
+#define MSC_A_USE_SMS_MMTS	"sms_mmts"
 #define MSC_A_USE_NC_SS		"nc_ss"
 #define MSC_A_USE_SILENT_CALL	"silent_call"
 
diff --git a/include/osmocom/msc/transaction.h b/include/osmocom/msc/transaction.h
index 9278b64..ba609ea 100644
--- a/include/osmocom/msc/transaction.h
+++ b/include/osmocom/msc/transaction.h
@@ -110,6 +110,8 @@
 
 			/* SM-RP-MR, Message Reference (see GSM TS 04.11, section 8.2.3) */
 			uint8_t sm_rp_mr;
+			/* More Messages to Send (see 3GPP TS 29.002, section 7.6.8.7) */
+			bool sm_rp_mmts_ind;
 
 			struct gsm_sms *sms;
 		} sms;