[Kamailio-Users] Call duration with RADIUS support
mbsip
mbsip at gazeta.pl
Wed Nov 25 18:32:53 CET 2009
Hi Dani,
Thanks for prompt answer.
I've just copied dictionary from kamailio into radius directory - so i
have the same now (radius read it properly).
He is a result:
Wed Nov 25 18:16:05 2009
Acct-Status-Type = Start
Service-Type = IAPP-Register
Sip-Response-Code = 200
Sip-Method = Invite
X-Ascend-Bridge =
0xf4690d4b400a79085c839db728849db738849db7982aa2bfb94c9db7d0f4adb3
Sip-From-Tag = "0f01332f"
Sip-To-Tag = "1C054D14-512"
Acct-Session-Id = "Mjk1OTNhNzJmNzYyYjMyOGZlZDkyYzQ2ZDcxMGQ2Mjk."
User-Name = "Mac at xx.yy.zz.vv"
Calling-Station-Id = "sip:Mac at xx.yy.zz.vv"
Called-Station-Id = "sip:123456789 at xx.yy.zz.vv"
Sip-Translated-Request-URI = "sip:123456789 at aa.bb.cc.dd"
Source-IP = "ab.cd.ef.gh"
Source-Port = ">\340"
Contact = "<sip:Mac at zx.cv.bn.ml:13560>"
NAS-Port = 5060
Acct-Delay-Time = 0
NAS-IP-Address = xx.yy.zz.vv
Client-IP-Address = xx.yy.zz.vv
Acct-Unique-Session-Id = "e784aa8f59750d83"
Timestamp = 1259169365
Wed Nov 25 18:16:09 2009
Acct-Status-Type = Stop
Service-Type = IAPP-Register
Sip-Response-Code = 200
Sip-Method = 8
X-Ascend-Bridge =
0xf8690d4b400a79085c839db728849db738849db7982aa2bfb94c9db71034aeb30d
Sip-From-Tag = "0f01332f"
Sip-To-Tag = "1C054D14-512"
Acct-Session-Id = "Mjk1OTNhNzJmNzYyYjMyOGZlZDkyYzQ2ZDcxMGQ2Mjk."
User-Name = "Mac at xx.yy.zz.vv"
Calling-Station-Id = "sip:Mac at xx.yy.zz.vv"
Called-Station-Id = "sip:123456789 at xx.yy.zz.vv"
Sip-Translated-Request-URI = "sip:123456789 at aa.bb.cc.dd:5060"
Source-IP = "ab.cd.ef.gh"
Source-Port = ">\340"
Contact = "<sip:Mac at zx.cv.bn.ml:13560>"
NAS-Port = 5060
Acct-Delay-Time = 0
NAS-IP-Address = xx.yy.zz.vv
Client-IP-Address = xx.yy.zz.vv
Acct-Unique-Session-Id = "e784aa8f59750d83"
Timestamp = 1259169369
Additional radius_extra parameter "Acct-Session-Time=$avp(i:46)" does
not change anything.
Any hints ?
Thanks,
Maciej
2009/11/25 Dani Popa <dani.popa at gmail.com>:
> Hi,
>
> Your radius doesn't know about sip dictionary. Include it in freeradius
> configuration and should solve your issues.
>
> Dani
>
>
>
>
>
>
> The easy way is to say it can not be done!
>
>
>
>
>
> mbsip wrote:
>>
>> Hi,
>>
>> I am struggling with kamailio and radius configuration to achieve
>> proper Call duration notification.
>> Here is what i have:
>> - kamailio 1.6
>> - radiusclient-ng
>> - freeradius on different server
>>
>> Kamailio configuration has following radius-extra:
>>
>> modparam("acc", "radius_extra", "User-Name=$Au; \
>> Calling-Station-Id=$from; \
>> Called-Station-Id=$to; \
>> Sip-Translated-Request-URI=$ruri; \
>> Sip-RPid=$avp(s:rpid); \
>> Source-IP=$si; \
>> Source-Port=$sp; \
>> Canonical-URI=$avp(s:can_uri); \
>> Billing-Party=$avp(s:billing_party); \
>> Divert-Reason=$avp(s:divert_reason); \
>> X-RTP-Stat=$hdr(X-RTP-Stat); \
>> Contact=$hdr(contact); \
>> Event=$hdr(event); \
>> SIP-Proxy-IP=$avp(s:sip_proxy_ip); \
>> ENUM-TLD=$avp(s:enum_tld)")
>>
>> which produce following radius data START and STOP:
>>
>> Mon Nov 23 16:26:38 2009
>> Acct-Status-Type = Start
>> Service-Type = IAPP-Register
>> Sip-Response-Code = 200
>> Sip-Method = Invite
>> Event-Timestamp = 1258990835
>> Sip-From-Tag = "c3716c01"
>> Sip-To-Tag = "11544D08-C80"
>> Acct-Session-Id = "Nzg5MmZlMDNkMGUwODgwN2ZkZWZkMmQ3NzYwYzNkNWY."
>> User-Name = "Mac at xx.yy.zz.vv"
>> Calling-Station-Id = "sip:Mac at xx.yy.zz.vv"
>> Called-Station-Id = "sip:123456789 at xx.yy.zz.vv"
>> Sip-Translated-Request-URI = "sip:123456789 at aa.bb.cc.dd"
>> X-Ascend-Send-Secret = 0x3135372e32352e3139322e32
>> X-Ascend-Receive-Secret = 0x3a7c
>> X-Ascend-Netware-timeout =
>> 0x3c7369703a4d616369656a403139322e3136382e332e3132353a36323034323e
>> NAS-Port = 5060
>> Acct-Delay-Time = 0
>> NAS-IP-Address = xx.yy.zz.vv
>> Client-IP-Address = xx.yy.zz.vv
>> Acct-Unique-Session-Id = "a62f94528d34acfe"
>> Timestamp = 1258989998
>>
>> Mon Nov 23 16:26:38 2009
>> Acct-Status-Type = Stop
>> Service-Type = IAPP-Register
>> Sip-Response-Code = 200
>> Sip-Method = 8
>> Event-Timestamp = 1258990836
>> Sip-From-Tag = "c3716c01"
>> Sip-To-Tag = "11544D08-C80"
>> Acct-Session-Id = "Nzg5MmZlMDNkMGUwODgwN2ZkZWZkMmQ3NzYwYzNkNWY."
>> User-Name = "Mac at xx.yy.zz.vv"
>> Calling-Station-Id = "sip:Mac at xx.yy.zz.vv"
>> Called-Station-Id = "sip:123456789 at xx.yy.zz.vv"
>> Sip-Translated-Request-URI = "sip:123456789 at aa.bb.cc.dd:5060"
>> X-Ascend-Send-Secret = 0x3135372e32352e3139322e32
>> X-Ascend-Receive-Secret = 0x3a7c
>> X-Ascend-Netware-timeout =
>> 0x3c7369703a4d616369656a403139322e3136382e332e3132353a36323034323e
>> NAS-Port = 5060
>> Acct-Delay-Time = 0
>> NAS-IP-Address = xx.yy.zz.vv
>> Client-IP-Address = xx.yy.zz.vv
>> Acct-Unique-Session-Id = "a62f94528d34acfe"
>> Timestamp = 1258989998
>>
>>
>> The task is to upload all stored radius messages into MYSQL with
>> proper call duration info.
>> I've ran through many posts and found a few way-outs:
>> 1) to use AVPOPS module:
>> modparam("acc", "radius_extra",
>> "Acct-Session-Time=$avp(call_length)")
>> modparam( "avpops", "avp_aliases", "start_timestamp=i:100")
>> modparam( "avpops", "avp_aliases", "end_timestamp=i:101")
>> modparam( "avpops", "avp_aliases", "call_length=i:102")
>>
>> avp_op("$avp(end_timestamp)","sub/$avp(start_timestamp)");
>>
>> avp_op("$avp(end_timestamp)/$avp(call_length)","sub/$avp(start_timestamp)");
>>
>> 2) to use DIALOG module
>> modparam("acc", "radius_config",
>> "/usr/local/etc/radiusclient-ng/radiusclient.conf")
>> modparam("acc", "radius_flag", 1)
>> modparam("acc", "radius_extra", "Acct-Session-Time=$avp(i:921)")
>>
>> if (is_method("BYE")) {
>> xlog("L_INFO", "dialog_status:$DLG_status
>> duration=$DLG_lifetime\n");
>> $avp(i:921) = $DLG_lifetime{s.int};
>> } else {
>> $avp(i:921) = 0;
>> }
>> setflag(1);
>>
>> 3) to use a script or db triggers(after STOP).
>>
>> Could you advice which one is better/work properly.
>> Maybe there are any other configuration i could use.
>>
>> Thanks in advance,
>> Maciej
>>
>> _______________________________________________
>> Kamailio (OpenSER) - Users mailing list
>> Users at lists.kamailio.org
>> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>> http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>>
>>
>
More information about the Users
mailing list