diff options
author | Harald Welte <laforge@gnumonks.org> | 2009-01-05 19:42:46 +0000 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2009-01-05 19:42:46 +0000 |
commit | 38e04372e54ed6eac7a58c14b66a6d94c2c23332 (patch) | |
tree | 27270088cc80698481b911f5bb58bcd38e3aee0b | |
parent | 196a366e302a79406c3043b82433e1c3ae390d24 (diff) |
handle IDLE speech frames in trau_frame code
-rw-r--r-- | include/openbsc/trau_frame.h | 2 | ||||
-rw-r--r-- | src/trau_frame.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/include/openbsc/trau_frame.h b/include/openbsc/trau_frame.h index d307c52c9..1d0a943a9 100644 --- a/include/openbsc/trau_frame.h +++ b/include/openbsc/trau_frame.h @@ -52,6 +52,8 @@ struct decoded_trau_frame { #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 e0238ce02..8eb2b453c 100644 --- a/src/trau_frame.c +++ b/src/trau_frame.c @@ -61,6 +61,7 @@ static void decode_fr(struct decoded_trau_frame *fr, u_int8_t *trau_bits) 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 @@ int decode_trau_frame(struct decoded_trau_frame *fr, u_int8_t *trau_bits) 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; |