localconnectivityservice/modematplugin/src/atcopscmd.cpp
branchRCL_3
changeset 10 a249528449c3
parent 5 11d83199e2d9
--- a/localconnectivityservice/modematplugin/src/atcopscmd.cpp	Fri Mar 12 15:46:58 2010 +0200
+++ b/localconnectivityservice/modematplugin/src/atcopscmd.cpp	Mon Mar 15 12:43:27 2010 +0200
@@ -732,12 +732,21 @@
             break; 
         case ESetSystemNetworkBand: 
         case EManuallyRegisterToNetworkAndChooseAccTech: 
-            // Cannot set the access technology, so set it back to EAccTechNotSet. 
-            // This prevents replying to queries with outdated or incorrect acc tech information. 
-            TRACE_INFO( _L("CATCOPSCmd::RunL() couldn't set system network band, so reset access tech."));
-            iAccTech = EAccTechNotSet; 
-            // Fall through to default, because these require an error response. 
-
+			if(iRegistrationMode == EModeManualAutomatic)
+                {
+                // Manual registration failed, try automatic next. 
+                TRACE_INFO( _L("CATCOPSCmd::RunL() registration mode manual automatic, try automatic."));
+                AutomaticNetworkRegistration(); 
+				break;
+                }
+            else 
+                {
+				// Cannot set the access technology, so set it back to EAccTechNotSet. 
+				// This prevents replying to queries with outdated or incorrect acc tech information. 
+				TRACE_INFO( _L("CATCOPSCmd::RunL() couldn't set system network band, so reset access tech."));
+				iAccTech = EAccTechNotSet; 
+				// Fall through to default, because these require an error response. 
+				}
         default: 
             // In all other cases send back an error response. 
             TRACE_INFO( _L("CATCOPSCmd::RunL() reply an error."));