Provided by: libnet-sip-perl_0.812-1_all bug

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, ... ]);

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.

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.

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.