Send and receive concatenated binary SMS (7-bit)
Budget: $30 – $250 USD
Hi everyone,
I was required to develop an interface for receiving and sending SMS messages to Dialogic's SWS server according to the https://en.wikipedia.org/wiki/GSM_03.38 standard.
For this purpose I developed 2 pieces of code send_sms.php and receive_sms.php:
receive_sms:
Receiving the XML of a segment (one of X) an SMS message decodes the message and returns the content of the message There are several examples of messages in the code
send_sms:
Receiving text of an SMS message divides it into segments and generates XML for each segment
The above processes work properly when I work with UCS2.
But in messages that are longer than 160 characters in English that should be encoded in GSM-7BIT messages of 160 characters. The messages are cut off (missing letters) or (weird characters are added) in short, the messages arrive with broken text.
The task is to fix the sending and receiving of the long messages in English.
in a normal way and without missing or adding letters (and if there are additional bugs that you did not raise in the code to fix them)
I suspect it is related to GSM 7-bit encoding with 1 bit padding but not sure
There is this article that explains quite a bit about it
https://miikos.github.io/Opaali/2018/10/29/Binary-Messages-Making-your-own-Fragments/
https://github.com/MiiKos/Opaali/blob/master/tools/packto7bits/packto7bits.sh
https://www.arib.or.jp/english/html/overview/doc/STD-T63v11_00/5_Appendix/Rel12/23/23038-c00.pdf
I was required to develop an interface for receiving and sending SMS messages to Dialogic's SWS server according to the https://en.wikipedia.org/wiki/GSM_03.38 standard.
For this purpose I developed 2 pieces of code send_sms.php and receive_sms.php:
receive_sms:
Receiving the XML of a segment (one of X) an SMS message decodes the message and returns the content of the message There are several examples of messages in the code
send_sms:
Receiving text of an SMS message divides it into segments and generates XML for each segment
The above processes work properly when I work with UCS2.
But in messages that are longer than 160 characters in English that should be encoded in GSM-7BIT messages of 160 characters. The messages are cut off (missing letters) or (weird characters are added) in short, the messages arrive with broken text.
The task is to fix the sending and receiving of the long messages in English.
in a normal way and without missing or adding letters (and if there are additional bugs that you did not raise in the code to fix them)
I suspect it is related to GSM 7-bit encoding with 1 bit padding but not sure
There is this article that explains quite a bit about it
https://miikos.github.io/Opaali/2018/10/29/Binary-Messages-Making-your-own-Fragments/
https://github.com/MiiKos/Opaali/blob/master/tools/packto7bits/packto7bits.sh
https://www.arib.or.jp/english/html/overview/doc/STD-T63v11_00/5_Appendix/Rel12/23/23038-c00.pdf