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;