|
|
|
@ -97,6 +97,18 @@ my @int_opts = qw( |
|
|
|
db-id |
|
|
|
); |
|
|
|
|
|
|
|
my @string_arr_opts = qw( |
|
|
|
flags |
|
|
|
rtcp-mux |
|
|
|
SDES |
|
|
|
supports |
|
|
|
T38 |
|
|
|
OSRTP |
|
|
|
received-from |
|
|
|
from-tags |
|
|
|
frequencies |
|
|
|
); |
|
|
|
|
|
|
|
my %getopt = ( |
|
|
|
'json' => \$options{'json'}, |
|
|
|
'proxy-address=s' => \$options{'proxy-address'}, |
|
|
|
@ -110,8 +122,6 @@ my %getopt = ( |
|
|
|
'replace-zero-address' => \$options{'replace-zero-address'}, |
|
|
|
'client-address=s' => \$options{'client-address'}, |
|
|
|
'sdp-file=s' => \$options{'sdp-file'}, |
|
|
|
'SDES=s@' => \$options{'SDES'}, |
|
|
|
'rtcp-mux=s@' => \$options{'rtcp-mux'}, |
|
|
|
'direction=s' => \$options{'direction'}, |
|
|
|
'v|verbose' => \$options{'verbose'}, |
|
|
|
'codec-strip=s@' => \$options{'codec-strip'}, |
|
|
|
@ -122,16 +132,8 @@ my %getopt = ( |
|
|
|
'codec-accept=s@' => \$options{'codec-accept'}, |
|
|
|
'codec-set=s@' => \$options{'codec-set'}, |
|
|
|
'codec-except=s@' => \$options{'codec-except'}, |
|
|
|
'flags=s@' => \$options{'flags'}, |
|
|
|
'codec-options-flat' => \$options{'codec options flat'}, |
|
|
|
'flags=s@' => \$options{'flags'}, |
|
|
|
'supports=s@' => \$options{'supports'}, |
|
|
|
'blob-file=s' => \$options{'blob-file'}, |
|
|
|
'T38=s@' => \$options{'T.38'}, |
|
|
|
'OSRTP=s@' => \$options{'OSRTP'}, |
|
|
|
'received-from=s@' => \$options{'received-from'}, |
|
|
|
'from-tags=s@' => \$options{'from-tags'}, |
|
|
|
'frequencies=i@' => \$options{'frequencies'}, |
|
|
|
); |
|
|
|
|
|
|
|
for my $flag (@flags) { |
|
|
|
@ -143,6 +145,9 @@ for my $flag (@string_opts) { |
|
|
|
for my $flag (@int_opts) { |
|
|
|
$getopt{"$flag=i"} = \$options{$flag}; |
|
|
|
} |
|
|
|
for my $flag (@string_arr_opts) { |
|
|
|
$getopt{"$flag=s@"} = \$options{$flag}; |
|
|
|
} |
|
|
|
|
|
|
|
GetOptions(%getopt) or die; |
|
|
|
|
|
|
|
@ -163,16 +168,17 @@ for my $x (@string_opts) { |
|
|
|
for my $x (@int_opts) { |
|
|
|
defined($options{$x}) and $packet{$x} = $options{$x}; |
|
|
|
} |
|
|
|
# process this first to get manually specified --flags=... in first |
|
|
|
for my $x (@string_arr_opts) { |
|
|
|
$packet{$x} = $options{$x} |
|
|
|
if defined($options{$x}) && ref($options{$x}) eq 'ARRAY'; |
|
|
|
} |
|
|
|
for my $x (@flags) { |
|
|
|
defined($options{$x}) and push(@{$packet{flags}}, $x); |
|
|
|
} |
|
|
|
for my $x (split(/,/, 'origin,session connection,sdp version,username,session-name,zero-address,force increment sdp version')) { |
|
|
|
defined($options{'replace-' . $x}) and push(@{$packet{replace}}, $x); |
|
|
|
} |
|
|
|
for my $x (split(/,/, 'rtcp-mux,SDES,supports,T.38,OSRTP,received-from,from-tags,frequencies')) { |
|
|
|
$packet{$x} = $options{$x} |
|
|
|
if defined($options{$x}) && ref($options{$x}) eq 'ARRAY'; |
|
|
|
} |
|
|
|
if (defined($options{direction})) { |
|
|
|
$options{direction} =~ /(.*),(.*)/ or die; |
|
|
|
$packet{direction} = [$1,$2]; |
|
|
|
@ -187,9 +193,6 @@ for my $x (qw(strip offer transcode mask set consume accept except)) { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if ($options{'flags'} && @{$options{'flags'}}) { |
|
|
|
push(@{$packet{flags}}, @{$options{'flags'}}); |
|
|
|
} |
|
|
|
|
|
|
|
sub slurp_file { |
|
|
|
local $/ = undef; |
|
|
|
|