Add TCH/H decoder block with AMR multirate support

Add new TCHH channel mode
Add two new optional arguments

    -m CHAN_MODE, --mode=CHAN_MODE
                        Channel mode. Valid options are 'BCCH' (Non-combined
                        C0), 'BCCH_SDCCH4'(Combined C0), 'SDCCH8' (Stand-alone
                        control channel) 'TCHF' (Traffic Channel, Full rate),
                        'TCHH' (Traffic Channel, Half rate)

    --sub-channel=TCH_H_CHANNEL
                        TCH/H sub-channel. [default=0]
    --multi-rate=MULTI_RATE
                        The MultiRrate configuration element from the
                        Assigment Command message. Example: 28111a40. See 3GPP
                        TS 44.018 - 10.5.2.21aa MultiRate configuration

Example:
    grgsm_decode -m TCHH --sub-channel 0 --multi-rate 2811 -o voice.amr ...
diff --git a/grc/decoding/gsm_tch_h_decoder.xml b/grc/decoding/gsm_tch_h_decoder.xml
new file mode 100644
index 0000000..895104e
--- /dev/null
+++ b/grc/decoding/gsm_tch_h_decoder.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0"?>
+<block>
+  <name>TCH/H decoder</name>
+  <key>gsm_tch_h_decoder</key>
+  <import>import grgsm</import>
+  <make>grgsm.tch_h_decoder($sub_channel, $mode, $boundary_check)</make>
+
+  <param>
+    <name>sub-channel number</name>
+    <key>sub_channel</key>
+    <value>0</value>
+    <type>int</type>
+    <option>
+      <name>sub-channel 0</name>
+      <key>0</key>
+    </option>
+    <option>
+      <name>sub-channel 1</name>
+      <key>1</key>
+    </option>
+  </param>
+  <param>
+    <name>TCH/H coding mode</name>
+    <key>mode</key>
+    <type>enum</type>
+    <option>
+      <name>GSM-HS</name>
+      <key>grgsm.TCH_HS</key>
+    </option>
+    <option>
+      <name>GSM-AMR 7.95</name>
+      <key>grgsm.TCH_AHS7_95</key>
+    </option>
+    <option>
+      <name>GSM-AMR 7.4</name>
+      <key>grgsm.TCH_AHS7_4</key>
+    </option>
+    <option>
+      <name>GSM-AMR 6.7</name>
+      <key>grgsm.TCH_AHS6_7</key>
+    </option>
+    <option>
+      <name>GSM-AMR 5.9</name>
+      <key>grgsm.TCH_AHS5_9</key>
+    </option>
+    <option>
+      <name>GSM-AMR 5.15</name>
+      <key>grgsm.TCH_AHS5_15</key>
+    </option>
+    <option>
+      <name>GSM-AMR 4.75</name>
+      <key>grgsm.TCH_AHS4_75</key>
+    </option>
+  </param>
+  <param>
+    <name>Voice boundary detection</name>
+    <key>boundary_check</key>
+    <value>False</value>
+    <type>bool</type>
+    <option>
+      <name>False</name>
+      <key>False</key>
+    </option>
+    <option>
+      <name>True</name>
+      <key>True</key>
+    </option>
+  </param>
+  <check>$sub_channel() &gt; -1 and $sub_channel() &lt; 2</check>
+  <sink>
+    <name>bursts</name>
+    <type>message</type>
+  </sink>
+  <source>
+    <name>msgs</name>
+    <type>message</type>
+    <optional>1</optional>
+  </source>
+  <source>
+    <name>voice</name>
+    <type>message</type>
+    <optional>1</optional>
+  </source>
+
+  <doc>
+If "Voice boundary detection" is enabled, then only bursts are decoded as voice where
+
+- the framenumber is greater then the framenumber of a received "Connect" or "Connect Acknowlegde" message, and
+- the framenumber is less then the framenumber of a "Release" message
+  </doc>
+
+</block>