aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-04-22 18:51:42 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-04-22 18:51:42 +0000
commitf16a9a480a3e93cb430dbfb664e98291b688332e (patch)
treea169098453fb9eef271ddbfb1e344b94c7748f0b /channels
parent3446427fa446c1e305f828bda862e3af1f7f0b99 (diff)
Make trunking and timestamps palce nicely
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@2748 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-xchannels/chan_iax2.c8
-rwxr-xr-xchannels/iax2-parser.c1
2 files changed, 9 insertions, 0 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index bdf83c6ac..fee41ac16 100755
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -4565,6 +4565,14 @@ static int socket_read(int *id, int fd, short events, void *cbdata)
f.src = "IAX2";
f.mallocd = 0;
f.offset = 0;
+ f.delivery.tv_sec = peer->rxtrunktime.tv_sec;
+ f.delivery.tv_usec = peer->rxtrunktime.tv_usec;
+ f.delivery.tv_sec += ts / 1000;
+ f.delivery.tv_usec += ts % 1000;
+ if (f.delivery.tv_usec >= 1000000) {
+ f.delivery.tv_usec -= 1000000;
+ f.delivery.tv_sec += 1;
+ }
if (f.datalen && (f.frametype == AST_FRAME_VOICE))
f.samples = get_samples(&f);
else
diff --git a/channels/iax2-parser.c b/channels/iax2-parser.c
index 9d31a8be9..d8d58d60c 100755
--- a/channels/iax2-parser.c
+++ b/channels/iax2-parser.c
@@ -570,6 +570,7 @@ void iax_frame_wrap(struct iax_frame *fr, struct ast_frame *f)
fr->af.samples = f->samples;
fr->af.offset = AST_FRIENDLY_OFFSET;
fr->af.src = f->src;
+ fr->af.delivery = f->delivery;
fr->af.data = fr->afdata;
if (fr->af.datalen)
memcpy(fr->af.data, f->data, fr->af.datalen);