mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-02 11:58:40 +00:00
Make sure transmitted timestamps are solid on trunks (bug #1713)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -2551,12 +2551,12 @@ static struct ast_channel *ast_iax2_new(struct chan_iax2_pvt *i, int state, int
|
||||
|
||||
static unsigned int calc_txpeerstamp(struct iax2_trunk_peer *tpeer, int sampms, struct timeval *tv)
|
||||
{
|
||||
long int mssincetx;
|
||||
unsigned long int mssincetx; /* unsigned to handle overflows */
|
||||
long int ms, pred;
|
||||
|
||||
tpeer->trunkact = *tv;
|
||||
mssincetx = (tv->tv_sec - tpeer->lasttxtime.tv_sec) * 1000 + (tv->tv_usec - tpeer->lasttxtime.tv_usec) / 1000;
|
||||
if (mssincetx > 5000) {
|
||||
if (mssincetx > 5000 || (!tpeer->txtrunktime.tv_sec && !tpeer->txtrunktime.tv_usec)) {
|
||||
/* If it's been at least 5 seconds since the last time we transmitted on this trunk, reset our timers */
|
||||
tpeer->txtrunktime.tv_sec = tv->tv_sec;
|
||||
tpeer->txtrunktime.tv_usec = tv->tv_usec;
|
||||
|
||||
Reference in New Issue
Block a user