diff --git a/channels/chan_alsa.c b/channels/chan_alsa.c
index d78ee0f205256c0f5e0cffee4b1b6060726f267b..4eb451e19cb844004ca65aa76e7cf02a2e1afd53 100755
--- a/channels/chan_alsa.c
+++ b/channels/chan_alsa.c
@@ -664,6 +664,9 @@ static struct ast_frame *alsa_read(struct ast_channel *chan)
 	f.offset = 0;
 	f.src = type;
 	f.mallocd = 0;
+        f.delivery.tv_sec = 0;
+        f.delivery.tv_usec = 0;
+
 	
 	if (needringing) {
 		f.frametype = AST_FRAME_CONTROL;
diff --git a/channels/chan_modem_aopen.c b/channels/chan_modem_aopen.c
index c123bfddff8077215d825c6d35be5629ca692fdc..4d18137f05f995349ea81548fa05851c48507a4c 100755
--- a/channels/chan_modem_aopen.c
+++ b/channels/chan_modem_aopen.c
@@ -190,6 +190,8 @@ static struct ast_frame *aopen_handle_escape(struct ast_modem_pvt *p, char esc)
 	p->fr.samples = 0;
 	p->fr.offset = 0;
 	p->fr.mallocd = 0;
+        p->fr.delivery.tv_sec = 0;
+        p->fr.delivery.tv_usec = 0;
 	if (esc)
 		ast_log(LOG_DEBUG, "Escaped character '%c'\n", esc);
 	
@@ -319,6 +321,8 @@ static struct ast_frame *aopen_read(struct ast_modem_pvt *p)
 		p->fr.data = p->obuf;
 		p->fr.datalen = p->obuflen;
 		p->fr.mallocd = 0;
+		p->fr.delivery.tv_sec = 0;
+		p->fr.delivery.tv_usec = 0;
 		p->fr.offset = AST_FRIENDLY_OFFSET;
 		p->fr.src = __FUNCTION__;
 		if (option_debug)
diff --git a/channels/chan_modem_bestdata.c b/channels/chan_modem_bestdata.c
index 7eca765199655a40868488f0fecb57163c326096..2fde4d4db600782ed29d8dec128b11ac3ea2a44a 100755
--- a/channels/chan_modem_bestdata.c
+++ b/channels/chan_modem_bestdata.c
@@ -164,6 +164,8 @@ static struct ast_frame *bestdata_handle_escape(struct ast_modem_pvt *p, char es
 	p->fr.samples = 0;
 	p->fr.offset = 0;
 	p->fr.mallocd = 0;
+	p->fr.delivery.tv_sec = 0;
+	p->fr.delivery.tv_usec = 0;
 	if (esc)
 		ast_log(LOG_DEBUG, "Escaped character '%c'\n", esc);
 	
@@ -369,6 +371,8 @@ static struct ast_frame *bestdata_read(struct ast_modem_pvt *p)
 		p->fr.data = p->obuf;
 		p->fr.datalen = p->obuflen;
 		p->fr.mallocd = 0;
+		p->fr.delivery.tv_sec = 0;
+		p->fr.delivery.tv_usec = 0;
 		p->fr.offset = AST_FRIENDLY_OFFSET;
 		p->fr.src = __FUNCTION__;
 		if (option_debug)
diff --git a/channels/chan_modem_i4l.c b/channels/chan_modem_i4l.c
index ce7de417408dc3b762ab83a0d17d94d506a325e0..892f4c09f1e3e624a1ab18d44a6605db33fcd2fa 100755
--- a/channels/chan_modem_i4l.c
+++ b/channels/chan_modem_i4l.c
@@ -236,6 +236,8 @@ static struct ast_frame *i4l_handle_escape(struct ast_modem_pvt *p, char esc)
 	p->fr.samples = 0;
 	p->fr.offset = 0;
 	p->fr.mallocd = 0;
+	p->fr.delivery.tv_sec = 0;
+	p->fr.delivery.tv_usec = 0;
 	if (esc && option_debug)
 		ast_log(LOG_DEBUG, "Escaped character '%c'\n", esc);
 	
@@ -438,6 +440,8 @@ static struct ast_frame *i4l_read(struct ast_modem_pvt *p)
 		p->fr.data = p->obuf;
 		p->fr.datalen = p->obuflen;
 		p->fr.mallocd = 0;
+		p->fr.delivery.tv_sec = 0;
+		p->fr.delivery.tv_usec = 0;
 		p->fr.offset = AST_FRIENDLY_OFFSET;
 		p->fr.src = __FUNCTION__;
 		p->obuflen = 0;
diff --git a/channels/chan_nbs.c b/channels/chan_nbs.c
index b30e1fadbd4f41788e38557fd650432e68cb5b99..3ec1555e76281181e55543e99702acca8b613c7f 100755
--- a/channels/chan_nbs.c
+++ b/channels/chan_nbs.c
@@ -160,6 +160,8 @@ static struct ast_frame  *nbs_xread(struct ast_channel *ast)
 	p->fr.src = type;
 	p->fr.offset = 0;
 	p->fr.mallocd=0;
+	p->fr.delivery.tv_sec = 0;
+	p->fr.delivery.tv_usec = 0;
 
 	ast_log(LOG_DEBUG, "Returning null frame on %s\n", ast->name);
 
diff --git a/channels/chan_oss.c b/channels/chan_oss.c
index 7bd7ddb8c52d6ae755837921e9c4bdcee17ec290..46d4e2cdf72cdef6b4833df426d68075a5f0dc94 100755
--- a/channels/chan_oss.c
+++ b/channels/chan_oss.c
@@ -615,6 +615,8 @@ static struct ast_frame *oss_read(struct ast_channel *chan)
 	f.offset = 0;
 	f.src = type;
 	f.mallocd = 0;
+	f.delivery.tv_sec = 0;
+	f.delivery.tv_usec = 0;
 	
 	res = soundcard_setinput(0);
 	if (res < 0) {
@@ -650,6 +652,8 @@ static struct ast_frame *oss_read(struct ast_channel *chan)
 		f.offset = AST_FRIENDLY_OFFSET;
 		f.src = type;
 		f.mallocd = 0;
+		f.delivery.tv_sec = 0;
+		f.delivery.tv_usec = 0;
 #if 0
 		{ static int fd = -1;
 		  if (fd < 0)
diff --git a/channels/chan_phone.c b/channels/chan_phone.c
index 69c0884bd150213f09cf8dcf3f436575b20c5373..536d3ef8660388fc9f1aa8c84393169266684014 100755
--- a/channels/chan_phone.c
+++ b/channels/chan_phone.c
@@ -368,6 +368,8 @@ static struct ast_frame  *phone_exception(struct ast_channel *ast)
 	p->fr.src = type;
 	p->fr.offset = 0;
 	p->fr.mallocd=0;
+	p->fr.delivery.tv_sec = 0;
+	p->fr.delivery.tv_usec = 0;
 
 	phonee.bytes = ioctl(p->fd, PHONE_EXCEPTION);
 	if (phonee.bits.dtmf_ready)  {
@@ -429,6 +431,8 @@ static struct ast_frame  *phone_read(struct ast_channel *ast)
 	p->fr.src = type;
 	p->fr.offset = 0;
 	p->fr.mallocd=0;
+	p->fr.delivery.tv_sec = 0;
+	p->fr.delivery.tv_usec = 0;
 
 	/* Try to read some data... */
 	CHECK_BLOCKING(ast);
diff --git a/channels/chan_vofr.c b/channels/chan_vofr.c
index 43e7271d986610342af4dd314b2a618955d1d453..b249de10d89ec3f37bd5dd3185ecb3c982c47219 100755
--- a/channels/chan_vofr.c
+++ b/channels/chan_vofr.c
@@ -587,6 +587,8 @@ retry:
 	fr->src = type;
 	fr->offset = 0;
 	fr->mallocd=0;
+	fr->delivery.tv_sec = 0;
+	fr->delivery.tv_usec = 0;
 	
 	/* Now, what we do depends on what we read */
 	switch(vh->dtype) {
diff --git a/channels/chan_vpb.c b/channels/chan_vpb.c
index bd4576b8f8b8d7ef13d2c966e9cb0c9ed387f597..e2562124b1c7c6023a02d666f037874c0d77f8be 100755
--- a/channels/chan_vpb.c
+++ b/channels/chan_vpb.c
@@ -1568,6 +1568,8 @@ static void *do_chanreads(void *pvt)
 	fr->frametype = AST_FRAME_VOICE;
 	fr->src = type;
 	fr->mallocd = 0;
+	fr->delivery.tv_sec = 0;
+	fr->delivery.tv_usec = 0;
 	fr->samples = VPB_SAMPLES;
 	fr->offset = AST_FRIENDLY_OFFSET;
 	memset(p->buf, 0, sizeof p->buf);