<div dir="ltr"><div class="gmail_default" style="font-size:small">I have been wondering why my billing never matched the invoice from my carrier and I think I found the issue. I pass a few million calls a day. It turns out that Opensips is not rounding upwards the ms to calculate seconds, and that is done at the source code. This issue leads to absurds like a call with 100 ms being reported as zero seconds, and a call with 1200 ms being reported as 1 second, etc. In the first case, 100ms, my carrier will consider this call 1 second, rounded to 6 seconds minimum (6/6). So there a jus lost 6 seconds that I am not charging to my customer but I am paying for. If you have millions of calls, 50%, that fall into the lower half of 1000ms, like 24400 ms, that they are reported as 24 seconds, but my carrier thinks is 25 seconds, and he rounds it to 30, there I lost another 6 seconds. </div><div class="gmail_default" style="font-size:small">I talked to Vlad, who I believe wrote the code, and he does not think it is a bug and I should use the ms and not the seconds. But thousands of businessmen will not spot this and thus their billing will never match the carrier, and they will lose money. If anybody thinks for a second that a call with a 200 OK will be free, is dreaming. Not in America.</div></div>