Hello Frank, Hello Jesus -


Frank is quite correct (thanks as always).

If you have multiple Client clauses you might consider using a PreClientHook instead.

And I usually keep my hook code in seperate files - see the examples in "goodies/hooks.txt".

regards

Hugh


On Saturday, Oct 18, 2003, at 05:52 Australia/Melbourne, Frank Danielson wrote:


I would use a PreHandler hook in your Client clause to look for the request
type and set an appropriate attribute to use in a Handler later. Since you
have multiple Digest-Attribute attributes the only way I know of to handle
it would be to spool through the incoming request's attrbutes looking for
the one you want. You could try something like this->


<Client 111.222.333.444>
        Secret somesecret
        PreHandlerHook sub {my ($r,$value);\
        foreach $r (@{${$_[0]}->{Attributes}})\
        {\
                if ($r->[0] eq "Digest-Attributes")\
                {\
                        $value = Radius::AttrVal::pclean($r->[1]);\
                        ${$_[0]}->add_attr('SIP-Request',$value) if ($value
=~ /REGISTER|INVITE/);\
                }\
        }}
</Client>

<Handler SIP-Request=REGISTER>
</Handler>

<Handler SIP-Request=INVITE>
</Handler>


Obviously I have not tested this so proceed at your own risk.


Frank Danielson
[Infrastructure Architect]

voice:407.515.8633
fax:407.515.9001

ClearSky Mobile Media, Inc.
56 E. Pine St. Suite 200
Orlando, FL 32801
USA

-----Original Message-----
From: Jesus Rodriguez [mailto:[EMAIL PROTECTED]
Sent: Friday, October 17, 2003 2:30 PM
To: [EMAIL PROTECTED]
Subject: (RADIATOR) Handler SIP Proxy


Hello,


My SIP proxy authenticates REGISTER and INVITE requests against Radiator. I
would like to be able to diferentiate between both requests.


This is a REGISTER request:

Code: Access-Request
Identifier: 104
Authentic: <217><134><30>y<250>D<214>j<212>`N\F<254>{<222>
Attributes:
User-Name = "[EMAIL PROTECTED]"
Digest-Attributes = <10><12>3400000002
Digest-Attributes = <1><13>voztele.com
Digest-Attributes = <2>*3f9032160a04f9a07db6b7431a03c66e63917d8e
Digest-Attributes = <4><17>sip:voztele.com
Digest-Attributes = <3><10>REGISTER
Digest-Response = "5d484ab3e8c3ee3aa8aeb4f7238d9456"
Service-Type = SIP
SIP-URI-User = "3400000002"
NAS-IP-Address = 192.168.1.34
NAS-Port = 5060



And this is an INVITE request:


Code: Access-Request
Identifier: 100
Authentic: <230><141><168>k<203>:}<239><134><139>O<227>]<6><147>'
Attributes:
User-Name = "[EMAIL PROTECTED]"
Digest-Attributes = <10><12>3400000000
Digest-Attributes = <1><13>voztele.com
Digest-Attributes = <2>*3f90309d03749b41dfcc0d202bc35f89ebfc9d1c
Digest-Attributes = <4><27>sip:[EMAIL PROTECTED]
Digest-Attributes = <3><8>INVITE
Digest-Response = "f398469d53d8eeb47bbde0d45f78583d"
Service-Type = SIP
SIP-URI-User = "3400000000"
NAS-IP-Address = 192.168.1.34
NAS-Port = 5060



The only difference between them are these Digest-Attributes:


        Digest-Attributes = <3><10>REGISTER
        Digest-Attributes = <3><8>INVITE

I've been playing with <Handler Digest-Attributes = xxxxx" where xxxxx are
different regular expressions but no luck.


Is there some way to diferentiate both requests? I have to treat them in a
different way because i need to send a reply attribute only for the INVITEs.


Thanks in advance.

Saludos
JesusR.

-------------------------------
Jesus Rodriguez
Endercom Comunicaciones, S.L.
[EMAIL PROTECTED]
http://www.endercom.com
Tel. +34 934424293
-------------------------------
===
Archive at http://www.open.com.au/archives/radiator/
Announcements on [EMAIL PROTECTED]
To unsubscribe, email '[EMAIL PROTECTED]' with
'unsubscribe radiator' in the body of the message.
===
Archive at http://www.open.com.au/archives/radiator/
Announcements on [EMAIL PROTECTED]
To unsubscribe, email '[EMAIL PROTECTED]' with
'unsubscribe radiator' in the body of the message.



NB: have you included a copy of your configuration file (no secrets), together with a trace 4 debug showing what is happening?

--
Radiator: the most portable, flexible and configurable RADIUS server
anywhere. Available on *NIX, *BSD, Windows, MacOS X.
-
Nets: internetwork inventory and management - graphical, extensible,
flexible with hardware, software, platform and database independence.

===
Archive at http://www.open.com.au/archives/radiator/
Announcements on [EMAIL PROTECTED]
To unsubscribe, email '[EMAIL PROTECTED]' with
'unsubscribe radiator' in the body of the message.

Reply via email to