Bryon Davis
Forum Replies Created
-
AuthorPosts
-
Bryon DavisModerator
Hi Aleksey,
The 1.51.28 firmware adds the feature to support automatic splitting without the (1of5) type of messages.SF400 and SF800 v1.51.28:
https://webfiles.multitech.com/engineering/unofficial-releases/iSMS%20(Formerly%20SMSFinder)/Firmware/SF400_SF800/1.51.28/SF400-800-u-v1.51.28-25Nov2014.zipUpgrade to 1.51.28, then go to the SMS Settings menu, check “Enable PDU Mode” and “Concatenate Multipart Outbound Messages” and click save. Then in the same menu under ASCII 7-bit Configuration set the Character Set to “3GPP 23.038” and click save.
On the SF100 you should then go to Save&Restart and click Save to Flash memory.Bryon DavisModeratorYou can replace it with an equivalent compact flash of 1gig or larger. We recommend industrial grade. It must also support PIO mode.
If you insert a blank compact flash in the SF800, it will automatically format and copy the needed files. It shouldn’t need to use FTP to create these files.
It will be at default afterwards (192.168.2.1, username=admin, password=admin).Bryon DavisModeratorYou may be able to use tftp to download files.
Downloading Files to and from the iSMS
First setup a tftp server. I used Solarwinds TFTP Server on a Windows PC.
If you want to download a file to the iSMS, put the file in the TFTP Server’s root directory.Download a Binary File
1. Telnet to the iSMS on port 2222 and login with admin credentials.
2. At the # prompt enter “cd /var/config” (without the quotes).
3. Enter “tftp 192.168.2.11”. Replace the IP address with the IP address of your tftp server.
4. At the “tftp>” prompt enter “mode binary”.
5. At the “tftp>” prompt enter “get filename”. Replace “filename” with the name of the file you want to download.
6. Verify that the get command was successful and enter “quit”.
7. The file should now be in the /var/config folder. If you get a permission error message when running the file then enter the command “chmod +x filename”. This will change the permissions on the file to be an executable.Uploading a Binary File: Use put command instead of get.
Bryon DavisModeratorNormally you can just install the new blank flash and on boot up the SF800 will create any files and folders it needs.
What files are you trying to get on to the SF800?
Bryon DavisModeratorHi Alejandro,
There are some examples available on our FTP site at https://webfiles.multitech.com/engineering/sample-code/sms-finder/ which may be some help. Your code looks close to my example (see below), so it isn’t obvious why it’s failing.Make sure that “HTTP API Status” is enabled in the “SMS API” menu and that the port is set to the correct value.
Try the example code at https://webfiles.multitech.com/engineering/sample-code/sms-finder/c-sharp/iSMSHTTPQuerymsg/iSMSHTTPQuerymsg.zip and see if that works for you. I tested it this morning and it worked using Visual Studio Express 2015.
String sendmsg = “http://192.168.2.1:81/querymsg?user=admin&passwd=admin&apimsgid=0”;
// Next section sends the sendmsg request to iSMS and gets the response.
try
{
// prepare the web page we will be asking for
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sendmsg);// execute the request
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// Create a new stream to read from a response
StreamReader sr = new StreamReader(response.GetResponseStream());
// Read contents of response into a string
String responseMsg = sr.ReadToEnd();
// Close StreamReader
sr.Close();
}
catch (System.Exception e)
{
// Exception sending HTTP request, or getting response.
Console.WriteLine(“Error sending request to iSMS:”);
Console.WriteLine(e.ToString());
}Bryon DavisModeratorHi Kamran,
The Inbox will show the hex value, for example “& #9986;”. (note I added a space to prevent the actual character being shown)
But the HTTP recvmsg message will also be URL encoded, so the above example would be displayed as “%26%239986%3B”, where the & was URL encoded to %26, the # to %23, and ; to %3B. Since these are html entity hex format characters, they probably shouldn’t be URL formatted, but currently the iSMS isn’t setup to look for these characters, so it will require an extra step to URL decode these characters when using HTTP recvmsg.Bryon
- This reply was modified 7 years, 11 months ago by Bryon Davis.
- This reply was modified 7 years, 11 months ago by Bryon Davis.
Bryon DavisModeratorHi Jordy,
This problem can best be handled in the support portal. Please make a case in the support portal (see link below), its free.https://support.multitech.com/
Bryon
Bryon DavisModeratorBorut,
Are you seeing the character problem on the iSMS?If you want to use special characters in 7-bit ASCII on the iSMS, I would suggest upgrading to v1.51.28. Once you upgrade to v1.51.28 then enable PDU mode and set the ASCII 7-bit Configuration’s Character Set to “3GPP 23.038”. Both of these settings are in the SMS settings menu after upgrading.
Note: this is for the iSMS only.
Bryon
- This reply was modified 8 years, 6 months ago by Bryon Davis.
Bryon DavisModeratorHi John,
What do you mean by MessageID? Are you referring to a message index number that counts the received sms messages being delivered, or the original Msg ID for the sms that was sent through the iSMS?If you are referring to the Msg ID given when scheduling to send the sms message, this is only an internal ID value for referencing a send sms job and the receiving sms device won’t receive this information.
If you want a message index, then I suggest upgrading to the v1.51.28 firmware which adds the “Send Message Index” option in the SMS API menu’s Non-Polling Receive API configuration section. See the links below for upgrading to v1.51.28, it includes instructions on upgrading and a list of changes.
SF400/SF800 v1.51.28:
https://webfiles.multitech.com/engineering/unofficial-releases/iSMS%20(Formerly%20SMSFinder)/Firmware/SF400_SF800/1.51.28/SF400-800-u-v1.51.28-25Nov2014.zipBryon
Bryon DavisModeratorHi Alex,
Sorry, there isn’t an API or SNMP method to check the signal strength. And we don’t recommend using telnet directly to the modem since that takes complete control of the modem and locks out the iSMS firmware until the connection is disconnected. This can interrupt the iSMS sending and receiving and case lost messages.You may be able to pull the signal strength from web interface’s SMS Statistics menu.
Bryon
Bryon DavisModeratorHi Ernest,
Sorry, this currently isn’t possible on the iSMS. You will need to send a separate QUERY to retrieve the status of a SEND API request.Bryon
October 30, 2015 at 10:33 am in reply to: Configuration of iSMS SF100-G with T-Mobile Sim card #9745Bryon DavisModeratorHi Sanjay,
It’s difficult to tell what the problem may be, it could be several different things. You should create a case in the support portal where we can troubleshoot this problem more thoroughly. The support portal is free and is at support.multitech.com.A couple things to check is to make sure T-Mobile still supports 2G in your area and that the SIM you have supports 2G. Also make sure the SIM isn’t PIN enabled.
Bryon
Bryon DavisModeratorHI Oliver,
The receive API is covered in the Administrator’s Guide in Appendix A. Appendix A starts on page 73 and the Receive API info starts on page 94.http://www.multitech.com/manuals/s000461f.pdf
Bryon
Bryon DavisModeratorHi Georg,
Sorry, there isn’t way to replace the cell phone number with a company name or text. The sms is will be sent out with the cell phone number of the SIM it was sent with, there isn’t a way to chance this on the iSMS.Bryon
Bryon DavisModeratorHi,
Sorry, it currently isn’t possible to set what the sending (reply) number is when sending through the API on the iSMS. The reply number will be the phone number associated with the SIM in the modem is was sent on. I’m not aware of a method to do this using AT commands either. Perhaps your cellular provider has options for making all the SIMs appear to be coming from the same number.The iSMS doesn’t track conversations, so you can’t have it show a response to a specific message. If you are using the API, your software may be able to track conversations based on the phone number that the messages were sent and received from.
BryonBryon DavisModeratorHi Wouter,
The new firmware won’t clean up the existing ‘/usr/local/tmp’ files, but it should prevent new files from building up over time. To remove the existing ‘/usr/local/tmp’ files, you would need to follow the directions previously given and manually delete the files using a telnet session.Sorry for the inconvenience.
Bryon
Bryon DavisModeratorHi Wouter,
The newer firmware resolves this issue.Please upgrade to the latest firmware from the link below. I’m including a link for SF100 for the convenience of others. The instructions for upgrading is included in the zip file.
SF400 and SF800 v1.51.28:
https://webfiles.multitech.com/engineering/unofficial-releases/iSMS%20(Formerly%20SMSFinder)/Firmware/SF400_SF800/1.51.28/SF400-800-u-v1.51.28-25Nov2014.zipBryon
Bryon DavisModeratorHi Wouter,
On the older firmware there can sometimes be issues with temp files building up.You can try the steps below and see if it resolves your issue. If you still have problems, then you should create a support case at support.multitech.com.
1. Telnet to the IP address of the iSMS on port 2222.
2. Login with admin credentials.
3. At the # prompt enter “cd /usr/local/tmp”
4. Enter “ls” and note how many files are in this directory. If there are several pages, then this may be causing the 608/612 problem, continue on steps below.
5. Enter “cd ..”6. Enter “rm –r tmp”. Note if it returns an error “rm: unable to remove ‘tmp’: Directory not empty, then enter “cd tmp” and check how many files exist with “ls”. If there are only a handful of files then skip the remaining steps and reboot.
7. Enter “mkdir tmp”
8. Reboot the SF800.
Bryon
Bryon DavisModeratorMarcin,
If the iSMS modem log shows the message failed to send, but the querymsg status shows successful, then there may be a bug in the firmware when International messaging is disabled and an invalid number is sent. I will check into this.Bryon
Bryon DavisModeratorHi Marcin,
When you send a sendmsg request and it is accepted, you get a response with the API Msg ID. This indicates that the iSMS didn’t detect an error in the API request’s format and will try to send the sms message. You can then use the querymsg request to check the status of that job and see if it was successfully sent.Processing the “Send API” and sending the message takes some time. So, only an apimsgid is returned as a response to the “Send SMS API”. Query API can be used to query the status of a Send. It returns the status of a message submitted earlier.
HTTP API format is:
http://192.168.2.1%5B:portnumber%5D/querymsg?user=xxx&passwd=xxx&apimsgid=id
Response values:
ID: apimsgid Status: status code
OR
ID: apimsgid Err: error code
OR
Err: error codeStatus Code on Descriptions:
0 = Done
The MultiModem iSMS has completed servicing the “Send” job. The message has been successfully sent to the cellular network for delivery to all intended recipients.1 = Done with error
The MultiModem iSMS has completed servicing the “Send” job, but the message is not sent to all the recipients2 = In progress
The MultiModem iSMS is processing the “Send” API.3 = Request Received
The MultiModem iSMS has received the “Send” request.4 = Error
Error occurred while sending the SMS from the MultiModem iSMS.5 = Message ID Not Found
An API Message ID does not exist.6 = Distributed to Slave1 [10.10.10.101]
The Master MultiModem iSMS has distributed the Job to a given slave.7 = Distribution resulted in error
Master tried to send the job to the slaves and could not send the job to any of the slaves as the slaves are not available (loaded full or network unreachable)8 = Distributed among many Slaves
The Master MultiModem iSMS has distributed the Job Request among many slaves.9 = API is canceled
Reflects that API job is dropped if the Send API job is canceled from the web interfaceBryon
Bryon DavisModeratorHi Randy,
The Unicode message the iSMS delivers have the Unicode characters in groups of 4 hex digits. So the first character in the message you posted is “0500” (CYRILLIC CAPITAL LETTER KOMI DE) and the second character is “0339”. I’m not sure why the iPhone is sending these odd characters, they must mean something to another iPhone.You can convert the Unicode characters into something readable with a programming language like JAVA. Below is an example of code to convert the iSMS Unicode hex string into a readable JAVA string. Note that with the iPhone sending odd Unicode characters, there will be some characters that look like gibberish.
public class convert_unicode { public static void main(String[] args) { String unicodeString = new String(""); String fourhex = new String (""); String unicodeHexString = new String("05000339020100480065006C006C006F002000520061006E006400790020007400680069007300200069007300200061002000740065007300740020006D007300730067002000770069007400680020006D007900200061007700650073006F006D006500200049002000700068006F006E00650020006C006F006C0020D83DDE01D83DDE30D83D"); System.out.println("Unicode Hex String from iSMS: " + unicodeHexString); // Convert Unicode hex string from iSMS to a Java string with Unicode characters. int charPtr = 0; while (true) { if ((unicodeHexString.length()-charPtr)<4) { break; } fourhex = unicodeHexString.substring(charPtr, charPtr+4); charPtr += 4; char c = (char) Integer.parseInt(fourhex, 16); unicodeString += c; } System.out.println("Parsed Unicode String:" + unicodeString); // Convert Unicode values in string to UTF-8 byte[] utf8Bytes = null; String convertedString = null; try { System.out.println(unicodeString); utf8Bytes = unicodeString.getBytes("UTF8"); convertedString = new String(utf8Bytes, "UTF8"); System.out.println("Converted UTF-8 String:" + convertedString); //same as the original string } catch (Exception e) { e.printStackTrace(); } } }
Hope this helps.
Bryon
Bryon DavisModeratorHi Olav,
A normal user only has access to the messages they sent. Since the iSMS doesn’t track conversations, it doesn’t know which incoming message is meant for which user. There currently isn’t an option to give normal users Inbox access.Are you sending AT commands through the iSMS modems? It isn’t recommended to mix using AT commands directly to the iSMS modem (bypassing the iSMS features) and trying to use the iSMS features on that same modem. If you connect directly to the iSMS modem through TCP connection, you should then always stay connected and handle sending and receiving through AT commands. Otherwise you may receive incoming messages while sending, and if they aren’t processed, they may get lost.
Bryon
Bryon DavisModeratorHi Sasa,
I’ll see if I can find an Android 4.4 to test with.Bryon
Bryon DavisModeratorHi Janssen,
I’ll look into making changes to allow sending API messages with blank text messages.To send multipart messages as one long message, you must have both “Enable PDU Mode” and “Concatenate Multipart Outbound Messages” enabled.
The extra @ characters on received multipart messages is a known bug that was fixed in v1.51.28. Please see links below.
SF400 and SF800 v1.51.28:
https://webfiles.multitech.com/engineering/unofficial-releases/iSMS%20(Formerly%20SMSFinder)/Firmware/SF400_SF800/1.51.28/SF400-800-u-v1.51.28-25Nov2014.zipRegards,
BryonBryon DavisModeratorHi Janssen,
Currently the API doesn’t allow a completely blank message. Could your application send a message with only a space?Such as:
http://192.168.2.1:81/sendmsg?user=test&passwd=xyz&cat=1&enc=0&priority=1&modem=2&to=8888&text=%20
This works with the API.
Bryon
Bryon DavisModeratorHello,
I haven’t worked with the Windows phone or the Cubot X6, so I’m not certain why they would have problems receiving sms messages from the SF100.Have you tested a short ASCII (7-bit) sms message with no special characters?
The SF100 sends simple sms texts. There are no attachments, special encoding, or special modes. A short 7-bit ASCII sms message short work without any problems.
I have noticed that many cellular networks (and possibly phones) don’t support Extended ASCII (8-bit). So Extended ASCII should likely be avoided. Most seem to support Unicode though, and all support 7-bit.
Bryon
Bryon DavisModeratorHi Sasa,
After upgrading did you go to the SMS Settings menu and enable “Enable PDU Mode”, and then set the “ASCII 7-bit Configuration” Character Set to “3GPP 23.038″?Bryon
Bryon DavisModeratorHi Gustavo,
You can cancel queued jobs in the Tools menu, which is in Administration. The “Cancel All Jobs” option will clear all jobs currently in the queue.Bryon
Bryon DavisModeratorHello,
I’m not sure why some phones would have this problem. The 7-bit ASCII is the encoding most likely to be supported on sms devices.Are you sending special characters?
I haven’t worked with those phones, are they expecting a special text mode (similar to iMessage)?
You could try upgrading to v1.51.28 firmware and enable PDU mode to see if makes a difference. The firmware is at the links below and the readme.txt contains instructions on how to upgrade. Once it is upgraded, go to the SMS Settings menu and enable “Enable PDU Mode”, and then set the “ASCII 7-bit Configuration” Character Set to “3GPP 23.038”.
SF400 and SF800 v1.51.28:
https://webfiles.multitech.com/engineering/unofficial-releases/iSMS%20(Formerly%20SMSFinder)/Firmware/SF400_SF800/1.51.28/SF400-800-u-v1.51.28-25Nov2014.zipBryon
Bryon DavisModeratorHi William,
It normally takes 6-10 seconds to send or receive a message. So to receive and then send a reply will typically take around 12 to 20 seconds. Depending on the Cellular network speed, this could take longer.Bryon
-
AuthorPosts