diff --git a/asterisk.c b/asterisk.c
index 3e39c7cbf4aefdfa3a9bda9081d9029daecc030e..2f8df1279314a5048141e770ab60387d7037da51 100755
--- a/asterisk.c
+++ b/asterisk.c
@@ -1413,7 +1413,13 @@ static void ast_remotecontrol(char * data)
 #endif	
 	if (option_exec && data) {  /* hack to print output then exit if asterisk -rx is used */
 		char tempchar;
-		ast_el_read_char(el, &tempchar);
+		struct pollfd fds[0];
+		fds[0].fd = ast_consock;
+		fds[0].events = POLLIN;
+		fds[0].revents = 0;
+		while(poll(fds, 1, 100) > 0) {
+			ast_el_read_char(el, &tempchar);
+		}
 		return;
 	}
 	for(;;) {
diff --git a/rtp.c b/rtp.c
index 518817da5372de95f30112d4b58c36b6128d53a3..476a9c83607f7ad5e269381d29f871da08815f8b 100755
--- a/rtp.c
+++ b/rtp.c
@@ -616,6 +616,7 @@ static struct rtpPayloadType static_RTP_PT[MAX_RTP_PT] = {
   [16] = {1, AST_FORMAT_ADPCM}, /* 11.025 kHz */
   [17] = {1, AST_FORMAT_ADPCM}, /* 22.050 kHz */
   [18] = {1, AST_FORMAT_G729A},
+  [19] = {0, AST_RTP_CN},		/* Also used for CN */
   [26] = {1, AST_FORMAT_JPEG},
   [31] = {1, AST_FORMAT_H261},
   [34] = {1, AST_FORMAT_H263},