Change in osmo-mgw[master]: log: avoid logging early media as error

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Mon Sep 10 11:40:22 UTC 2018


Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/10861


Change subject: log: avoid logging early media as error
......................................................................

log: avoid logging early media as error

When the peer address is still 0.0.0.0, the endpoint is not yet configured.
This commonly happens before bridging a call is complete, so instead of ERROR
logging about an invalid packet, rather INFO-log this as "early media".

Related: OS#3539
Change-Id: I335f6453bd599be76eef08fcf9e5daed071e5b6d
---
M src/libosmo-mgcp/mgcp_network.c
1 file changed, 26 insertions(+), 13 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/61/10861/1

diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c
index a73209b..d769ef3 100644
--- a/src/libosmo-mgcp/mgcp_network.c
+++ b/src/libosmo-mgcp/mgcp_network.c
@@ -874,19 +874,32 @@
 	endp = conn->conn->endp;
 	struct sockaddr_in zero_addr = {};
 
-	if (memcmp(&zero_addr, &conn->end.addr, sizeof(zero_addr)) == 0
-	    && conn->conn->mode == MGCP_CONN_LOOPBACK) {
-		/* HACK: for IuUP, we want to reply with an IuUP Initialization ACK upon the first RTP
-		 * message received. We currently hackishly accomplish that by putting the endpoint in
-		 * loopback mode and patching over the looped back RTP message to make it look like an
-		 * ack. We don't know the femto cell's IP address and port until the RAB Assignment
-		 * Response is received, but the nano3G expects an IuUP Initialization Ack before it even
-		 * sends the RAB Assignment Response. Hence, if the remote address is 0.0.0.0 and the
-		 * MGCP port is in loopback mode, allow looping back the packet to any source. */
-		LOGP(DRTP, LOGL_ERROR,
-		     "endpoint:0x%x In loopback mode and remote address not set: allowing data from address: %s\n",
-		     ENDPOINT_NUMBER(endp), inet_ntoa(addr->sin_addr));
-		return 0;
+	if (memcmp(&zero_addr, &conn->end.addr, sizeof(zero_addr)) == 0) {
+		switch (conn->conn->mode) {
+		case MGCP_CONN_LOOPBACK:
+			/* HACK: for IuUP, we want to reply with an IuUP Initialization ACK upon the first RTP
+			 * message received. We currently hackishly accomplish that by putting the endpoint in
+			 * loopback mode and patching over the looped back RTP message to make it look like an
+			 * ack. We don't know the femto cell's IP address and port until the RAB Assignment
+			 * Response is received, but the nano3G expects an IuUP Initialization Ack before it even
+			 * sends the RAB Assignment Response. Hence, if the remote address is 0.0.0.0 and the
+			 * MGCP port is in loopback mode, allow looping back the packet to any source. */
+			LOGP(DRTP, LOGL_ERROR,
+			     "endpoint:0x%x In loopback mode and remote address not set:"
+			     " allowing data from address: %s\n",
+			     ENDPOINT_NUMBER(endp), inet_ntoa(addr->sin_addr));
+			return 0;
+
+		default:
+			/* Receiving early media before the endpoint is configured. Instead of logging
+			 * this as an error that occurs on every call, keep it more low profile to not
+			 * confuse humans with expected errors. */
+			LOGP(DRTP, LOGL_INFO,
+			     "endpoint:0x%x I:%s Rx RTP from %s, but remote address not set:"
+			     " dropping early media\n",
+			     ENDPOINT_NUMBER(endp), conn->conn->id, inet_ntoa(addr->sin_addr));
+			return -1;
+		}
 	}
 
 	/* Note: Check if the inbound RTP data comes from the same host to

-- 
To view, visit https://gerrit.osmocom.org/10861
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I335f6453bd599be76eef08fcf9e5daed071e5b6d
Gerrit-Change-Number: 10861
Gerrit-PatchSet: 1
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180910/acb980f7/attachment.htm>


More information about the gerrit-log mailing list