diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c
index a0b0724db2b0b6ea0ff096f885aa81d2241fb8ef..e25a0b2bca52208d2e1796216322ba7f868b1276 100755
--- a/channels/chan_mgcp.c
+++ b/channels/chan_mgcp.c
@@ -899,7 +899,7 @@ static int mgcp_call(struct ast_channel *ast, char *dest, int timeout)
 		res = -1;
 	}
 	ast_mutex_unlock(&sub->lock);
-	ast_queue_frame(ast, AST_CONTROL_RINGING);
+	ast_queue_control(ast, AST_CONTROL_RINGING);
 	return res;
 }
 
diff --git a/logger.c b/logger.c
index 7f32b70c2b532334c6fd33dc7ee012f384f7314f..853f0d895f1b2f36df7545a33c316973b0cb099e 100755
--- a/logger.c
+++ b/logger.c
@@ -48,7 +48,7 @@ static int syslog_level_map[] = {
 
 #define MAX_MSG_QUEUE 200
 
-#ifdef __linux__
+#if defined(__linux__) && defined(__NR_gettid)
 #include <asm/unistd.h>
 #define GETTID() syscall(__NR_gettid)
 #else