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.