iuup_cn_node.c: use correct header for AMR SID frames

rx_data(): if iuup header (4 bytes) + amr payload (5 bytes) is 9 bytes
then it means that this is AMR SID (Comfort Noise Frame) and other
header should be used. The second byte of AMR header is set to 0x44.
diff --git a/src/libosmo-mgcp/iuup_cn_node.c b/src/libosmo-mgcp/iuup_cn_node.c
index fda7a7a..6a7e3b5 100644
--- a/src/libosmo-mgcp/iuup_cn_node.c
+++ b/src/libosmo-mgcp/iuup_cn_node.c
@@ -87,9 +87,12 @@
 	/* Remove the IuUP bit from the middle of the buffer by writing the RTP header forward. */
 	/* And append AMR 12.2k header "0xf03c". - AD HOC fix */
 	unsigned int pre_hdr_len = ((uint8_t*)hdr) - pdu->data;
+
+	int is_comfort_noise = ((pdu->len - pre_hdr_len) == 9);
+
 	memmove(pdu->data + sizeof(*hdr) - 2, pdu->data, pre_hdr_len);
 	((uint8_t*)hdr)[2] = 0xf0;
-	((uint8_t*)hdr)[3] = 0x3c;
+	((uint8_t*)hdr)[3] = is_comfort_noise ? 0x44 : 0x3c;
 	msgb_pull(pdu, sizeof(*hdr) - 2);
 
 	LOGP(DIUUP, LOGL_DEBUG, "(%s) IuUP stripping IuUP header from RTP data\n", cn->name);