handle IDLE speech frames in trau_frame code

diff --git a/include/openbsc/trau_frame.h b/include/openbsc/trau_frame.h
index d307c52..1d0a943 100644
--- a/include/openbsc/trau_frame.h
+++ b/include/openbsc/trau_frame.h
@@ -52,6 +52,8 @@
 #define TRAU_FT_DATA_DOWN	0x16	/* 1 0 1 1 0 - 3.5.3 */
 #define TRAU_FT_D145_SYNC	0x14	/* 1 0 1 0 0 - 3.5.3 */
 #define TRAU_FT_EDATA		0x1f	/* 1 1 1 1 1 - 3.5.4 */
+#define TRAU_FT_IDLE_UP		0x10	/* 1 0 0 0 0 - 3.5.5 */
+#define TRAU_FT_IDLE_DOWN	0x0e	/* 0 1 1 1 0 - 3.5.5 */
 
 
 int decode_trau_frame(struct decoded_trau_frame *fr, u_int8_t *trau_bits);
diff --git a/src/trau_frame.c b/src/trau_frame.c
index e0238ce..8eb2b45 100644
--- a/src/trau_frame.c
+++ b/src/trau_frame.c
@@ -61,6 +61,7 @@
 	memcpy(fr->d_bits + d_idx, trau_bits + 305, 5);
 }
 
+/* Decode according to 3.1.2 */
 static void decode_amr(struct decoded_trau_frame *fr, u_int8_t *trau_bits)
 {
 	int i;
@@ -90,6 +91,8 @@
 	switch (cbits5) {
 	case TRAU_FT_FR_UP:
 	case TRAU_FT_FR_DOWN:
+	case TRAU_FT_IDLE_UP:
+	case TRAU_FT_IDLE_DOWN:
 	case TRAU_FT_EFR:
 		decode_fr(fr, trau_bits);
 		break;