Steffen Ullrich > Net-SIP > Net::SIP::Dropper::ByField

Download:
Net-SIP-0.687.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  0
Stalled  1
View/Report Bugs
Source  

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.

syntax highlighting: