allow specifying of desired transport protocols

git.mgm/mediaproxy-ng/github/master
Richard Fuchs 12 years ago
parent d632fae1f3
commit 2f8e10fd6a

@ -14,7 +14,7 @@ use Digest::SHA qw(hmac_sha1);
use MIME::Base64;
my ($NUM, $RUNTIME, $STREAMS) = (1000, 30, 1);
my ($NODEL, $IP, $IPV6, $KEEPGOING, $REINVITES, $BRANCHES);
my ($NODEL, $IP, $IPV6, $KEEPGOING, $REINVITES, $BRANCHES, $PROTOS);
GetOptions(
'no-delete' => \$NODEL,
'num-calls=i' => \$NUM,
@ -25,6 +25,7 @@ GetOptions(
'reinvites' => \$REINVITES,
'branches' => \$BRANCHES,
'max-streams=i' => \$STREAMS,
'protos=s' => \$PROTOS, # "RTP/AVP,RTP/SAVP"
) or die;
($IP || $IPV6) or die("at least one of --local-ip or --local-ipv6 must be given");
@ -32,13 +33,7 @@ GetOptions(
$SIG{ALRM} = sub { print "alarm!\n"; };
setrlimit(RLIMIT_NOFILE, 8000, 8000);
# global for now
#my $srtp_master_key = pack("H*", 'E1F97A0D3E018BE0D64FA32C06DE4139');
#my $srtp_master_salt = pack("H*", '0EC675AD498AFEEBB6960B3AABE6');
#my ($srtp_session_key, $srtp_session_auth_key, $srtp_session_salt)
# = gen_rtp_session_keys($srtp_master_key, $srtp_master_salt);
#my ($srtcp_session_key, $srtcp_session_auth_key, $srtcp_session_salt)
# = gen_rtcp_session_keys($srtp_master_key, $srtp_master_salt);
$PROTOS and $PROTOS = [split(/\s*[,;:]+\s*/, $PROTOS)];
my @chrs = ('a' .. 'z', 'A' .. 'Z', '0' .. '9');
sub rand_str {
@ -433,6 +428,7 @@ my @transports = (
rtcp_func => \&rtcp_savpf,
},
);
my %transports = map {$$_{name} => $_} @transports;
sub callid {
my $i = rand_str(50);
@ -466,8 +462,9 @@ sub update_lookup {
}
for my $x (0,1) {
$$trans[$x] and next;
#$$trans[$x] = $transports[rand(@transports)];
$$trans[$x] = $transports[rand(@transports)];
$$trans[$x] = ($PROTOS && $$PROTOS[$x] && $transports{$$PROTOS[$x]})
? $transports{$$PROTOS[$x]}
: $transports[rand(@transports)];
}
my ($pr, $pr_o) = @$protos[$i, $j];
my ($tr, $tr_o) = @$trans[$i, $j];

Loading…
Cancel
Save