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.