The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Net::SIGTRAN::M3UA - An implementation to create M3UA protol stack to provide SIGTRAN stack implementation in perl.

SYNOPSIS

Server Example

use Net::SIGTRAN::SCTP;

use threads;

my $server=new Net::SIGTRAN::M3UA( PORT=>12346 ); my $ssock=$server->bind(); if ($ssock) { my $csock; while($csock = $server->accept($ssock)) { print "New Client Connection\n"; my $thr=threads->create(\&processRequest,$server,$csock); $thr->detach(); } }

sub processRequest { my $server=shift; my $ssock=shift; my $connSock = $server->accept($ssock); cmp_ok($connSock,'>',0,'Unable to accept Client Connection'); print "Sending to $connSock\n"; $server->ASPUP($connSock); $server->ASPUP_ACK($connSock); $server->ASPAC($connSock,2,0); $server->ASPAC_ACK($connSock,2,0); $server->NTFY($connSock,1,2); $server->DAUD($connSock,12,0,1142); $server->DAVA($connSock,12,0,1142); $server->DUNA($connSock,12,0,1142); my $heartbeat='0005000101ffd8398047021227041120'; $server->BEAT($connSock,$heartbeat); $server->BEAT_ACK($connSock,$heartbeat); $server->close($connSock); }

Client Example

use Net::SIGTRAN::SCTP;

my $client=new Net::SIGTRAN::M3UA( HOST=>'127.0.0.1', PORT=>12346 );

my $csock=$client->connect(); #Read ASPUP &clientread('ASPUP',$client,$csock); #Read ASPUP_ACK &clientread('ASPUP_ACK',$client,$csock); #Read ASPAC &clientread('ASPAC',$client,$csock); #Read ASPAC_ACK &clientread('ASPAC_ACK', $client,$csock); #Read NTFY &clientread('NTFY', $client,$csock); #Read DAUD &clientread('DAUD', $client,$csock); #Read DAVA &clientread('DAVA', $client,$csock); #Read DUNA &clientread('DUNA', $client,$csock); #Read BEAT &clientread('BEAT', $client,$csock); #Read BEAT_ACK &clientread('BEAT_ACK', $client,$csock);

$client->close($csock);

sub clientread { my $title=shift; my $client=shift; my $csock=shift; my ($buffer)=$client->readpdu($csock); if ($buffer) { if ($buffer->{'M3UA'} =~/Invalid|Unknown/) { print("Reading $title test"); } else { print("reading $title test"); print STDERR Dumper($buffer); } } else { print("Reading $title test, Client Socket does not recieve any packet"); } }

AUTHOR

Christopherus Goo <software@artofmobile.com>

COPYRIGHT

Copyright (c) 2012 Christopherus Goo. All rights reserved. This software may be used and modified freely, but I do request that this copyright notice remain attached to the file. You may modify this module as you wish, but if you redistribute a modified version, please attach a note listing the modifications you have made.