diff --git a/channels/chan_gtalk.c b/channels/chan_gtalk.c
index f63cc20270ced4b6b98e2e6d5c25e9944f767721..417817eb8a293c90ea9c73b44f989061f67f204c 100644
--- a/channels/chan_gtalk.c
+++ b/channels/chan_gtalk.c
@@ -770,7 +770,7 @@ static int gtalk_create_candidates(struct gtalk *client, struct gtalk_pvt *p, ch
 	struct gtalk_candidate *tmp;
 	struct aji_client *c = client->connection;
 	struct gtalk_candidate *ours1 = NULL, *ours2 = NULL;
-	struct sockaddr_in sin;
+	struct sockaddr_in sin = { 0, };
 	struct sockaddr_in dest;
 	struct in_addr us;
 	iks *iq, *gtalk, *candidate, *transport;
@@ -1254,8 +1254,8 @@ static int gtalk_update_stun(struct gtalk *client, struct gtalk_pvt *p)
 	struct gtalk_candidate *tmp;
 	struct hostent *hp;
 	struct ast_hostent ahp;
-	struct sockaddr_in sin;
-	struct sockaddr_in aux;
+	struct sockaddr_in sin = { 0, };
+	struct sockaddr_in aux = { 0, };
 
 	if (time(NULL) == p->laststun)
 		return 0;
diff --git a/channels/chan_h323.c b/channels/chan_h323.c
index 0445497b495cd1c1e8cf942f39482f02d6f76735..3f56fc29debd96836b99e9f5ddbc488dec88d506 100644
--- a/channels/chan_h323.c
+++ b/channels/chan_h323.c
@@ -3163,8 +3163,8 @@ static int oh323_set_rtp_peer(struct ast_channel *chan, struct ast_rtp_instance
 {
 	/* XXX Deal with Video */
 	struct oh323_pvt *pvt;
-	struct sockaddr_in them;
-	struct sockaddr_in us;
+	struct sockaddr_in them = { 0, };
+	struct sockaddr_in us = { 0, };
 	char *mode;
 
 	if (!rtp) {
diff --git a/channels/chan_jingle.c b/channels/chan_jingle.c
index e1a60ae7e2bf64e4fb1424c9f928ba1f94d48d97..01909f1f8a7d777ed118c89dd6bee9c1cf4eebc3 100644
--- a/channels/chan_jingle.c
+++ b/channels/chan_jingle.c
@@ -577,7 +577,7 @@ static int jingle_create_candidates(struct jingle *client, struct jingle_pvt *p,
 	struct jingle_candidate *tmp;
 	struct aji_client *c = client->connection;
 	struct jingle_candidate *ours1 = NULL, *ours2 = NULL;
-	struct sockaddr_in sin;
+	struct sockaddr_in sin = { 0, };
 	struct sockaddr_in dest;
 	struct in_addr us;
 	struct in_addr externaddr;
diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c
index 83a2e61b4b11c69366cfcb57addecc36bd36e015..80b939393f05c9edbd15df9950427fd71d17089f 100644
--- a/channels/chan_mgcp.c
+++ b/channels/chan_mgcp.c
@@ -2057,7 +2057,7 @@ static int add_sdp(struct mgcp_request *resp, struct mgcp_subchannel *sub, struc
 	char m[256] = "";
 	char a[1024] = "";
 	int x;
-	struct sockaddr_in dest;
+	struct sockaddr_in dest = { 0, };
 	struct mgcp_endpoint *p = sub->parent;
 	/* XXX We break with the "recommendation" and send our IP, in order that our
 	       peer doesn't have to ast_gethostbyname() us XXX */
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 8b6aef7104450582ce9ae0ef1fcce639ae3840fc..924405e6b0d8a28761fa33447d06b0b22bbebfe9 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -7752,7 +7752,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
 		if (udptlportno > 0) {
 			sin.sin_port = htons(udptlportno);
 			if (ast_test_flag(&p->flags[0], SIP_NAT) && ast_test_flag(&p->flags[1], SIP_PAGE2_UDPTL_DESTINATION)) {
-				struct sockaddr_in remote_address;
+				struct sockaddr_in remote_address = { 0, };
 				ast_rtp_instance_get_remote_address(p->rtp, &remote_address);
 				if (remote_address.sin_addr.s_addr) {
 					memcpy(&sin, &remote_address, sizeof(sin));
@@ -9382,11 +9382,11 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int
 	int len = 0;
 	int alreadysent = 0;
 
-	struct sockaddr_in sin;
-	struct sockaddr_in vsin;
-	struct sockaddr_in tsin;
-	struct sockaddr_in dest;
-	struct sockaddr_in udptlsin;
+	struct sockaddr_in sin = { 0, };
+	struct sockaddr_in vsin = { 0, };
+	struct sockaddr_in tsin = { 0, };
+	struct sockaddr_in dest = { 0, };
+	struct sockaddr_in udptlsin = { 0, };
 	struct sockaddr_in vdest = { 0, };
 	struct sockaddr_in tdest = { 0, };
 	struct sockaddr_in udptldest = { 0, };
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index 588680e3c12f26c4b5ba351fc4def0bfb45a673f..ebea1491a44cd3ffa4efa2aa211b09c28a79c56e 100644
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -2651,8 +2651,8 @@ static int skinny_set_rtp_peer(struct ast_channel *c, struct ast_rtp_instance *r
 	struct skinny_device *d;
 	struct skinnysession *s;
 	struct ast_format_list fmt;
-	struct sockaddr_in us;
-	struct sockaddr_in them;
+	struct sockaddr_in us = { 0, };
+	struct sockaddr_in them = { 0, };
 	struct skinny_req *req;
 	
 	sub = c->tech_pvt;
@@ -5564,8 +5564,8 @@ static int handle_open_receive_channel_ack_message(struct skinny_req *req, struc
 	struct skinny_line *l;
 	struct skinny_subchannel *sub;
 	struct ast_format_list fmt;
-	struct sockaddr_in sin;
-	struct sockaddr_in us;
+	struct sockaddr_in sin = { 0, };
+	struct sockaddr_in us = { 0, };
 	uint32_t addr;
 	int port;
 	int status;
diff --git a/channels/chan_unistim.c b/channels/chan_unistim.c
index e4588b368bf15c39b6826c744c1e3daf78c59518..30f4395c3eb93b645db5f9bd57d27b9f9e087f3c 100644
--- a/channels/chan_unistim.c
+++ b/channels/chan_unistim.c
@@ -2027,11 +2027,11 @@ static void *unistim_ss(void *data)
 static void start_rtp(struct unistim_subchannel *sub)
 {
 	BUFFSEND;
-	struct sockaddr_in us;
-	struct sockaddr_in public;
-	struct sockaddr_in sin;
+	struct sockaddr_in us = { 0, };
+	struct sockaddr_in public = { 0, };
+	struct sockaddr_in sin = { 0, };
 	int codec;
-	struct sockaddr_in sout;
+	struct sockaddr_in sout = { 0, };
 
 	/* Sanity checks */
 	if (!sub) {
diff --git a/main/rtp_engine.c b/main/rtp_engine.c
index 3447d830159d3923c419b03d839bc3fcb99befda..1b35aa403833261ca6f65747be46e46f42b04885 100644
--- a/main/rtp_engine.c
+++ b/main/rtp_engine.c
@@ -1433,7 +1433,7 @@ int ast_rtp_instance_get_stats(struct ast_rtp_instance *instance, struct ast_rtp
 
 char *ast_rtp_instance_get_quality(struct ast_rtp_instance *instance, enum ast_rtp_instance_stat_field field, char *buf, size_t size)
 {
-	struct ast_rtp_instance_stats stats;
+	struct ast_rtp_instance_stats stats = { 0, };
 	enum ast_rtp_instance_stat stat;
 
 	/* Determine what statistics we will need to retrieve based on field passed in */
diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c
index 7da086dd55a2ad5e9cdbb06ac2d9ff36e895dc11..60e9142e799c977bd1ad5344bf42fd039097ae8d 100644
--- a/res/res_rtp_asterisk.c
+++ b/res/res_rtp_asterisk.c
@@ -473,7 +473,7 @@ static int ast_rtp_destroy(struct ast_rtp_instance *instance)
 static int ast_rtp_dtmf_begin(struct ast_rtp_instance *instance, char digit)
 {
 	struct ast_rtp *rtp = ast_rtp_instance_get_data(instance);
-	struct sockaddr_in remote_address;
+	struct sockaddr_in remote_address = { 0, };
 	int hdrlen = 12, res = 0, i = 0, payload = 101;
 	char data[256];
 	unsigned int *rtpheader = (unsigned int*)data;
@@ -542,7 +542,7 @@ static int ast_rtp_dtmf_begin(struct ast_rtp_instance *instance, char digit)
 static int ast_rtp_dtmf_continuation(struct ast_rtp_instance *instance)
 {
 	struct ast_rtp *rtp = ast_rtp_instance_get_data(instance);
-	struct sockaddr_in remote_address;
+	struct sockaddr_in remote_address = { 0, };
 	int hdrlen = 12, res = 0;
 	char data[256];
 	unsigned int *rtpheader = (unsigned int*)data;
@@ -585,7 +585,7 @@ static int ast_rtp_dtmf_continuation(struct ast_rtp_instance *instance)
 static int ast_rtp_dtmf_end(struct ast_rtp_instance *instance, char digit)
 {
 	struct ast_rtp *rtp = ast_rtp_instance_get_data(instance);
-	struct sockaddr_in remote_address;
+	struct sockaddr_in remote_address = { 0, };
 	int hdrlen = 12, res = 0, i = 0;
 	char data[256];
 	unsigned int *rtpheader = (unsigned int*)data;
@@ -938,7 +938,7 @@ static int ast_rtp_raw_write(struct ast_rtp_instance *instance, struct ast_frame
 	struct ast_rtp *rtp = ast_rtp_instance_get_data(instance);
 	int pred, mark = 0;
 	unsigned int ms = calc_txstamp(rtp, &frame->delivery);
-	struct sockaddr_in remote_address;
+	struct sockaddr_in remote_address = { 0, };
 
 	if (rtp->sending_digit) {
 		return 0;
@@ -1086,7 +1086,7 @@ static struct ast_frame *red_t140_to_red(struct rtp_red *red) {
 static int ast_rtp_write(struct ast_rtp_instance *instance, struct ast_frame *frame)
 {
 	struct ast_rtp *rtp = ast_rtp_instance_get_data(instance);
-	struct sockaddr_in remote_address;
+	struct sockaddr_in remote_address = { 0, };
 	int codec, subclass;
 
 	ast_rtp_instance_get_remote_address(instance, &remote_address);
@@ -1263,7 +1263,7 @@ static void calc_rxstamp(struct timeval *tv, struct ast_rtp *rtp, unsigned int t
 static struct ast_frame *send_dtmf(struct ast_rtp_instance *instance, enum ast_frame_type type, int compensate)
 {
 	struct ast_rtp *rtp = ast_rtp_instance_get_data(instance);
-	struct sockaddr_in remote_address;
+	struct sockaddr_in remote_address = { 0, };
 
 	ast_rtp_instance_get_remote_address(instance, &remote_address);
 
@@ -1292,7 +1292,7 @@ static struct ast_frame *send_dtmf(struct ast_rtp_instance *instance, enum ast_f
 static struct ast_frame *process_dtmf_rfc2833(struct ast_rtp_instance *instance, unsigned char *data, int len, unsigned int seqno, unsigned int timestamp, struct sockaddr_in *sin, int payloadtype, int mark)
 {
 	struct ast_rtp *rtp = ast_rtp_instance_get_data(instance);
-	struct sockaddr_in remote_address;
+	struct sockaddr_in remote_address = { 0, };
 	unsigned int event, event_end, samples;
 	char resp = 0;
 	struct ast_frame *f = NULL;
@@ -1450,7 +1450,7 @@ static struct ast_frame *process_cn_rfc3389(struct ast_rtp_instance *instance, u
 		ast_debug(0, "- RTP 3389 Comfort noise event: Level %d (len = %d)\n", rtp->lastrxformat, len);
 
 	if (ast_test_flag(rtp, FLAG_3389_WARNING)) {
-		struct sockaddr_in remote_address;
+		struct sockaddr_in remote_address = { 0, };
 
 		ast_rtp_instance_get_remote_address(instance, &remote_address);
 
@@ -1749,7 +1749,7 @@ static int bridge_p2p_rtp_write(struct ast_rtp_instance *instance, unsigned int
 	int res = 0, payload = 0, bridged_payload = 0, mark;
 	struct ast_rtp_payload_type payload_type;
 	int reconstruct = ntohl(rtpheader[0]);
-	struct sockaddr_in remote_address;
+	struct sockaddr_in remote_address = { 0, };
 
 	/* Get fields from packet */
 	payload = (reconstruct & 0x7f0000) >> 16;
@@ -1806,7 +1806,7 @@ static struct ast_frame *ast_rtp_read(struct ast_rtp_instance *instance, int rtc
 	int res, hdrlen = 12, version, payloadtype, padding, mark, ext, cc, prev_seqno;
 	unsigned int *rtpheader = (unsigned int*)(rtp->rawdata + AST_FRIENDLY_OFFSET), seqno, ssrc, timestamp;
 	struct ast_rtp_payload_type payload;
-	struct sockaddr_in remote_address;
+	struct sockaddr_in remote_address = { 0, };
 
 	/* If this is actually RTCP let's hop on over and handle it */
 	if (rtcp) {