Skip to content
djhalliday edited this page Mar 17, 2011 · 22 revisions

Overview

This tool provides an automated, repeatable way to test for SMS keyword filtering and general reliability of text messaging on GSM networks. This one Android app will provide the ability to both send and receive a set of pre-determined SMS through a single click. The result will be a rich amount of data which can be analyzed, graphed and otherwise used to determine if there is a pattern of blocking, filtering or other interference in the SMS features of the mobile network.

Project Requirements

Core Features

  • MUST allow a user to send and receive test SMS messages
    • MUST allow user to edit/import a list of keywords/messages/phrases for testing
    • SHOULD allow testing of empty payload messages
    • SHOULD support send/rec of messages using SMS data channel with specific port
    • SHOULD allow messages to be sent through a user-configurable SMSC number
    • SHOULD allow for user-configurable time delay on message sending
    • SHOULD allow for user to require "delivery reports"
    • SHOULD allow user to send to multiple recipients

Logging

  • MUST log core information about successful SMS message sends/receives (payload, from/to, timestamp, SMSC)
    • SHOULD log all mobile location data available (CellId/LAC, GPS)
  • MUST provide log data in exportable format for analysis
  • MUST enable all send/rec log data to be correlated on a message-by-message level

Connectivity

  • MUST work on Android handset with only GSM capability (no GPRS/3G required)
  • MUST Allow user to set to a configurable mobile phone number for each test
    • SHOULD provide persistence settings/prefs for common features

The full list of open tracked issues (features + bugs) can be viewed here: https://github.com/SaferMobile/JaykBox/issues

Screens

These are screenshots of actual working screens.

Home Screen

This shows the home screen which presents basic instructions on how to use the testing tool. From here, using the menu, you can start a test, or access the Settings screen.

Settings Screen

Configurable settings for the app that allow for permanent configuration across sessions

Keyword List

The user can edit a list of keywords or phrases to send as individual messages. These are started in /sdcard/jbsms/keywords.txt on disk, and an import file can also be placed here.

Send/Start Test Dialog

A test is started through the "Start Test" menu on the home tab. Each time the test is started, the user is prompted to enter the phone number to send to. This will default to the number set in the preferences.

Log Screen (Sent, Received, Received Data)

As message are sent or received, they are stored in .csv text log files on the Android sdcard at the "/sdcard/jbsms" path. The data is stored in a simple quoted comma separated value format (CSV). This allows all of the data to be easily imported into a spreadsheet application.

The app itself allows for a simple view of this data.