diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index ba0cde2c5707f432ee5e037551b96c21513e4e71..a05baac5d0f494ffe654f5718a8648220e826b66 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -16311,45 +16311,6 @@ static int get_also_info(struct sip_pvt *p, struct sip_request *oreq)
 	return -1;
 }
 
-/*! \brief check received= and rport= in a SIP response.
- * If we get a response with received= and/or rport= in the Via:
- * line, use them as 'p->ourip' (see RFC 3581 for rport,
- * and RFC 3261 for received).
- * Using these two fields SIP can produce the correct
- * address and port in the SIP headers without the need for STUN.
- * The address part is also reused for the media sessions.
- * Note that ast_sip_ouraddrfor() still rewrites p->ourip
- * if you specify externaddr/seternaddr/.
- */
-static attribute_unused void check_via_response(struct sip_pvt *p, struct sip_request *req)
-{
-	char via[256];
-	char *cur, *opts;
-
-	ast_copy_string(via, sip_get_header(req, "Via"), sizeof(via));
-
-	/* Work on the leftmost value of the topmost Via header */
-	opts = strchr(via, ',');
-	if (opts)
-		*opts = '\0';
-
-	/* parse all relevant options */
-	opts = strchr(via, ';');
-	if (!opts)
-		return;	/* no options to parse */
-	*opts++ = '\0';
-	while ( (cur = strsep(&opts, ";")) ) {
-		if (!strncmp(cur, "rport=", 6)) {
-			int port = strtol(cur+6, NULL, 10);
-			/* XXX add error checking */
-			ast_sockaddr_set_port(&p->ourip, port);
-		} else if (!strncmp(cur, "received=", 9)) {
-			if (ast_parse_arg(cur + 9, PARSE_ADDR, &p->ourip))
-				;	/* XXX add error checking */
-		}
-	}
-}
-
 /*! \brief check Via: header for hostname, port and rport request/answer */
 static void check_via(struct sip_pvt *p, struct sip_request *req)
 {