Report checksum failures as such (bug #1942)
authorMark Spencer <markster@digium.com>
Tue, 29 Jun 2004 14:22:27 +0000 (14:22 +0000)
committerMark Spencer <markster@digium.com>
Tue, 29 Jun 2004 14:22:27 +0000 (14:22 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3350 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c
rtp.c

index 28b0ad9..8311161 100755 (executable)
@@ -7168,7 +7168,9 @@ static int sipsock_read(int *id, int fd, short events, void *ignore)
        memset(&req, 0, sizeof(req));
        res = recvfrom(sipsock, req.data, sizeof(req.data) - 1, 0, (struct sockaddr *)&sin, &len);
        if (res < 0) {
-               if (errno != ECONNREFUSED)
+               if (errno == EAGAIN)
+                       ast_log(LOG_NOTICE, "SIP: Received packet with bad UDP checksum\n");
+               else if (errno != ECONNREFUSED)
                        ast_log(LOG_WARNING, "Recv error: %s\n", strerror(errno));
                return 1;
        }
diff --git a/rtp.c b/rtp.c
index 46b653f..631ea1e 100755 (executable)
--- a/rtp.c
+++ b/rtp.c
@@ -346,7 +346,10 @@ struct ast_frame *ast_rtcp_read(struct ast_rtp *rtp)
                                        0, (struct sockaddr *)&sin, &len);
        
        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;