+ $q->dq->visit_all_jobs(\&wanted, undef);
+ printf "Jobs: active: %d queued: %d\n",
+ scalar @active, scalar @queued;
+
+ 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 {
+
+ warn "injecting some tests commands\n";
+
+# $q->enqueue( 'GetRPCMethods' ); # XXX not supported by ZTE
+
+ $q->enqueue( 'GetParameterNames', [ 'InternetGatewayDevice.', 1 ] );
+
+ $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 ] );
+# $q->enqueue( 'GetParameterNames', [ 'InternetGatewayDevice.DeviceInfo.', 1 ] );
+# $q->enqueue( 'GetParameterNames', [ 'InternetGatewayDevice.DeviceConfig.', 1 ] );
+# $q->enqueue( 'GetParameterNames', [ 'InternetGatewayDevice.ManagementServer.', 1 ] );
+# $q->enqueue( 'GetParameterNames', [ 'InternetGatewayDevice.Services.', 1 ] );
+# $q->enqueue( 'GetParameterNames', [ 'InternetGatewayDevice.LANDevice.', 1 ] );
+
+ $q->enqueue( 'GetParameterNames', [ 'InternetGatewayDevice.', 0 ] );
+ $q->enqueue( 'GetParameterValues', [
+ #'InternetGatewayDevice.', # too big for ZTE
+ 'InternetGatewayDevice.DeviceConfig.',
+ 'InternetGatewayDevice.DeviceInfo.',
+ 'InternetGatewayDevice.DeviceSummary',
+ 'InternetGatewayDevice.ManagementServer.',
+ ]);
+
+ $q->enqueue( 'GetParameterValues' => [ $_ ] ) foreach ( qw/
+InternetGatewayDevice.IPPingDiagnostics.
+InternetGatewayDevice.LANConfigSecurity.
+InternetGatewayDevice.LANDevice.
+InternetGatewayDevice.Layer2Bridging.
+InternetGatewayDevice.Layer3Forwarding.
+InternetGatewayDevice.ManagementServer.
+InternetGatewayDevice.QueueManagement.
+InternetGatewayDevice.Time.
+InternetGatewayDevice.UserInterface.
+InternetGatewayDevice.WANDevice.
+ / );
+
+ $q->enqueue( 'GetParameterAttributes', [
+ 'InternetGatewayDevice.DeviceInfo.SerialNumber',
+ 'InternetGatewayDevice.DeviceInfo.SoftwareVersion',
+ ]);
+
+# $q->enqueue( 'SetParameterAttributes', [ '