I am not sure what would be less resource hungry;  $Ts$Tsm v get_accurate_time.

get_accurate_time is a function v 2 core variables.
I guess a config can be created to run 100 million of both operation and 
measuring resources used, cpu, ram and time to complete.

This only makes sense only if you are calculating cost of the each call in the 
script.
If not then just use external script to round/modifyduration based on 
ms_duration in acc table after the fact.

On 1/23/2024 1:41 PM, [email protected] wrote:
On Tue, 2024-01-23 at 09:25 -0600, Marcin Groszek wrote:
If you are not calculating the cost of the call in the script it self
you may create external script to go over your acc table and use
"ms_duration" to adjust "duration"
or use $Ts$Tsm  at the beginning of the call, save it to a dialog and
compare it with same value at the end of the call, then round up and
write to acc table and/or calculate cost of the call.
On 1/23/2024 9:01 AM, Marcin Groszek wrote:
use math_ceil
 1.4.5.  math_ceil(number, result_var)  Truncates a number, always towards +infinity. This means that
ceil(3.2) = 4.0 and ceil(-2.9) = -2.0
 1.10.3. $DLG_lifetime  Returns the duration (in seconds)...
Hi Marcin,

Using math_ceil on $DLG_lifetime wont work as it returns seconds not
ms.

As for your other suggestion I am doing something similar just not sure
its the most efficient I am using get_accurate_time would $ts$Tsm be a
better approach,


at 200OK in onreply route

     if ($rs == 200) {
         get_accurate_time($var(now_s), $var(now_us));
         $dlg_val(start_s) = $var(now_s);
         $dlg_val(start_us) = $var(now_us);
     }

then on BYE

if (is_method("BYE")) {
     get_accurate_time($var(end_s), $var(end_us));
     ts_usec_delta($(dlg_val(start_s){s.int}),
$(dlg_val(start_us){s.int}), $var(end_s),  $var(end_us) ,
$var(billed_duration));
    $var(end_us) , $acc_extra(billed_duration)\n");
     math_eval("$var(billed_duration) / 1000000",
$var(billed_duration));
     math_ceil($var(billed_duration),$var(billed_duration));
     $acc_extra(billed_duration) = $var(billed_duration);

## Rate the call

     math_eval("$acc_extra(c_price) / 60 * $acc_extra(billed_duration)",
$var(c_cost));
     math_eval("$acc_extra(v_price) / 60 * $acc_extra(billed_duration)",
$var(v_cost));
     $acc_extra(cost) = $var(c_cost);
     $acc_extra(v_cost) = $var(v_cost);
}

Thanks.

_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

--
Best Regards:
Marcin Groszek
Business Phone Service
https://www.voipplus.net


_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to