From 5a90f9ab51058649d99604d7bd1bb2a17cb37578 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Mon, 9 Dec 2019 04:33:05 -0500 Subject: [PATCH] TT#72350 read default values from config file Change-Id: I0b6c0e6e6e43c1df3b9ede1c711a5f83bd4543f6 (cherry picked from commit 83f2cb03d81a3472e2197d8e77284aeff21f20e6) --- utils/rtpengine-ctl | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/utils/rtpengine-ctl b/utils/rtpengine-ctl index 349b824d6..5d1e8dae6 100755 --- a/utils/rtpengine-ctl +++ b/utils/rtpengine-ctl @@ -5,16 +5,34 @@ use warnings; use IO::Socket::INET; use Getopt::Long; +use Config::Tiny; my $ip; my $port; +my $conffile = '/etc/rtpengine/rtpengine.conf'; +my $listen; my $optret = GetOptions( 'help|h' => sub { showusage(); exit 0; }, 'ip=s' => \$ip, 'port=i' => \$port, + 'config-file=s' => \$conffile, ); +if (-f $conffile) { + my $config = Config::Tiny->read($conffile); + $config or die "Failed to read config file: " . Config::Tiny->errstr; + + $listen = $config->{rtpengine}{'listen-cli'} + if $config->{rtpengine}; + if ($listen =~ /^\d+$/) { + $port //= $listen; + } + else { + $ip //= $listen; + } +} + if ($ip && $ip =~ s/:(\d+)$//) { $port = $1; }