diff --git a/bin/generate_test_tt2.pl b/bin/generate_test_tt2.pl new file mode 100755 index 00000000..266a5f6a --- /dev/null +++ b/bin/generate_test_tt2.pl @@ -0,0 +1,95 @@ +#!/usr/bin/env perl +# +# Copyright: 2020 Sipwise Development Team +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This package is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# On Debian systems, the complete text of the GNU General +# Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". +# +use 5.014; +use strict; +use warnings; +use Cwd 'abs_path'; +use Data::Dumper; +use YAML::XS qw(LoadFile); +use Getopt::Long; +use English; +use utf8; +use JSON; + +sub usage +{ + my $output = "usage: generate_test_tt2.pl [-h] file\n"; + $output .= "\tOptions:\n"; + $output .= "-h --help: this help\n"; + return $output +} + +my $yml = ''; +my $help = 0; +GetOptions ("h|help" => \$help) + or die("Error in command line arguments\n".usage()); + +if($#ARGV!=0 || $help) +{ + die(usage()) +} +my $filename = abs_path($ARGV[0]); +my $json; +{ + local $INPUT_RECORD_SEPARATOR = undef; #Enable 'slurp' mode + open my $fh, "<", $filename; + $json = <$fh>; + close $fh; +} +my $inlog = decode_json($json); +print "flow:\n"; +foreach my $i (@{$inlog->{'flow'}}) +{ + foreach my $key (keys %{$i}) + { + print " - ".$key.":\n"; + } +} +print "sip_in:\n"; +foreach my $i (@{$inlog->{'sip_in'}}) +{ + my @line = split(/\r\n/, $i); + foreach my $l (@line) + { + if($l) { + print " - '$l'\n"; + } else { + # we don't care about SDP + last; + } + } +} +print "sip_out:\n"; +foreach my $i (@{$inlog->{'sip_out'}}) +{ + my @line = split(/\r\n/, $i); + print " - [\n"; + foreach my $l (@line) + { + if($l) { + print " '$l',\n"; + } else { + # we don't care about SDP + last; + } + } + print " ]\n"; +} diff --git a/bin/show_flow.pl b/bin/show_flow.pl index 945803c1..d9b6265c 100755 --- a/bin/show_flow.pl +++ b/bin/show_flow.pl @@ -39,7 +39,7 @@ sub usage my $yml = ''; my $help = 0; my $json_in = 0; -GetOptions ("y|yml+" => \$yml, "h|help" => \$help, "j|json" => \$json_in) +GetOptions ("y|yml" => \$yml, "h|help" => \$help, "j|json" => \$json_in) or die("Error in command line arguments\n".usage()); if($#ARGV!=0 || $help) diff --git a/bin/show_sip.pl b/bin/show_sip.pl new file mode 100755 index 00000000..5633e18a --- /dev/null +++ b/bin/show_sip.pl @@ -0,0 +1,68 @@ +#!/usr/bin/env perl +# +# Copyright: 2020 Sipwise Development Team +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This package is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# On Debian systems, the complete text of the GNU General +# Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". +# +use 5.014; +use strict; +use warnings; +use Cwd 'abs_path'; +use Data::Dumper; +use Getopt::Long; +use English; +use utf8; +use JSON; + +sub usage +{ + my $output = "usage: show_sip.pl [-h] file\n"; + $output .= "\tOptions:\n"; + $output .= "-h --help: this help\n"; + return $output +} + +my $help = 0; +my $json_in = 0; +GetOptions ("h|help" => \$help) + or die("Error in command line arguments\n".usage()); + +if($#ARGV!=0 || $help) +{ + die(usage()) +} +my $filename = abs_path($ARGV[0]); +my $json; +{ + local $INPUT_RECORD_SEPARATOR = undef; #Enable 'slurp' mode + open my $fh, "<", $filename; + $json = <$fh>; + close $fh; +} +my $inlog = decode_json($json); + +print "=== sip_in ===\n"; +foreach my $i (@{$inlog->{'sip_in'}}) +{ + print "$i\n---\n"; +} +print "=== sip_out ===\n"; +foreach my $i (@{$inlog->{'sip_out'}}) +{ + print "$i\n---\n" +} +#EOF