diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 16c911d6a9..f76a471ec8 100755 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -2893,10 +2893,13 @@ static unsigned int calc_timestamp(struct chan_iax2_pvt *p, unsigned int ts, str * next multiple of frame size (so our * silent periods are multiples of * frame size too) */ - int diff = ms % (f->samples / 8); - if(diff) - ms += f->samples/8 - diff; - + int adj = f->samples / 8; + if (adj) { + int diff = ms % adj; + if(diff) + ms += adj - diff; + } + p->nextpred = ms; p->notsilenttx = 1; }