[Serusers] Radius Acc
Martin Koenig
martin.koenig at toplink-plannet.de
Wed Jan 5 11:25:08 CET 2005
Hello,
Find message below...
> -----Original Message-----
> From: serusers-bounces at lists.iptel.org
> [mailto:serusers-bounces at lists.iptel.org] On Behalf Of Lucas Aimaretto
> Sent: Tuesday, January 04, 2005 4:29 PM
> To: o-zone at zerozone.it; serusers at lists.iptel.org
> Subject: RE: [Serusers] Radius Acc
>
> > > Hi there. I've a question for you. Are you getting correctly the
> > > Acct-Stop records ? .... if so, how did you configure
> your ser.cfg,
> > > because I'm only getting Acct-Start records, for both
> > INVITE and BYE
> > > messages.
> >
> > I've solved using setflag(1) after route {, in this way:
> >
> > [....CUT....]
> > # -- rr params --
> > # add value to ;lr param to make some broken UAs happy
> > modparam("rr", "enable_full_lr", 1) modparam("acc",
> > "radius_flag", 1) modparam("acc", "radius_missed_flag", 3)
> >
> > # ------------------------- request routing logic
> -------------------
> >
> > # main routing logic
> >
> > route{
> > setflag(1);
> > if (method=="REGISTER")
> > log(1, "REGISTER message received\n");
> >
> > if (method=="INVITE")
> > log(1, "INVITE message received\n");
> >
> > if (method=="ACK")
> > log(1, "ACK message received\n");
> >
> > if (method=="BYE")
> > log(1, "BYE message received\n");
> > [...CUT...]
>
> Thanx for answering ... but your configuration did not help me at all.
> Look at my ser.cfg ...
>
> # -- RADIUS ACC --
> modparam("acc", "radius_config", "/etc/radiusclient.conf")
> modparam("acc", "radius_flag", 1)
> modparam("acc", "radius_missed_flag", 3)
> modparam("acc", "log_level", 2)
>
> route{
>
> if (!mf_process_maxfwd_header("10"))
> {
> sl_send_reply("483","Too Many Hops");
> break;
> };
> if ( msg:len > max_len )
> {
> sl_send_reply("513", "Message too big");
> break;
> };
You need to also catch messages that are being loose routed, which is often
the case for BYE messages.
Setflat(1);
here.
> record_route();
> if (loose_route())
> {
> t_relay();
> break;
> };
>
> if (uri==myself)
> {
> setflag(1);
> if (method=="REGISTER")
> {
> log(1, "REGISTER message received\n");
> if (!radius_www_authorize(""))
> {
> www_challenge("", "0");
> break;
> };
> save("location");
> break;
> };
>
> if (method=="INVITE")
> {
> log(1, "INVITE message received\n");
> };
>
> if (method=="ACK")
> {
> log(1, "ACK message received\n");
> };
> };
>
> t_relay();
>
>
> .... with this configuration ... I'm getting this Radius Output ...
>
> radrecv: Accounting Request from host c0a801fd code=4, id=216,
> length=278
> Acct-Status-Type = Start
> Service-Type = Sip-Session
> Sip-Response-Code = 200
> Sip-Method = Invite
> User-Name = "1992005 at 192.168.1.253"
> Calling-Station-Id = "sip:1992005 at 192.168.1.253:11005"
> Called-Station-Id = "sip:1992001 at 192.168.1.253"
> Sip-Translated-Request-URI =
> "sip:1992001 at 192.168.1.113:11001;user=phone"
> Acct-Session-Id =
> "3F8FDBB3-E77D-4039-BE70-E89912A026E0 at 192.168.1.178"
> Sip-To-Tag = "e711b276be6653cb"
> Sip-From-Tag = "2604456034"
> Sip-CSeq = "19560"
> NAS-IP-Address = 192.168.1.253
> NAS-Port-Id = 5060
> Acct-Delay-Time = 0
> Sending Accounting Ack of id 216 to c0a801fd (nas linux)
>
> radrecv: Accounting Request from host c0a801fd code=4, id=217,
> length=278
> Acct-Status-Type = Start
> Service-Type = Sip-Session
> Sip-Response-Code = 200
> Sip-Method = Bye
> User-Name = "1992005 at 192.168.1.253"
> Calling-Station-Id = "sip:1992005 at 192.168.1.253:11005"
> Called-Station-Id = "sip:1992001 at 192.168.1.253"
> Sip-Translated-Request-URI =
> "sip:1992001 at 192.168.1.113:11001;user=phone"
> Acct-Session-Id =
> "3F8FDBB3-E77D-4039-BE70-E89912A026E0 at 192.168.1.178"
> Sip-To-Tag = "e711b276be6653cb"
> Sip-From-Tag = "2604456034"
> Sip-CSeq = "19560"
> NAS-IP-Address = 192.168.1.253
> NAS-Port-Id = 5060
> Acct-Delay-Time = 0
> Sending Accounting Ack of id 217 to c0a801fd (nas linux)
>
> Do you see ? ... first output corresponds to an INVITE message, and so
> an Acct-Start message is received. But, instantly, just after
> receiving
> the INVITE message, I get a BYE message, but it also corresponds to an
> Acct-Start message. I do not understand 2 things:
> 1) Why am I receiving both messages instantly and ..
> 2) Why the BYE message corresponds to an Acct-Start message.
> Should not it be an Acct-Stop message ?
>
> I just want to get an Acct-Stop message when Sip-Method == BYE or
> CANCEL. But I can not achieve that. I've tried configuring
> ser like this
> ...
>
> if (method=="BYE" || method=="CANCEL")
> {
> setflag(1);
> };
>
> ... but the results where just the same.
>
> I've been posting this problem many times but no one could
> answer to me.
> I just see some posts telling that people could do accounting
> but their
> configuration files are just the same as mine ... anyways ... if you
> have any hint, I'll really apreaciate it.
>
> Regards,
>
> Lucas
>
> --
> No virus found in this outgoing message.
> Checked by AVG Anti-Virus.
> Version: 7.0.296 / Virus Database: 265.6.7 - Release Date: 30/12/2004
>
>
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
More information about the sr-users
mailing list