implement CM Re-Establish for voice calls

Related: SYS#5130
Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60
diff --git a/include/osmocom/msc/gsm_data.h b/include/osmocom/msc/gsm_data.h
index 1870804..170d884 100644
--- a/include/osmocom/msc/gsm_data.h
+++ b/include/osmocom/msc/gsm_data.h
@@ -44,6 +44,8 @@
 	MSC_CTR_CM_SERVICE_REQUEST_ACCEPTED,
 	MSC_CTR_PAGING_RESP_REJECTED,
 	MSC_CTR_PAGING_RESP_ACCEPTED,
+	MSC_CTR_CM_RE_ESTABLISH_REQ_REJECTED,
+	MSC_CTR_CM_RE_ESTABLISH_REQ_ACCEPTED,
 	MSC_CTR_SMS_SUBMITTED,
 	MSC_CTR_SMS_NO_RECEIVER,
 	MSC_CTR_SMS_DELIVERED,
@@ -76,6 +78,8 @@
 	[MSC_CTR_CM_SERVICE_REQUEST_ACCEPTED] = {"cm_service_request:accepted", "Accepted CM Service Requests."},
 	[MSC_CTR_PAGING_RESP_REJECTED] = 	{"paging_resp:rejected", "Rejected Paging Responses."},
 	[MSC_CTR_PAGING_RESP_ACCEPTED] = 	{"paging_resp:accepted", "Accepted Paging Responses."},
+	[MSC_CTR_CM_RE_ESTABLISH_REQ_REJECTED] = {"cm_re_establish_request:rejected", "Rejected CM Re-Establishing Requests."},
+	[MSC_CTR_CM_RE_ESTABLISH_REQ_ACCEPTED] = {"cm_re_establish_request:accepted", "Accepted CM Re-Establishing Requests."},
 	[MSC_CTR_SMS_SUBMITTED] = 		{"sms:submitted", "Total MO SMS received from the MS."},
 	[MSC_CTR_SMS_NO_RECEIVER] = 		{"sms:no_receiver", "Failed MO SMS delivery attempts (no receiver found)."},
 	[MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR] =	{"sms:deliver_unknown_error", "Failed MO SMS delivery attempts (other reason)."},
diff --git a/include/osmocom/msc/msc_common.h b/include/osmocom/msc/msc_common.h
index e7ac559..f3fb0e0 100644
--- a/include/osmocom/msc/msc_common.h
+++ b/include/osmocom/msc/msc_common.h
@@ -41,6 +41,7 @@
 	COMPLETE_LAYER3_LU,
 	COMPLETE_LAYER3_CM_SERVICE_REQ,
 	COMPLETE_LAYER3_PAGING_RESP,
+	COMPLETE_LAYER3_CM_RE_ESTABLISH_REQ,
 };
 
 extern const struct value_string complete_layer3_type_names[];
diff --git a/include/osmocom/msc/vlr.h b/include/osmocom/msc/vlr.h
index 3273333..f12e906 100644
--- a/include/osmocom/msc/vlr.h
+++ b/include/osmocom/msc/vlr.h
@@ -444,6 +444,7 @@
 	VLR_PR_ARQ_T_INVALID = 0, /* to guard against unset vars */
 	VLR_PR_ARQ_T_CM_SERV_REQ,
 	VLR_PR_ARQ_T_PAGING_RESP,
+	VLR_PR_ARQ_T_CM_RE_ESTABLISH_REQ,
 	/* FIXME: differentiate between services of 24.008 10.5.3.3 */
 };