diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 3ae5273775b84131c38703502b8686391c6007fa..b47230590be0277acbf60f76662d53a3395d42ba 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -2229,9 +2229,9 @@ static struct sip_pvt *sip_alloc(char *callid, struct sockaddr_in *sin, int useg
 	} else {
 		memcpy(&p->ourip, &__ourip, sizeof(p->ourip));
 	}
-	p->rtp = ast_rtp_new_with_bindaddr(sched, io, 1, 0, __ourip);
+	p->rtp = ast_rtp_new_with_bindaddr(sched, io, 1, 0, bindaddr.sin_addr);
 	if (videosupport)
-		p->vrtp = ast_rtp_new_with_bindaddr(sched, io, 1, 0, __ourip);
+		p->vrtp = ast_rtp_new_with_bindaddr(sched, io, 1, 0, bindaddr.sin_addr);
 	p->branch = rand();	
 	p->tag = rand();