From 4d0dd2775a788ffddc77ae09456327bf432a32ab Mon Sep 17 00:00:00 2001 From: Mark Spencer <markster@digium.com> Date: Tue, 29 Jun 2004 14:22:27 +0000 Subject: [PATCH] Report checksum failures as such (bug #1942) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3350 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 4 +++- rtp.c | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 28b0ad9aff..8311161ec0 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -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 46b653fe28..631ea1e334 100755 --- 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; -- GitLab