Код:
modparam("acc", "radius_extra", "User-Name=$avp(s:user); \
Calling-Station-Id=$avp(s:from); \
Called-Station-Id=$avp(s:to); \
Sip-Translated-Request-URI=$ruri; \
Acct-Session-Time=$avp(i:921); \
Sip-RPid=$avp(s:rpid)")
if (loose_route()) {
if (is_method("BYE")) {
if (is_direction("upstream")) {
xlog("upstream request ($rm) from UAS:$fU to UAC:$tU\n");
$avp(s:user) = $tU + "@lentel.ru";
$avp(s:to) = $fU;
$avp(s:from) = $tU;
setflag(1); # do accouting ...
# setflag(3); # ... even if the transaction fails
}
if (is_direction("downstream")) {
xlog("downstream request ($rm) from UAC:$fU to UAS:$tU\n");
$avp(s:user) = $fU + "@lentel.ru";
$avp(s:to) = $tU;
$avp(s:from) = $fU;
setflag(1); # do accouting ...
# setflag(3); # ... even if the transaction fails
}
xlog("Dialog life time = $DLG_lifetime\n");
$avp(i:921) = $DLG_lifetime;
}
Корректно работает только на Kamailio-1.5.0-dev9-notls, в предыдущих релизах ошибка в acc.c связанная с integer AVP.