logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Net::SIP::Dropper::ByField - drops SIP messages based on fields in SIP header

Constructor

       new ( ARGS )
           ARGS is a hash with the following keys:

           methods Optional argument to restrict dropping to specific methods.

                   Is  array  reference  of  method  names,  if one of the names is empty also responses will be
                   considered. If not given all packets will be checked.

           field-name
                   Any argument other then "methods" will be considered a field name.  The value is  a  callback
                   given to "invoke_callback", like for instance a Regexp.

Description

       With "Net::SIP::Dropper::ByField" one can drop packets based on the contents of the fields in the SIP
       header. This can be used to drop specific user agents.

Methods

       run ( PACKET, LEG, FROM )
           This method is called as a callback from the Net::SIP::Dropper object.  It returns true if the packet
           should  be  dropped,  e.g.  if  at  least  one of the in the constructor specified fields matches the
           specified value.

perl v5.40.0                                       2024-09-08                    Net::SIP::Dropper::ByField(3pm)

Name

       Net::SIP::Dropper::ByField - drops SIP messages based on fields in SIP header

Synopsis

           my $drop_by_field = Net::SIP::Dropper::ByField->new(
               methods => [ 'REGISTER', '...', '' ],
               'From' => qr/sip(?:vicious|sscuser)/,
               'User-Agent' => qr/^friendly-scanner$/,
           );

           my $dropper = Net::SIP::Dropper->new( cb => $drop_by_field );
           my $chain = Net::SIP::ReceiveChain->new([ $dropper, ... ]);

See Also