Implementation of TCH/F decoder supporting GSM-FR and GSM-EFR. Issue #50
diff --git a/grc/decoding/CMakeLists.txt b/grc/decoding/CMakeLists.txt
index 36820f3..2f6eada 100644
--- a/grc/decoding/CMakeLists.txt
+++ b/grc/decoding/CMakeLists.txt
@@ -18,5 +18,6 @@
 # Boston, MA 02110-1301, USA.
 
 install(FILES
-    gsm_control_channels_decoder.xml DESTINATION share/gnuradio/grc/blocks
+    gsm_control_channels_decoder.xml 
+    gsm_tch_f_decoder.xml DESTINATION share/gnuradio/grc/blocks
 )
diff --git a/grc/decoding/gsm_tch_f_decoder.xml b/grc/decoding/gsm_tch_f_decoder.xml
new file mode 100644
index 0000000..b8d6dbf
--- /dev/null
+++ b/grc/decoding/gsm_tch_f_decoder.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<block>
+  <name>TCH/F decoder</name>
+  <key>gsm_tch_f_decoder</key>
+  <import>import grgsm</import>
+  <make>grgsm.tch_f_decoder($mode, $file)</make>
+
+  <param>
+    <name>TCH coding mode</name>
+    <key>mode</key>
+    <type>enum</type>
+    <option>
+      <name>GSM-FR</name>
+      <key>grgsm.MODE_SPEECH_FR</key>
+    </option>
+    <option>
+      <name>GSM-EFR</name>
+      <key>grgsm.MODE_SPEECH_EFR</key>
+    </option>
+  </param>
+  <param>
+    <name>destination file</name>
+    <key>file</key>
+    <value>/tmp/speech.gsm</value>
+    <type>file_open</type>
+  </param>
+
+  <sink>
+    <name>bursts</name>
+    <type>message</type>
+  </sink>
+  <source>
+    <name>msgs</name>
+    <type>message</type>
+    <optional>1</optional>
+  </source>
+</block>
diff --git a/grc/gsm_block_tree.xml b/grc/gsm_block_tree.xml
index 46f96ff..e32121c 100644
--- a/grc/gsm_block_tree.xml
+++ b/grc/gsm_block_tree.xml
@@ -31,6 +31,7 @@
     <cat>
       <name>Decoding</name>
       <block>gsm_control_channels_decoder</block>
+      <block>gsm_tch_f_decoder</block>
     </cat>
     <cat>
       <name>Utilities</name>