RR: add VAMOS channel modes

Also add functions to convert between VAMOS and non-VAMOS speech modes.

Related: SYS#4895 SYS#5315
Change-Id: Ie0ea592da5610ae70290106d004e549cf3212a89
diff --git a/include/osmocom/gsm/gsm48.h b/include/osmocom/gsm/gsm48.h
index fdaa572..c1ca630 100644
--- a/include/osmocom/gsm/gsm48.h
+++ b/include/osmocom/gsm/gsm48.h
@@ -118,3 +118,6 @@
 
 #define gsm48_push_l3hdr_tid(msg, pdisc, tid, msg_type) \
 	gsm48_push_l3hdr(msg, (pdisc & 0x0f) | (tid << 4), msg_type)
+
+enum gsm48_chan_mode gsm48_chan_mode_to_vamos(enum gsm48_chan_mode mode);
+enum gsm48_chan_mode gsm48_chan_mode_to_non_vamos(enum gsm48_chan_mode mode);
diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h
index a103c32..c9cc667 100644
--- a/include/osmocom/gsm/protocol/gsm_04_08.h
+++ b/include/osmocom/gsm/protocol/gsm_04_08.h
@@ -749,6 +749,10 @@
 	GSM48_CMODE_DATA_12k0	= 0x03,
 	GSM48_CMODE_DATA_6k0	= 0x0b,
 	GSM48_CMODE_DATA_3k6	= 0x13,
+	GSM48_CMODE_SPEECH_V1_VAMOS	= 0xc1,
+	GSM48_CMODE_SPEECH_V2_VAMOS	= 0xc2,
+	GSM48_CMODE_SPEECH_V3_VAMOS	= 0xc3,
+	GSM48_CMODE_SPEECH_V5_VAMOS	= 0xc5,
 };
 
 extern const struct value_string gsm48_chan_mode_names[];