diff --git a/apps/app_mp3.c b/apps/app_mp3.c
index 7f7d318498c0464f5c17f048d9d74dfe746e5fc8..2ada2ab9dd1a270337fc6e38b8e39963e76c087a 100755
--- a/apps/app_mp3.c
+++ b/apps/app_mp3.c
@@ -170,6 +170,8 @@ static int mp3_exec(struct ast_channel *chan, void *data)
 					myf.f.mallocd = 0;
 					myf.f.offset = AST_FRIENDLY_OFFSET;
 					myf.f.src = __PRETTY_FUNCTION__;
+					myf.f.delivery.tv_sec = 0;
+					myf.f.delivery.tv_usec = 0;
 					myf.f.data = myf.frdata;
 					if (ast_write(chan, &myf.f) < 0) {
 						res = -1;
diff --git a/apps/app_nbscat.c b/apps/app_nbscat.c
index 6c280855160d8aa9664b7f2cbd521f6f1612fbb6..3499f5500b2f5cfae646f5bed47e8b91d51c7350 100755
--- a/apps/app_nbscat.c
+++ b/apps/app_nbscat.c
@@ -150,6 +150,8 @@ static int NBScat_exec(struct ast_channel *chan, void *data)
 					myf.f.subclass = AST_FORMAT_SLINEAR;
 					myf.f.datalen = res;
 					myf.f.samples = res / 2;
+					myf.f.delivery.tv_usec = 0;
+					myf.f.delivery.tv_sec = 0;
 					myf.f.mallocd = 0;
 					myf.f.offset = AST_FRIENDLY_OFFSET;
 					myf.f.src = __PRETTY_FUNCTION__;
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 5e562e3336b70d73dd8838b9b85cf06f23f999e5..98a79e13a809ef28c92af76bf39e19720a2c9019 100755
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -849,7 +849,7 @@ static int sendpage(char *srcemail, char *pager, int msgnum, char *mailbox, char
 	time_t t;
 	struct tm tm;
 	struct vm_zone *the_zone = NULL;
-	p = popen(mailcmd, "w");
+	pfd = mkstemp(tmp);
 
 	if (pfd > -1) {
 		p = fdopen(pfd, "w");
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index cd28802266175bde14d7d437e233e19434e4cea5..4bf46427478af3466f6ea01d71447daab614a0ab 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -3282,6 +3282,8 @@ static int transmit_register(struct sip_registry *r, char *cmd, char *auth, char
 	snprintf(addr, sizeof(addr), "sip:%s", r->hostname);
 	strncpy(p->uri, addr, sizeof(p->uri) - 1);
 
+	p->branch ^= rand();
+
 	memset(&req, 0, sizeof(req));
 	init_req(&req, cmd, addr);