(RADIATOR) Handler SIP Proxy

Jesus Rodriguez jesusr at endercom.com
Sat Oct 18 11:25:15 CDT 2003


On Fri, 17 Oct 2003, Frank Danielson wrote:

Hi Frank,

Thanks for your answer. I will try your solution using a PreClient hook as
suggested by Huge.

Thanks Frank and Huge.


> 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:jesusr at endercom.com]
> Sent: Friday, October 17, 2003 2:30 PM
> To: radiator at open.com.au
> 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 = "3400000002 at voztele.com"
>         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 = "3400000000 at voztele.com"
>         Digest-Attributes = <10><12>3400000000
>         Digest-Attributes = <1><13>voztele.com
>         Digest-Attributes = <2>*3f90309d03749b41dfcc0d202bc35f89ebfc9d1c
>         Digest-Attributes = <4><27>sip:637589919 at voztele.com
>         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.
> jesusr at endercom.com
> http://www.endercom.com
> Tel. +34 934424293
> -------------------------------
> ===
> Archive at http://www.open.com.au/archives/radiator/
> Announcements on radiator-announce at open.com.au
> To unsubscribe, email 'majordomo at open.com.au' with
> 'unsubscribe radiator' in the body of the message.
> ===
> Archive at http://www.open.com.au/archives/radiator/
> Announcements on radiator-announce at open.com.au
> To unsubscribe, email 'majordomo at open.com.au' with
> 'unsubscribe radiator' in the body of the message.
>
>


Saludos
JesusR.

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


More information about the radiator mailing list