summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-04-22 18:51:42 +0000
committerMark Spencer <markster@digium.com>2004-04-22 18:51:42 +0000
commitba078042bacab5398d331c7e43fc26382dee8720 (patch)
treea169098453fb9eef271ddbfb1e344b94c7748f0b /channels
parent3534419f142f8b1a23f26aa901990bada3c9cdb6 (diff)
Make trunking and timestamps palce nicely
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
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);