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