Clearly label EAGAIN as being the UDP checksum error that it is
[asterisk/asterisk.git] / rtp.c
diff --git a/rtp.c b/rtp.c
index c02780f..5b2f1b5 100755 (executable)
--- a/rtp.c
+++ b/rtp.c
@@ -411,7 +411,10 @@ struct ast_frame *ast_rtp_read(struct ast_rtp *rtp)
 
        rtpheader = (unsigned int *)(rtp->rawdata + AST_FRIENDLY_OFFSET);
        if (res < 0) {
-               ast_log(LOG_WARNING, "RTP Read error: %s\n", strerror(errno));
+               if (errno == EAGAIN)
+                       ast_log(LOG_NOTICE, "RTP: Received packet with bad UDP checksum\n");
+               else
+                       ast_log(LOG_WARNING, "RTP Read error: %s\n", strerror(errno));
                if (errno == EBADF)
                        CRASH;
                return &null_frame;