//Timestamp servicecentretimestamp;
//Address sender_recipient_address;
- sms = SMSMessage::decode(tech_pvt->line_array.result[i]); // dataCodingScheme = 8 , text=ciao 123 belè новости לק ראת ﺎﻠﺠﻤﻋﺓ 人大
+ try {
+ sms = SMSMessage::decode(tech_pvt->line_array.result[i]); // dataCodingScheme = 8 , text=ciao 123 belè новости לק ראת ﺎﻠﺠﻤﻋﺓ 人大
+ }
+ catch(...) {
+ ERRORA("GsmException\n", GSMOPEN_P_LOG);
+ return -1;
+ }
DEBUGA_GSMOPEN("SMS=\n%s\n", GSMOPEN_P_LOG, sms->toString().c_str());
//sender_recipient_address = sms->address();
}
- catch(GsmException & ge) {
- ERRORA("GsmException= |||%s|||\n", GSMOPEN_P_LOG, ge.what());
+ catch(...) {
+ ERRORA("GsmException\n", GSMOPEN_P_LOG);
+ return -1;
}
iconv_res = iconv(iconv_format, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
#endif // WIN32
if (iconv_res == (size_t) -1) {
- DEBUGA_GSMOPEN("cannot translate in iso_8859_1 error: %s %d\n", GSMOPEN_P_LOG, strerror(errno), errno);
+ DEBUGA_GSMOPEN("cannot translate in iso_8859_1 error: %s (errno: %d)\n", GSMOPEN_P_LOG, strerror(errno), errno);
return -1;
}
DEBUGA_GSMOPEN
tech_pvt->no_ucs2 = 0;
tech_pvt->sms_pdu_not_supported = 1;
+
ok = gsmopen_sendsms(tech_pvt, dest, text);
+
tech_pvt->no_ucs2 = 1;
tech_pvt->sms_pdu_not_supported = 0;
+ err = gsmopen_serial_write_AT_ack(tech_pvt, "AT+CMGF=0");
+ if (err) {
+ ERRORA("AT+CMGF=0 (set message sending to PDU (as opposed to TEXT) didn't get OK from the phone\n", GSMOPEN_P_LOG);
+ }
return ok;
}
return -1;
}
//DEBUGA_GSMOPEN("received SMS on interface %s: %s\n", GSMOPEN_P_LOG, tech_pvt->name, tech_pvt->sms_message);
- DEBUGA_GSMOPEN("received SMS on interface %s: DATE=%s, SENDER=%s, BODY=%s|\n", GSMOPEN_P_LOG, tech_pvt->name, tech_pvt->sms_date, tech_pvt->sms_sender,
+ NOTICA("received SMS on interface %s: DATE=%s, SENDER=%s, BODY=|%s|\n", GSMOPEN_P_LOG, tech_pvt->name, tech_pvt->sms_date, tech_pvt->sms_sender,
tech_pvt->sms_body);
#ifdef NOTDEF
if (!zstr(tech_pvt->session_uuid_str)) {
}
/* mod_sms end */
+ memset(tech_pvt->sms_message, '\0', sizeof(tech_pvt->sms_message));
+ memset(tech_pvt->sms_sender, '\0', sizeof(tech_pvt->sms_sender));
+ memset(tech_pvt->sms_date, '\0', sizeof(tech_pvt->sms_date));
+ memset(tech_pvt->sms_body, '\0', sizeof(tech_pvt->sms_body));
+ memset(tech_pvt->sms_datacodingscheme, '\0', sizeof(tech_pvt->sms_datacodingscheme));
+ memset(tech_pvt->sms_servicecentreaddress, '\0', sizeof(tech_pvt->sms_servicecentreaddress));
//memset(&tech_pvt->chatmessages[which], '\0', sizeof(&tech_pvt->chatmessages[which]) );
//memset(tech_pvt->sms_message, '\0', sizeof(tech_pvt->sms_message));