21 #include "../../../gsmstate.h" 22 #include "../../../misc/coding/coding.h" 23 #include "../../../service/gsmnet.h" 24 #include "../../../service/gsmlogo.h" 25 #include "../../pfunc.h" 31 #ifdef GSM_ENABLE_NOKIA_DCT3 74 unsigned char PressReq[] = {0x00, 0x01, 0x46, 0x00, 0x01,
76 unsigned char ReleaseReq[] = {0x00, 0x01, 0x47, 0x00, 0x01, 0x0c};
99 unsigned char req[] = {0x00,0x01,0x8f,
123 #ifdef GSM_ENABLE_CELLBROADCAST 136 if (Buffer[i] == 13) i = i - 1;
else break;
156 smprintf(s,
"No network and no CB\n");
166 #ifdef GSM_ENABLE_CELLBROADCAST 168 0x01, 0x00, 0x00, 0x01, 0x01};
170 0x00, 0x00, 0x00, 0x00, 0x00};
175 smprintf(s,
"Enabling incoming CB\n");
178 smprintf(s,
"Disabling incoming CB\n");
198 memset(req+6,0,100-6);
229 smprintf(s,
"State of security commands set\n");
242 unsigned char req[] = {0x00, 0x01, 0x64,
253 if (status!=0x06) req[3] = status;
254 smprintf(s,
"Setting state of security commands\n");
267 unsigned char req[] = {0x00, 0x01, 0x66, 0x00};
281 smprintf(s,
"Login for SIM card\n");
287 smprintf(s,
"Logout for SIM card\n");
293 smprintf(s,
"Date & time received\n");
294 if (msg->
Buffer[4]==0x01) {
307 smprintf(s,
"Getting date & time\n");
316 if (msg->
Buffer[8]==0x02) {
344 if (msg->
Buffer[4]==0x01) {
363 smprintf(s,
"Setting date & time\n");
370 if (msg->
Buffer[4]==0x01) {
397 smprintf(s,
"Waiting for SMSC reply\n");
423 while (msg->
Buffer[i]!=0) {i++;}
448 smprintf(s,
"Getting SMSC failed\n");
477 smprintf(s,
"Network info received\n");
480 case 0x01:
smprintf(s,
"home network");
break;
481 case 0x02:
smprintf(s,
"roaming network");
break;
482 case 0x03:
smprintf(s,
"requesting network");
break;
483 case 0x04:
smprintf(s,
"not registered in the network");
break;
487 smprintf(s,
"Network selection : %s\n", msg->
Buffer[9]==1?
"manual":
"automatic");
488 if (msg->
Buffer[8]<0x03) {
497 smprintf(s,
"Network name for Gammu : %s ",
502 if (msg->
Buffer[18]==0x00) {
505 name[msg->
Buffer[17]*2] =0x00;
506 name[msg->
Buffer[17]*2+1]=0x00;
512 name[msg->
Buffer[17]*2+1]=0x00;
513 name[msg->
Buffer[17]*2+2]=0x00;
530 if (msg->
Buffer[18]==0x00) {
549 if (msg->
Buffer[4]==0x02) {
550 smprintf(s,
"Operator logo available\n");
553 count += msg->
Buffer[count];
576 smprintf(s,
"Getting network info\n");
582 smprintf(s,
"Answer for call commands\n");
590 unsigned char req[100] = {0x00, 0x01, 0x7c,
598 for (i=0; i < strlen(number); i++) req[4+i]=number[i];
608 unsigned char req[] = {0x00, 0x01, 0x7c,
621 return DCT3_CancelAllCalls(s);
627 unsigned char req[] = {0x00, 0x01, 0x7c,
661 int count = 4, location;
669 if (bookmark->
Location == 0) location = 0xffff;
670 req[count++] = (location & 0xff00) >> 8;
671 req[count++] = location & 0x00ff;
677 req[count++] = 0x01; req[count++] = 0x80; req[count++] = 0x00;
678 req[count++] = 0x00; req[count++] = 0x00; req[count++] = 0x00;
679 req[count++] = 0x00; req[count++] = 0x00; req[count++] = 0x00;
681 smprintf(s,
"Setting WAP bookmark\n");
698 #ifdef GSM_ENABLE_NOKIA6110 701 #ifdef GSM_ENABLE_NOKIA7110 707 smprintf(s,
"WAP settings part 1 received OK\n");
718 switch (msg->
Buffer[tmp]) {
719 case 0x00:
smprintf(s,
"temporary\n");
break;
720 case 0x01:
smprintf(s,
"continuous\n");
break;
723 smprintf(s,
"Connection security: ");
724 switch (msg->
Buffer[tmp+13]) {
725 case 0x00:
smprintf(s,
"off\n");
break;
726 case 0x01:
smprintf(s,
"on\n");
break;
744 smprintf(s,
"Current set location in phone %i\n",msg->
Buffer[tmp+6]);
750 #ifdef GSM_ENABLE_NOKIA7110 766 #ifdef GSM_ENABLE_NOKIA6110 778 smprintf(s,
"WAP settings part 1 receiving error\n");
781 smprintf(s,
"Security error. Inside WAP settings menu\n");
791 smprintf(s,
"WAP settings part 2 received OK\n");
796 smprintf(s,
"Settings for SMS bearer:\n");
807 smprintf(s,
"Settings for data bearer:\n");
823 smprintf(s,
"Authentication type: ");
825 case 0x00:
smprintf(s,
"normal\n");
break;
826 case 0x01:
smprintf(s,
"secure\n");
break;
827 default:
smprintf(s,
"unknown\n");
break;
831 case 0x00:
smprintf(s,
"analogue\n");
break;
832 case 0x01:
smprintf(s,
"ISDN\n");
break;
833 default:
smprintf(s,
"unknown\n");
break;
837 case 0x01:
smprintf(s,
"9600\n");
break;
838 case 0x02:
smprintf(s,
"14400\n");
break;
839 default:
smprintf(s,
"unknown\n");
break;
851 smprintf(s,
"Settings for USSD bearer:\n");
868 smprintf(s,
"Incorrect WAP settings location\n");
876 #ifdef GSM_ENABLE_NOKIA6110 879 #ifdef GSM_ENABLE_NOKIA7110 898 smprintf(s,
"Getting WAP settings part 1\n");
900 if (error !=
ERR_NONE)
return error;
902 #ifdef GSM_ENABLE_NOKIA7110 906 smprintf(s,
"Getting WAP settings part 2\n");
908 if (error !=
ERR_NONE)
return error;
915 #ifdef GSM_ENABLE_NOKIA6110 919 smprintf(s,
"Getting WAP settings part 2\n");
921 if (error !=
ERR_NONE)
return error;
940 if (error !=
ERR_NONE)
return error;
942 settings->
Proxy[0] = 0x00;
943 settings->
Proxy[1] = 0x00;
946 settings->
Proxy2[0] = 0x00;
947 settings->
Proxy2[1] = 0x00;
957 smprintf(s,
"WAP settings part 1 set OK\n");
960 smprintf(s,
"WAP settings part 1 setting error\n");
963 smprintf(s,
"Security error. Inside WAP settings menu\n");
973 smprintf(s,
"WAP settings part 2 set OK\n");
981 #ifdef GSM_ENABLE_NOKIA6110 984 #ifdef GSM_ENABLE_NOKIA7110 989 int i,pos,phone1=-1,phone2=-1,phone3=-1;
990 int ID=0,locations[4] = {0, 0, 0, 0},loc1=-1,loc2=-1,loc3=-1;
1008 smprintf(s,
"Getting WAP settings part 1\n");
1010 if (error !=
ERR_NONE)
return error;
1012 #ifdef GSM_ENABLE_NOKIA6110 1018 #ifdef GSM_ENABLE_NOKIA7110 1029 req2[4] = locations[i];
1030 smprintf(s,
"Getting WAP settings part 2\n");
1032 if (error !=
ERR_NONE)
return error;
1039 if (error !=
ERR_NONE)
return error;
1045 for (i=0;i<settings->
Number;i++) {
1047 if (phone1 != -1) loc1=i;
1050 if (phone2 != -1) loc2=i;
1053 if (phone3 != -1) loc3=i;
1058 memset(SetReq + pos, 0, 200 - pos);
1059 SetReq[4] = settings->
Location - 1;
1069 SetReq[pos] = phone1;
1072 if (loc1 != -1) SetReq[pos] = phone1;
1075 if (loc2 != -1) SetReq[pos] = phone2;
1078 if (loc3 != -1) SetReq[pos] = phone3;
1086 }
else if (loc2 != -1) {
1095 SetReq[pos] = phone2;
1098 if (loc1 != -1) SetReq[pos] = phone1;
1101 if (loc2 != -1) SetReq[pos] = phone2;
1104 if (loc3 != -1) SetReq[pos] = phone3;
1112 }
else if (loc3 != -1) {
1121 SetReq[pos] = phone3;
1124 if (loc1 != -1) SetReq[pos] = phone1;
1127 if (loc2 != -1) SetReq[pos] = phone2;
1130 if (loc3 != -1) SetReq[pos] = phone3;
1141 memcpy(SetReq + pos,
"\x01\x80\x00\x00\x00\x00\x00\x00\x00", 9);
1144 smprintf(s,
"Writing WAP settings part 1\n");
1146 if (error !=
ERR_NONE)
return error;
1151 memset(SetReq2 + pos, 0, 200 - pos);
1152 SetReq2[pos++] = phone1;
1153 SetReq2[pos++] = 0x02;
1154 SetReq2[pos++] = 0x01;
1167 default : SetReq2[pos++] = 0x02;
break;
1172 default : SetReq2[pos++] = 0x02;
break;
1185 memcpy(SetReq2 + pos,
"\x80\x00\x00\x00\x00\x00\x00\x00", 8);
1187 smprintf(s,
"Writing WAP settings part 2 (Data bearer)\n");
1189 if (error !=
ERR_NONE)
return error;
1194 memset(SetReq2 + pos, 0, 200 - pos);
1195 SetReq2[pos++] = phone2;
1196 SetReq2[pos++] = 0x02;
1197 SetReq2[pos++] = 0x00;
1204 memcpy(SetReq2 + pos,
"\x80\x00\x00\x00\x00\x00\x00\x00", 8);
1206 smprintf(s,
"Writing WAP settings part 2 (SMS bearer)\n");
1208 if (error !=
ERR_NONE)
return error;
1213 memset(SetReq2 + pos, 0, 200 - pos);
1214 SetReq2[pos++] = phone3;
1215 SetReq2[pos++] = 0x02;
1216 SetReq2[pos++] = 0x02;
1218 if (!settings->
Settings[loc3].
IsIP) SetReq2[pos] = 0x01;
1227 memcpy(SetReq2 + pos,
"\x80\x00\x00\x00\x00\x00\x00\x00", 8);
1229 smprintf(s,
"Writing WAP settings part 2 (USSD bearer)\n");
1231 if (error !=
ERR_NONE)
return error;
1234 if (error !=
ERR_NONE)
return error;
1241 switch (msg->
Buffer[3]) {
1261 if (error !=
ERR_NONE)
return error;
1269 switch (msg->
Buffer[3]) {
1271 smprintf(s,
"Netmonitor correctly set\n");
1285 unsigned char req[] = {0x00, 0x01, 0x7e,
1291 if (error !=
ERR_NONE)
return error;
1293 req[3] = testnumber;
1295 smprintf(s,
"Getting netmonitor test\n");
1305 if (error !=
ERR_NONE)
return error;
1319 if (error !=
ERR_NONE)
return error;
1328 if (error !=
ERR_NONE)
return error;
1342 if (error !=
ERR_NONE)
return error;
1351 if (error !=
ERR_NONE)
return error;
1360 smprintf(s,
"Getting SMS status\n");
1375 smprintf(s,
"Error deleting SMS\n");
1376 switch (msg->
Buffer[4]) {
1379 smprintf(s,
"Unknown meaning, SMS seems to be deleted\n");
1413 smprintf(s,
"Getting network level\n");
1432 smprintf(s,
"Getting battery level\n");
1441 switch (msg->
Buffer[4]) {
1444 smprintf(s,
"Welcome note text received\n");
1455 smprintf(s,
"Startup logo received\n");
1468 smprintf(s,
"Dealer note text received\n");
1502 switch (buffer[12] & 0x03) {
1504 smprintf(s,
"SMS type - deliver\n");
1508 smprintf(s,
"SMS type - submit\n");
1512 smprintf(s,
"SMS type - delivery report\n");
1521 switch (msg->
Buffer[3]) {
1523 smprintf(s,
"Operator logo set OK\n");
1526 smprintf(s,
"Error setting operator logo\n");
1527 switch (msg->
Buffer[4]) {
1529 smprintf(s,
"Too high location ?\n");
1540 smprintf(s,
"Phone settings cleaned OK\n");
1547 unsigned char req[] = {0x00, 0x01, 0x65,
1559 if (error !=
ERR_NONE)
return error;
WAPSettings_Bearer ActiveBearer
unsigned char * Netmonitor
char IPAddress[(20+1) *2]
gboolean IsNormalAuthentication
GSM_Error DCT3_EnableSecurity(GSM_StateMachine *s, unsigned char status)
GSM_ChargeState ChargeState
const unsigned char * GSM_GetNetworkName(const char *NetworkCode)
char * DecodeUnicodeString(const unsigned char *src)
void CopyUnicodeString(unsigned char *Dest, const unsigned char *Source)
GSM_WAPSettings Settings[4]
void DecodeDefault(unsigned char *dest, const unsigned char *src, size_t len, gboolean UseExtensions, unsigned char *ExtraAlphabet)
GSM_Error N71_92_ReplyGetBatteryCharge(GSM_Protocol_Message *msg, GSM_StateMachine *s)
IncomingCBCallback IncomingCB
GSM_Error N61_71_ReplyResetPhoneSettings(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_CancelCall(GSM_StateMachine *s, int ID, gboolean all)
GSM_Error DCT3_PressKey(GSM_StateMachine *s, GSM_KeyCode Key, gboolean Press)
GSM_Error DCT3_GetDateTime(GSM_StateMachine *s, GSM_DateTime *date_time, unsigned char msgtype)
GSM_Error DCT3_ReplyGetWAPSettings(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3DCT4_GetWAPBookmarkPart(GSM_StateMachine *s, GSM_WAPBookmark *bookmark)
int GSM_PackSemiOctetNumber(const unsigned char *Number, unsigned char *Output, gboolean semioctet)
GSM_Error DCT3_ReplyGetIMEI(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_ReplyGetDateTime(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_DialVoice(GSM_StateMachine *s, char *number, GSM_CallShowNumber ShowNumber)
GSM_Error DCT3_ReplyPlayTone(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_DecodeSMSFrame(GSM_StateMachine *s, GSM_SMSMessage *SMS, unsigned char *buffer)
#define N6110_FRAME_HEADER
GSM_Error DCT3_ReplySIMLogin(GSM_Protocol_Message *msg, GSM_StateMachine *s)
unsigned char NetworkName[15 *2]
GSM_Error N71_92_SetDateTime(GSM_StateMachine *s, GSM_DateTime *date_time)
GSM_SMSMemoryStatus * SMSStatus
GSM_Error DCT3_GetPPM(GSM_StateMachine *s, char *value)
void NOKIA_EncodeDateTime(GSM_StateMachine *s UNUSED, unsigned char *buffer, GSM_DateTime *datetime)
GSM_Error DCT3_ReplyDialCommand(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_ReplyEnableSecurity(GSM_Protocol_Message *msg, GSM_StateMachine *s)
SendSMSStatusCallback SendSMSStatus
GSM_Error GSM_DecodeSMSFrame(GSM_Debug_Info *di, GSM_SMSMessage *SMS, unsigned char *buffer, GSM_SMSMessageLayout Layout)
gboolean EnableIncomingCB
GSM_Error DCT3_GetWAPSettings(GSM_StateMachine *s, GSM_MultiWAPSettings *settings)
GSM_NetworkInfo * NetworkInfo
void * SendSMSStatusUserData
size_t UnicodeLength(const unsigned char *str)
GSM_Error DCT3DCT4_EnableWAPFunctions(GSM_StateMachine *s)
GSM_SMSMessageLayout PHONE_SMSDeliver
void PHONE_DecodeBitmap(GSM_Phone_Bitmap_Types Type, char *buffer, GSM_Bitmap *Bitmap)
GSM_Error DCT3_Reset(GSM_StateMachine *s, gboolean hard)
GSM_Error DCT3_SetDateTime(GSM_StateMachine *s, GSM_DateTime *date_time, unsigned char msgtype)
GSM_Error(* WriteMessage)(GSM_StateMachine *s, unsigned const char *buffer, int length, int type)
char IMEI[GSM_MAX_IMEI_LENGTH+1]
GSM_Error DCT3_ReplyDeleteSMSMessage(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_ReplySetAlarm(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_ReplyGetWAPBookmark(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_PhoneModel * ModelInfo
WAPSettings_Bearer Bearer
unsigned char Text[(GSM_MAX_CALENDAR_TEXT_LENGTH+1) *2]
GSM_Error DCT3_AnswerAllCalls(GSM_StateMachine *s)
GSM_Error DCT3_ReplySetSMSC(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_ReplyGetSMSC(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_SignalQuality * SignalQuality
GSM_Error DCT3_SetWAPSettings(GSM_StateMachine *s, GSM_MultiWAPSettings *settings)
GSM_Error NOKIA_GetPhoneString(GSM_StateMachine *s, const unsigned char *msgframe, int msglen, unsigned char msgtype, char *retvalue, GSM_Phone_RequestID request, int startresponse)
GSM_Error DCT3DCT4_SetActiveConnectSet(GSM_StateMachine *s, GSM_MultiWAPSettings *settings)
GSM_Error DCT3_SetSMSC(GSM_StateMachine *s, GSM_SMSC *smsc)
GSM_Error N71_92_ReplyGetSignalQuality(GSM_Protocol_Message *msg, GSM_StateMachine *s)
unsigned char DefaultNumber[(GSM_MAX_NUMBER_LENGTH+1) *2]
GSM_Error N61_71_ResetPhoneSettings(GSM_StateMachine *s, GSM_ResetSettingsType Type)
void NOKIA_DecodeNetworkCode(const unsigned char *buffer, char *output)
GSM_Error DCT3_GetSMSC(GSM_StateMachine *s, GSM_SMSC *smsc)
GSM_ValidityPeriodFormat Format
GSM_Error N71_92_GetPhoneSetting(GSM_StateMachine *s, int Request, int Setting)
void EncodeUnicode(unsigned char *dest, const char *src, size_t len)
GSM_Error DCT3DCT4_CancelCall(GSM_StateMachine *s, int ID)
GSM_Error DCT3DCT4_DeleteWAPBookmarkPart(GSM_StateMachine *s, GSM_WAPBookmark *bookmark)
GSM_Error DCT3_ReplySetWAPSettings(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error N71_92_GetBatteryCharge(GSM_StateMachine *s, GSM_BatteryCharge *bat)
struct GSM_Phone_Data::@2 Priv
void NOKIA_GetUnicodeString(GSM_StateMachine *s, int *current, unsigned char *input, unsigned char *output, gboolean FullLength)
GSM_Error DCT3DCT4_DisableConnectionFunctions(GSM_StateMachine *s)
GSM_Error DCT3_ReplyPressKey(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_MultiWAPSettings * WAPSettings
GSM_Error GSM_WaitFor(GSM_StateMachine *s, unsigned const char *buffer, size_t length, int type, int timeout, GSM_Phone_RequestID request)
GSM_Error N71_92_ReplyPhoneSetting(GSM_Protocol_Message *msg, GSM_StateMachine *s)
int NOKIA_SetUnicodeString(GSM_StateMachine *s, unsigned char *dest, unsigned char *string, gboolean FullLength)
GSM_Error DCT3_GetIMEI(GSM_StateMachine *s)
GSM_Error DCT3_ReplyGetAlarm(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_SetWAPBookmark(GSM_StateMachine *s, GSM_WAPBookmark *bookmark)
DCT3_WAPSettings_Locations WAPLocations
GSM_Phone_RequestID RequestID
GSM_Error DCT3_PlayTone(GSM_StateMachine *s, int Herz, unsigned char Volume, gboolean start)
GSM_Error DCT3_ReplySIMLogout(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error N61_91_ReplySetOpLogo(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_ReplySendSMSMessage(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_SetAlarm(GSM_StateMachine *s, GSM_Alarm *Alarm, unsigned char msgtype)
GSM_Error DCT3_SetIncomingCB(GSM_StateMachine *s, gboolean enable)
#define N7110_FRAME_HEADER
GSM_Error DCT3_SendSMSMessage(GSM_StateMachine *s, GSM_SMSMessage *sms)
GSM_BatteryCharge * BatteryCharge
GSM_NetworkInfo_State State
unsigned char Number[(GSM_MAX_NUMBER_LENGTH+1) *2]
GSM_SMSMessageLayout PHONE_SMSStatusReport
unsigned char Title[(50+1) *2]
GSM_Error DCT3DCT4_GetActiveConnectSet(GSM_StateMachine *s)
void * IncomingCBUserData
GSM_Error DCT3_GetProductCode(GSM_StateMachine *s, char *value)
GSM_Error GSM_UnpackSemiOctetNumber(GSM_Debug_Info *di, unsigned char *retval, const unsigned char *Number, size_t *pos, size_t bufferlength, gboolean semioctet)
int GSM_UnpackEightBitsToSeven(size_t offset, size_t in_length, size_t out_length, const unsigned char *input, unsigned char *output)
GSM_Error DCT3_ReplyNetmonitor(GSM_Protocol_Message *msg, GSM_StateMachine *s)
void GSM_ClearBitmap(GSM_Bitmap *bmp)
GSM_Error N71_92_GetSignalQuality(GSM_StateMachine *s, GSM_SignalQuality *sig)
GSM_SMSMessageLayout PHONE_SMSSubmit
GSM_Error DCT3_GetHardware(GSM_StateMachine *s, char *value)
GSM_Error DCT3_GetAlarm(GSM_StateMachine *s, GSM_Alarm *Alarm, unsigned char msgtype)
GSM_Error N71_92_GetDateTime(GSM_StateMachine *s, GSM_DateTime *date_time)
GSM_Error DCT3_DeleteWAPBookmark(GSM_StateMachine *s, GSM_WAPBookmark *bookmark)
unsigned char Text[2 *(GSM_BITMAP_TEXT_LENGTH+1)]
GSM_Protocol_Functions * Functions
char HomePage[(100+1) *2]
unsigned char Address[(255+1) *2]
void NOKIA_DecodeDateTime(GSM_StateMachine *s, unsigned char *buffer, GSM_DateTime *datetime, gboolean seconds, gboolean DayMonthReverse)
GSM_Error DCT3_ReplyWaitSMSC(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_GetOriginalIMEI(GSM_StateMachine *s, char *value)
GSM_Error DCT3DCT4_ReplyGetWAPBookmark(GSM_Protocol_Message *msg, GSM_StateMachine *s, gboolean FullLength)
GSM_Error DCT3_GetWAPBookmark(GSM_StateMachine *s, GSM_WAPBookmark *bookmark)
gboolean EnableIncomingSMS
GSM_Error PHONE_EncodeSMSFrame(GSM_StateMachine *s, GSM_SMSMessage *SMS, unsigned char *buffer, GSM_SMSMessageLayout Layout, int *length, gboolean clear)
GSM_Error DCT3_Netmonitor(GSM_StateMachine *s, int testnumber, char *value)
DCT3_WAPSettings_Locations WAPLocations
GSM_Error DCT3_GetNetworkInfo(GSM_StateMachine *s, GSM_NetworkInfo *netinfo)
GSM_ValidityPeriod Relative
GSM_Error DCT3_GetSMSStatus(GSM_StateMachine *s, GSM_SMSMemoryStatus *status)
GSM_Error DCT3_ReplySetDateTime(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_ReplyGetNetworkInfo(GSM_Protocol_Message *msg, GSM_StateMachine *s)
const unsigned char * GSM_GetCountryName(const char *CountryCode)
char ProductCodeCache[50]
int smprintf(GSM_StateMachine *s, const char *format,...)
#define GSM_MAX_SMSC_NAME_LENGTH
GSM_Error DCT3_GetManufactureMonth(GSM_StateMachine *s, char *value)
unsigned char Name[(GSM_MAX_SMSC_NAME_LENGTH+1) *2]