APNS response packet returning the wrong identifier - apple-push-notifications

I'm getting an odd error when using APNS under production.
Whenever I send a notification that errors (for example the device token becomes invalid), the response packet returned is correct, except that the identifier is 1 less than the identifier I sent. However, on production the correct identifier is returned.
For example: I send a notification with ID 108. But I receive a packet back:
8 8 0 0 0 107
The first byte will always be 8
The second byte is the status code; in this case meaning the device token isn't valid
The last 4 bytes are the identifier
For convenience, here is Apples documentation on the subject.
http://developer.apple.com/library/ios/#DOCUMENTATION/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingWIthAPS/CommunicatingWIthAPS.html#//apple_ref/doc/uid/TP40008194-CH101-SW4
Is anyone else seeing this problem, or is it likely something I've done wrong.
Many thanks in advance.

Related

How to retrieve the parts of the same long SMS received from the AT+CMGL command

I have an application interfaced with a GSM Modem where I receive many SMS and display them in a user interface using AT+CMGL command in text mode.
When I have short messages, everything is fine. I can retrieve all messages.
AT+CMGL="ALL"
+CMGL: 0,"REC UNREAD","+111111","","23/01/03,16:57:38+04"
This is message 1
+CMGL: 2,"REC UNREAD","+111111","","23/01/03,16:58:03+04"
This is message 2
+CMGL: 1,"REC UNREAD","+111111","","23/01/03,16:58:04+04"
This is message 3
OK
When I have long messages divided in many parts, because an SMS has a limited number of characters, I see them like many short messages.
AT+CMGL="ALL"
+CMGL: 0,"REC UNREAD","+111111","","23/01/03,18:16:20+04"
This is message 1 : message 1 message 1 message 1 message 1 message 1 message 1 message 1 message 1
+CMGL: 1,"REC UNREAD","+111111","","23/01/03,18:16:21+04"
This is second part of message 1
+CMGL: 2,"REC UNREAD","+111111","","23/01/03,18:19:04+04"
This is message 2
OK
Is there an indication (a parameter in AT+CMGL command) that show me all parts of the same message.
How can I retrieve all parts of the same Message so I can regroup them and display it in my user interface.
Thank You in advance for your time and your help :)
Best regards!
The AT+CMGL command has two modes, text mode and PDU mode. The technical name for splitting up long messages into several "normal" length sms messages is multi-part. AT+CMGL only supports multi-part in PDU mode.
For more details see the 3GPP 27.005 specification.

Unable to receive URC for an incoming SMS from a modem

I have an issue in being unable to recive the URC message from the modem whenever it receives an SMS.
I know that it receives them since i can find and read them if I use AT+CMGL but, i don't receive any notification when the modem gets them. I played around with the URC related commands but I've been unable to get it to work (other URCs work fine).
The modem is a BG600L M3 from Quectel and following is the sequence of commands i'm sending ("AT" is always omitted and the first command is literally "AT\r", basically an empty one).
//general config
AT\r
CFUN=1,0
E1
+QCFG=\"urc/ri/other\",\"pulse\",8,1
H0
&F
V1
+CMEE=1
&D0
E1
+CREG=2
+CGREG=2
+CEREG=2
//sms config
+CPMS=\"ME\",\"ME\",\"ME\"
+QINDCFG=\"smsincoming\",1
+CMGF=1
+CSDH=0
+CSCS=\"GSM\"
+CNMI=2,2,0,2,0
//doing some deleting and reading
+CMGD=1,3
+CPMS?
//getting the gps fix
+QGPS=1
+QGPSCFG=\"gnssconfig\",3
+QGPSLOC=1
+QGPSEND
//resetting the gms connection
+CFUN=0
+CFUN=1,0
//setting up the gsm connection
+QICFG=\"dataformat\",0,0
+QICFG=\"viewmode\",0
+QICFG=\"recvind\",1
+QICFG=\"tcp/retranscfg\",3,600
+QISDE=0
+QCFG=\"band\",0xf,0x80085,0x80085,1
+QCFG=\"nwscanmode\",1,1
+QCFG=\"nwscanseq\",010101,1
+QCFG=\"iotopmode\",2,1
// checking if it's connected
+CREG?
+QNWINFO
+COPS?
//Getting the time
+CTZU=3
+CTZR=0
+QLTS
+CCLK?
You can set AT+CNMI=2,1,2,0,0 , that should do the trick.
According to specification ETSI TS 127 005 V11.0.0 (2012-10)
+CNMI: <mode>,<mt>,<bm>,<ds>,<bfr>
by keeping <mt> value to 1 we should get indication when message is stored in ME/TA
<mt>: integer type (the rules for storing received SMs depend on its
data coding scheme
0 No SMS-DELIVER indications are routed to the TE.
1 If SMS-DELIVER is stored into ME/TA, indication of the memory location is routed to the TE using unsolicited result code:
+CMTI: <mem>,<index>

Golang: http2 message header & Json body split into 2 or 3 packets

We found a weird problem in our test, when sending a http2 packets, even the total data is not very big, we found the single packet will be splitted into 2 or 3 packets, 1 with header and 1 or 2 packet with Json data. Could any know which setting could solve this problem to put them in one single packet when size allowed. Thanks a lot.

correct way to determine a complete handshake of EAPOL frames

I am trying to capture completed handshake frames in an WPA2 EAPOL authentication. The source can be a pcap file or live capture. My idea is to
identify message type of EAPOL (message 1, 2, 3 & 4)
compare Key Nonce (should be similar for message 1&3 , 2&4)
verify source and destination for all 4 messages.
if these conditions satisfy for the 4 sets of EAPOL frame then it is a complete handshake. (check timestamps in case of duplicate frames)
But I have observed that in a complete handshake, many times the message# 4 carries a Nonce of zero value instead of Nonce of message# 2.
What other fields should be considered while determining a complete handshake then?

wings communication server: submitsm command status 0x14

Has anyone had experience with this tool (WCS). Some sms messages are not being sent. The log says:
2007-04-14 10:59:53,490 [logica-smpp2-receiver] ERROR logica-smpp2 - Message not sent, SubmitSM command status: 0x14
If I've read the specs correctly, command status 0x14 means "message queue full".
I suggest:
- Try spreading the messages over a longer period
- Ask your SMPP provider what the limits are, how many messages can you send in how much time? Make the appropriate changes in the calls, or ask them to increase the amount of messages you can send for a given time period.
Hope this helps!

Resources