Decoding AMR

Bhaskar11 niceguy108 at
Thu Jan 31 07:12:10 UTC 2013

I've been experimenting with decoding AMR in burst_ind with the following

1. Ignore SACCH and UL frames
2. check for FACCH
3. check for CMI/CMR (only on specific frame numbers) and change codec if
necessary after 12 frames
4. check for RATSCCH, if necessary change codec after 12 frames

Can anyone confirm that this is the proper process?

I've looked at Bob's code of July 2012. It does not use the above checks
which may be the reason for its failure.



From: bob <avwiseav <at>>
Subject: is my patch for capturing TCH frame
Date: 2012-07-19 08:58:28 GMT (27 weeks, 6 days, 20 hours and 14 minutes

Hi, everyone interesting the topic, this is my latest patch for TCH decode,
fix few bug;
but it not work well for TCH AMR decode, welcome everyone interesting it to
review it and
modify it!

the most problem now I think is the capture of the Correct TCH frame, at the
last ,there is
some output for analysis

--- app_ccch_scan.c	2012-03-14 16:08:11.305112000 +0800
+++ new_app_ccch_scan.c	2012-07-19 15:32:31.945314000 +0800
 <at>  <at>  -50,20 +50,80  <at>  <at>
 #include <l1ctl_proto.h>

 #include <osmocom/bb/misc/xcch.h>
+#include <codec.h>
+#include "conv_tch_afs.h"
+//#include "../openbtsstuff/GSML1FEC.h"
+//extern bool TCHFACCHL1Decoder::processBurst( const RxBurst& inBurst);
+//const struct osmo_conv_code conv_tch_afs_12_2;

+extern FILE *log_tmsi;
 extern struct gsmtap_inst *gsmtap_inst;
+FILE *d_speech_file;
+const unsigned char amr_nb_magic[6] = { 0x23, 0x21, 0x41, 0x4d, 0x52, 0x0a
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the baseband-devel mailing list