thanks,
already visited that place.
from Android project
http://www.google.com/codesearch/p?hl=en#3snSSQMlsl0/telephony/android_modem.c&q=ussd
/* see onRadioPowerOn() */
{ "%CPHS=1", NULL, NULL },
{ "%CTZV=1", NULL, NULL },
/* see onSIMReady() */
{ "+CSMS=1", "+CSMS: 1, 1, 1", NULL },
{ "+CNMI=1,2,2,1,1", NULL, NULL },
/* see requestRadioPower() */
{ "+CFUN=0", NULL, handleRadioPower },
{ "+CFUN=1", NULL, handleRadioPower },
/* see requestOrSendPDPContextList() */
{ "+CGACT?", "", handleListPDPContexts },
/* see requestOperator() */
{ "+COPS=3,0;+COPS?;+COPS=3,1;+COPS?;+COPS=3,2;+COPS?", NULL, handleRequestOperator },
/* see requestQueryNetworkSelectionMode() */
{ "!+COPS", NULL, handleOperatorSelection },
/* see requestGetCurrentCalls() */
{ "+CLCC", NULL, handleListCurrentCalls },
/* see requestWriteSmsToSim() */
{ "!+CMGW=", NULL, handleSendSMStoSIM },
/* see requestHangup() */
{ "!+CHLD=", NULL, handleHangup },
/* see requestSignalStrength() */
{ "+CSQ", "+CSQ: 7,99", NULL }, /* XXX: TODO: implement variable signal strength and error rates */
/* see requestRegistrationState() */
{ "!+CREG", NULL, handleNetworkRegistration },
{ "!+CGREG", NULL, handleNetworkRegistration },
/* see requestSendSMS() */
{ "!+CMGS=", NULL, handleSendSMS },
/* see requestSetupDefaultPDP() */
{ "%CPRIM=\"GMM\",\"CONFIG MULTISLOT_CLASS=<10>\"", NULL, NULL },
{ "%DATA=2,\"UART\",1,,\"SER\",\"UART\",0", NULL, NULL },
{ "!+CGDCONT=", NULL, handleDefinePDPContext },
{ "+CGQREQ=1", NULL, NULL },
{ "+CGQMIN=1", NULL, NULL },
{ "+CGEREP=1,0", NULL, NULL },
{ "+CGACT=1,0", NULL, NULL },
{ "D*99***1#", NULL, handleStartPDPContext },
/* see requestDial() */
{ "!D", NULL, handleDial }, /* the code says that success/error is ignored, the call state will
be polled through +CLCC instead */
/* see requestSMSAcknowledge() */
{ "+CNMA=1", NULL, NULL },
{ "+CNMA=2", NULL, NULL },
/* see requestSIM_IO() */
{ "!+CRSM=", NULL, handleSIM_IO },
/* see onRequest() */
{ "+CHLD=0", NULL, handleHangup },
{ "+CHLD=1", NULL, handleHangup },
{ "+CHLD=2", NULL, handleHangup },
{ "+CHLD=3", NULL, handleHangup },
{ "A", NULL, handleAnswer }, /* answer the call */
{ "H", NULL, handleAnswer }, /* user is busy */
{ "!+VTS=", NULL, handleSetDialTone },
{ "+CIMI", OPERATOR_HOME_MCCMNC "000000000", NULL }, /* request internation subscriber identification number */
{ "+CGSN", "000000000000000", NULL }, /* request model version */
{ "+CUSD=2",NULL, NULL }, /* Cancel USSD */
{ "+COPS=0", NULL, handleOperatorSelection }, /* set network selection to automatic */
{ "!+CMGD=", NULL, handleDeleteSMSonSIM }, /* delete SMS on SIM */
{ "!+CPIN=", NULL, handleChangeOrEnterPIN },
/* see getSIMStatus() */
{ "+CPIN?", NULL, handleSIMStatusReq },
{ "+CNMI?", "+CNMI: 1,2,2,1,1", NULL },
/* see isRadioOn() */
{ "+CFUN?", NULL, handleRadioPowerReq },
/* see initializeCallback() */
{ "E0Q0V1", NULL, NULL },
{ "S0=0", NULL, NULL },
{ "+CMEE=1", NULL, NULL },
{ "+CREG=2", NULL, handleNetworkRegistration },
{ "+CREG=1", NULL, handleNetworkRegistration },
{ "+CGREG=1", NULL, handleNetworkRegistration },
{ "+CCWA=1", NULL, NULL },
{ "+CMOD=0", NULL, NULL },
{ "+CMUT=0", NULL, NULL },
{ "+CSSN=0,1", NULL, NULL },
{ "+COLP=0", NULL, NULL },
{ "+CSCS=\"HEX\"", NULL, NULL },
{ "+CUSD=1", NULL, NULL },
{ "+CGEREP=1,0", NULL, NULL },
{ "+CMGF=0", NULL, handleEndOfInit }, /* now is a goof time to send the current tme and timezone */
{ "%CPI=3", NULL, NULL },
{ "%CSTAT=1", NULL, NULL },
/* end of list */
and more from Huawei forum
---
As with most 3G Modems AT+COPS only accepts 3 Parameters and though it will not work.
But those work:
GPRSONLY: AT^SYSCFG=13,1,3FFFFFFF,2,4
3GONLY: AT^SYSCFG=14,2,3FFFFFFF,2,4
GPRSPREF : AT^SYSCFG=2,1,3FFFFFFF,2,4
3GPREF: AT^SYSCFG=2,2,3FFFFFFF,2,4
This information was taken out of Vodafone Mobile Connect Software (Linux Version) Python Code.
------