Hi,
I’m writing an app on WP7702 in which the app will automatically send ONE response SMS to the source number once the SMS is received. I initially send the message from my cell phone to WP7702, and did get
ONE sms text back from it, which is expected.
However, in the next few hours, as long as the app is running on the WP7702, my cell phone continues receiving the same SMS from WP7702 despite I didn’t initiate a outgoing SMS from my cell phone at all.
I’m wondering is that sim service provider problem or a bug in my code?
(Note: the sim on WP7702 is the French service provider which came with box, my cell phone is on a Canadian provider)
static void RxMessageHandler
(
le_sms_MsgRef_t msgRef,
void* contextPtr
)
{
le_result_t res;
char text[LE_SMS_TEXT_MAX_BYTES] = {0};
if(!textReceived) {
textReceived = true;
LE_INFO("A New SMS message is received with ref.%p", msgRef);
if (le_sms_GetFormat(msgRef) == LE_SMS_FORMAT_TEXT)
{
//get sender number
res = le_sms_GetSenderTel(msgRef, tel, sizeof(tel));
if(res != LE_OK)
{
LE_ERROR("le_sms_GetSenderTel has failed (res.%d)!", res);
}
else
{
LE_INFO("Message is received from %s.", tel);
}
//get text content
res = le_sms_GetText(msgRef, text, sizeof(text));
if(res != LE_OK)
{
LE_ERROR("le_sms_GetText has failed (res.%d)!", res);
}
else
{
res = le_sms_DeleteFromStorage(msgRef);
if(res != LE_OK)
{
LE_ERROR("le_sms_DeleteFromStorage has failed (res.%d)!", res);
}
else
{
LE_INFO("the message has been successfully deleted from storage.");
}
le_sms_Delete(msgRef);
LE_INFO("message object deleted from memory.");
sms_SendMessage(tel, XXXXXXXXXXXXXXXXXXXXXXXXXXX);
}
}
}
}
le_result_t sms_Receiver
(
void
)
{
RxHdlrRef = le_sms_AddRxMessageHandler(RxMessageHandler, NULL);
if (!RxHdlrRef)
{
LE_ERROR("le_sms_AddRxMessageHandler has failed!");
return LE_FAULT;
}
else
{
return LE_OK;
}
}
I monitored the device log, and it indicated that there WAS an incoming SMS from my cell phone, which didn’t make any sense, because I didn’t send it at all…
.
.
.
May 26 16:27:56 swi-mdm9x28-wp user.info Legato: INFO | modemDaemon[1199]/modemDaemon T=main | smsPdu.c DecodeUserDataField() 1071 | messageLen 44, pos 29, size 44
May 26 23:27:56 swi-mdm9x28-wp user.info Legato: INFO | sms[2296]/smsComponent T=main | smsReceiver.c RxMessageHandler() 270 | A New SMS message is received with ref.0x165
May 26 23:27:56 swi-mdm9x28-wp user.info Legato: INFO | sms[2296]/smsComponent T=main | smsReceiver.c RxMessageHandler() 282 | Message is received from +125XXXXXXX.
May 26 16:27:56 swi-mdm9x28-wp user.info Legato: INFO | avcDaemon[1150]/avcDaemon T=main | avcServer.c ProcessWakeupSms() 4359 | SMS is too short or doesn't start with prefix 'LWM2M', ignoring
May 26 23:27:56 swi-mdm9x28-wp user.info Legato: INFO | sms[2296]/smsComponent T=main | smsReceiver.c RxMessageHandler() 300 | the message has been successfully deleted from storage.
May 26 23:27:56 swi-mdm9x28-wp user.info Legato: INFO | sms[2296]/smsComponent T=main | smsReceiver.c RxMessageHandler() 303 | message object deleted from memory.
May 26 16:29:42 swi-mdm9x28-wp user.info Legato: INFO | modemDaemon[1199]/modemDaemon T=main | smsPdu.c DecodeUserDataField() 1071 | messageLen 44, pos 29, size 44
May 26 23:29:42 swi-mdm9x28-wp user.info Legato: INFO | sms[2296]/smsComponent T=main | smsReceiver.c RxMessageHandler() 270 | A New SMS message is received with ref.0x165
May 26 23:29:42 swi-mdm9x28-wp user.info Legato: INFO | sms[2296]/smsComponent T=main | smsReceiver.c RxMessageHandler() 282 | Message is received from +125XXXXXXX.
May 26 16:29:42 swi-mdm9x28-wp user.info Legato: INFO | avcDaemon[1150]/avcDaemon T=main | avcServer.c ProcessWakeupSms() 4359 | SMS is too short or doesn't start with prefix 'LWM2M', ignoring
May 26 23:29:42 swi-mdm9x28-wp user.info Legato: INFO | sms[2296]/smsComponent T=main | smsReceiver.c RxMessageHandler() 300 | the message has been successfully deleted from storage.
May 26 23:29:42 swi-mdm9x28-wp user.info Legato: INFO | sms[2296]/smsComponent T=main | smsReceiver.c RxMessageHandler() 303 | message object deleted from memory.
.
.
.