X-Git-Url: http://git.rot13.org/?p=perl-cwmp.git;a=blobdiff_plain;f=bin%2Fcpe-queue.pl;h=a4b6f73175ffd7d72b20eb0b80cd6aa7b3342175;hp=55a8f8f341ff331905033d90682b390e497f0889;hb=154531e14a8fdafceb312dc3eec3eff1ed5676a9;hpb=16a1d03c9f1a8269ab47083cf267c37319300b83 diff --git a/bin/cpe-queue.pl b/bin/cpe-queue.pl index 55a8f8f..a4b6f73 100755 --- a/bin/cpe-queue.pl +++ b/bin/cpe-queue.pl @@ -14,14 +14,16 @@ use File::Slurp; my $debug = 1; my $protocol_dump = 0; my $list = 0; +my $introspect = 0; GetOptions( 'debug+' => \$debug, 'protocol-dump!' => \$protocol_dump, 'list!' => \$list, + 'introspect!' => \$introspect, ); -die "usage: $0 [...queue/]CPE_id [--list|--protocol-dump]\n" unless @ARGV; +die "usage: $0 [...queue/]CPE_id [ --list | --introspect | --protocol-dump ]\n" unless @ARGV; foreach my $id ( @ARGV ) { @@ -110,29 +112,19 @@ foreach my $id ( @ARGV ) { print "Active jobs [", scalar @active, "]\n",join("\n\n", @active) if @active; print "Queued jobs [", scalar @queued, "]\n",join("\n\n", @queued) if @queued; - } else { + } elsif ( $introspect ) { - warn "injecting some tests commands\n"; - -# $q->enqueue( 'GetRPCMethods' ); # XXX not supported by ZTE + $q->enqueue( 'GetRPCMethods' ); # XXX not supported by ZTE $q->enqueue( 'GetParameterNames', [ 'InternetGatewayDevice.', 1 ] ); +# $q->enqueue( 'GetRPCMethods' ); # XXX not supported by ZTE + $q->enqueue( 'GetParameterValues', [ 'InternetGatewayDevice.', ]); - # turn on periodic reporting to ACS server - - $q->enqueue( 'GetParameterValues', [ 'InternetGatewayDevice.ManagementServer.' ] ); - $q->enqueue( 'SetParameterValues', { - 'InternetGatewayDevice.ManagementServer.PeriodicInformEnable' => 1, - 'InternetGatewayDevice.ManagementServer.PeriodicInformInterval' => 15, # s - } ); - $q->enqueue( 'GetParameterValues', [ 'InternetGatewayDevice.ManagementServer.' ] ); - - # $q->enqueue( 'GetParameterNames', [ '.ExternalIPAddress', 1 ] ); $q->enqueue( 'GetParameterNames', [ 'InternetGatewayDevice.', 1 ] ); @@ -170,6 +162,29 @@ InternetGatewayDevice.WANDevice. ]); # $q->enqueue( 'SetParameterAttributes', [ ' + + } else { + + warn "injecting some tests commands\n"; + + # turn on periodic reporting to ACS server + +# $q->enqueue( 'GetParameterValues', [ 'InternetGatewayDevice.ManagementServer.' ] ); + $q->enqueue( 'SetParameterValues', { + 'InternetGatewayDevice.DeviceInfo.ProvisioningCode' => 'perl-cwmp provision', + } ); + $q->enqueue( 'SetParameterValues', { + 'InternetGatewayDevice.ManagementServer.PeriodicInformInterval' => 15, # s + } ); + $q->enqueue( 'SetParameterValues', { + 'InternetGatewayDevice.ManagementServer.PeriodicInformEnable' => 1, + } ); + + $q->enqueue( 'GetParameterValues', [ + 'InternetGatewayDevice.ManagementServer.', + 'InternetGatewayDevice.DeviceInfo.ProvisioningCode', + ] ); + } }