30.03.2014 22:27, Heikki Vatiainen kirjutas: > On 03/30/2014 11:47 AM, Arthur wrote: > >> It seems that some tuning needed. I've the following hook code: >> sub >> { >> my $d=${$_[0]}; >> my $r=${$_[1]}; >> my $si = $d->get(873, 10415); >> my $sub_id = $si->get(443, 0); >> It produced an error: >> ERR: Error in PostDiaToRadiusConversionHook(): >> Can't call method "get" without a package or object reference at (eval >> 44) line 6. > Oops, sorry for that. Try get_attr instead of get. > > I created my code snippet from memory and used get() which returns the > undecoded value. With get_attr you should get decoded values. For > grouped attributes these returns object references than can be again > used with get_attr to get the grouped attributes. >
Thanks, I got it. Now I have the next question. My Diameter request contains multiple with the same name AVP-s. For instance: Service-Information: VM., IMS-Information: VM., SDP-Session-Description: VM., v=0 SDP-Session-Description: VM., o=- 640284584 403958478 IN IP4 94.50.86.245 SDP-Session-Description: VM., s=- SDP-Session-Description: VM., c=IN IP4 94.50.120.5 SDP-Session-Description: VM., t=0 0 I have tried to add the following code to my hook for enumerating all entries and making fake attributes like 'SDP-Session-Description-n': my $ims_info = $si->get_attr(876, 10415); # IMS-Information (grouped) my $nn; if (my @avpair = $ims_info->get_attr(842, 10415)) { # SDP-Session-Description $nn = 0; foreach my $avpair (@avpair) { $nn = $nn + 1; $r->add_attr("SDP-Session-Description-".$nn, $avpair); } $r->add_attr('SDP-Session-Description-Count', $nn); } but I got only the first one: SDP-Session-Description-1 = v=0 SDP-Session-Description-Count = 1 How it possible to expand my output with all values? Thanks in advance. br, Arthur _______________________________________________ radiator mailing list radiator@open.com.au http://www.open.com.au/mailman/listinfo/radiator