View on
MetaCPAN
search.cpan.org is shutting down
For details read Perl NOC. After June 25th this page will redirect to MetaCPAN.org
Steffen Ullrich > Net-SIP-0.67 > Net::SIP::Dropper

Download:
Net-SIP-0.67.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Source   Latest Release: Net-SIP-0.815

NAME ^

Net::SIP::Dropper - drops SIP messages based on callback

SYNOPSIS ^

        use Net::SIP::Dropper::ByIPPort;
        my $drop_by_ipport = Net::SIP::Dropper::ByIPPort->new(
                database => '/path/to/database.drop',
                methods => [ 'REGISTER', '...', '' ],
                attempts => 10,
                interval => 60,
        );

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

        my $drop_subscribe = sub {
                my ($packet,$leg,$from) = @_;
                # drop all subscribe requests and responses
                return $packet->method eq 'SUBSCRIBE' ? 1:0;
        };

        my $dropper = Net::SIP::Dropper->new(
                cbs => [ $drop_by_ipport, $drop_by_field, $drop_subscribe ]);

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

DESCRIPTION ^

Drops messages. This means, does no further processing in the Net::SIP chain and does not send something back if the incoming message match the settings.

Some useful droppers are defined in Net::SIP::Dropper::ByIpPort and Net::SIP::Dropper::ByField.

CONSTRUCTOR ^

new ( ARGS )

ARGS is a hash with key cb or cbs. cb is a single callback to be processed, cbs is an arrayref with callbacks. If one of the callbacks returns true the message will be dropped. If all callbacks return false the message will be forwarded in the chain.

Returns a new dropper object to be used in the chain.

syntax highlighting: