diff --git a/utils/rtpengine-ng-client b/utils/rtpengine-ng-client index 013138fcd..976d0a611 100755 --- a/utils/rtpengine-ng-client +++ b/utils/rtpengine-ng-client @@ -11,7 +11,46 @@ use NGCP::Rtpengine; my %options = ('proxy-address' => 'localhost', 'proxy-port' => 2223); -GetOptions( +my @flags = qw( + trust-address + symmetric + asymmetric + unidirectional + force + strict-source + media-handover + sip-source-address + reset + port-latching + no-rtcp-attribute + full-rtcp-attribute + loop-protect + record-call + always-transcode + SIPREC + pad-crypto + generate-mid + fragment + original-sendrecv + symmetric-codecs + asymmetric-codecs + inject-DTMF + detect-DTMF + generate-RTCP + single-codec + no-codec-renegotiation + pierce-NAT + SIP-source-address + allow-transcoding + trickle-ICE + reject-ICE + egress + no-jitter-buffer + passthrough + no-passthrough +); + +my %getopt = ( 'json' => \$options{'json'}, 'proxy-address=s' => \$options{'proxy-address'}, 'proxy-port=s' => \$options{'proxy-port'}, @@ -20,13 +59,6 @@ GetOptions( 'call-id=s' => \$options{'call-id'}, 'via-branch=s' => \$options{'via-branch'}, 'protocol=s' => \$options{'transport protocol'}, - 'trust-address' => \$options{'trust address'}, - 'sip-source-address' => \$options{'sip source address'}, - 'no-rtcp-attribute' => \$options{'no rtcp attribute'}, - 'full-rtcp-attribute' => \$options{'full rtcp attribute'}, - 'symmetric' => \$options{'symmetric'}, - 'asymmetric' => \$options{'asymmetric'}, - 'unidirectional' => \$options{'unidirectional'}, 'replace-origin' => \$options{'replace-origin'}, 'replace-session-connection' => \$options{'replace-session connection'}, 'replace-sdp-version' => \$options{'replace-sdp version'}, @@ -43,16 +75,9 @@ GetOptions( 'rtcp-mux=s@' => \$options{'rtcp-mux'}, 'address-family=s' => \$options{'address family'}, 'direction=s' => \$options{'direction'}, - 'force' => \$options{'force'}, 'v|verbose' => \$options{'verbose'}, - 'strict-source' => \$options{'strict source'}, - 'media-handover' => \$options{'media handover'}, 'TOS=i' => \$options{'TOS'}, 'delete-delay=i' => \$options{'delete-delay'}, - 'reset' => \$options{'reset'}, - 'port-latching' => \$options{'port latching'}, - 'loop-protect' => \$options{'loop protect'}, - 'record-call' => \$options{'record call'}, 'media-address=s' => \$options{'media address'}, 'codec-strip=s@' => \$options{'codec-strip'}, 'codec-offer=s@' => \$options{'codec-offer'}, @@ -68,17 +93,9 @@ GetOptions( 'flags=s@' => \$options{'flags'}, 'supports=s@' => \$options{'supports'}, 'xmlrpc-callback=s' => \$options{'xmlrpc-callback'}, - 'always-transcode' => \$options{'always transcode'}, 'metadata=s' => \$options{'metadata'}, 'all=s' => \$options{'all'}, - 'siprec' => \$options{'SIPREC'}, - 'SIPREC' => \$options{'SIPREC'}, - 'egress' => \$options{'egress'}, 'address=s' => \$options{'address'}, - 'pad-crypto' => \$options{'pad crypto'}, - 'generate-mid' => \$options{'generate mid'}, - 'fragment' => \$options{'fragment'}, - 'original-sendrecv' => \$options{'original sendrecv'}, 'file=s' => \$options{'file'}, 'blob=s' => \$options{'blob'}, 'blob-file=s' => \$options{'blob-file'}, @@ -87,22 +104,9 @@ GetOptions( 'code=s' => \$options{'code'}, 'OSRTP=s@' => \$options{'OSRTP'}, 'received-from=s@' => \$options{'received-from'}, - 'SIP-source-address' => \$options{'SIP-source-address'}, - 'symmetric-codecs' => \$options{'symmetric codecs'}, - 'asymmetric-codecs' => \$options{'asymmetric codecs'}, - 'inject-DTMF' => \$options{'inject DTMF'}, - 'detect-DTMF' => \$options{'detect DTMF'}, 'DTLS-fingerprint=s' => \$options{'DTLS-fingerprint'}, 'ICE-lite=s' => \$options{'ICE-lite'}, - 'no-jitter-buffer' => \$options{'no jitter buffer'}, - 'generate-RTCP' => \$options{'generate RTCP'}, - 'single-codec' => \$options{'single codec'}, - 'allow-transcoding' => \$options{'allow transcoding'}, - 'no-codec-renegotiation' => \$options{'no codec renegotiation'}, 'media-echo=s' => \$options{'media echo'}, - 'pierce-NAT' => \$options{'pierce NAT'}, - 'trickle-ICE' => \$options{'trickle ICE'}, - 'reject-ICE' => \$options{'reject ICE'}, 'label=s' => \$options{'label'}, 'set-label=s' => \$options{'set-label'}, 'from-label=s' => \$options{'from-label'}, @@ -121,7 +125,13 @@ GetOptions( 'trigger-end-digits=i' => \$options{'trigger-end-digits'}, 'trigger-end-time=i' => \$options{'trigger-end-time'}, 'DTMF-delay=i' => \$options{'DTMF-delay'}, -) or die; +); + +for my $flag (@flags) { + $getopt{$flag} = \$options{$flag}; +} + +GetOptions(%getopt) or die; my $cmd = shift(@ARGV) or die; @@ -140,7 +150,7 @@ for my $x (split(/,/, 'from-tag,to-tag,call-id,transport protocol,media address, for my $x (split(/,/, 'TOS,delete-delay,delay-buffer,volume,trigger-end-time,trigger-end-digits,DTMF-delay,ptime,db-id')) { defined($options{$x}) and $packet{$x} = $options{$x}; } -for my $x (split(/,/, 'trust address,symmetric,asymmetric,unidirectional,force,strict source,media handover,sip source address,reset,port latching,no rtcp attribute,full rtcp attribute,loop protect,record call,always transcode,SIPREC,pad crypto,generate mid,fragment,original sendrecv,symmetric codecs,asymmetric codecs,inject DTMF,detect DTMF,generate RTCP,single codec,no codec renegotiation,pierce NAT,SIP-source-address,allow transcoding,trickle ICE,reject ICE,egress')) { +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')) {