localconnectivityservice/modematplugin/src/atcopscmd.cpp
changeset 29 ce4f184690c9
parent 26 d74a43a4aa59
--- a/localconnectivityservice/modematplugin/src/atcopscmd.cpp	Fri Apr 23 23:56:14 2010 +0300
+++ b/localconnectivityservice/modematplugin/src/atcopscmd.cpp	Sat Apr 24 00:11:33 2010 +0300
@@ -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."));