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

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.

B.


=====================

From: bob <avwiseav <at> gmail.com>
Subject: is my patch for capturing TCH frame correctly?
Newsgroups: gmane.comp.mobile.osmocom.baseband.devel
Date: 2012-07-19 08:58:28 GMT (27 weeks, 6 days, 20 hours and 14 minutes ago)
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
};
+