Article Insight

DGV6 SMS-Bridge Automated Android Utility For Recharge Card Printing of VTU Services

Here is a detailed technical overview of how the DGV6 SMS-Bridge application functions and communicates with your server. You can provide this description to your vendors or technical partners.

 

The DGV6 SMS-Bridge is an automated Android utility designed to bridge the gap between physical SIM cards and web-based automation platforms. It listens for incoming SMS messages (specifically EPINs for airtime, data, or utility fulfillment) and instantly forwards them to a pre-configured web endpoint (Webhook).

The application operates as a background service using a BroadcastReceiver architecture.

  • SMS Interception: The app registers a system-level listener for the android.provider.Telephony.SMS_RECEIVED intent. This allows the app to "wake up" the moment an SMS arrives, even if the app is closed or the phone's screen is off.
  • Data Extraction: Upon receiving an SMS, the app extracts the Sender's Phone Number and the Message Body Content.
  • Data Cleaning: To ensure high fulfillment success rates, the app automatically performs "data cleaning," such as removing hyphens (-) from EPIN numbers before transmission.
  • Background Processing: The app uses asynchronous threading to ensure that network requests do not freeze the user interface. It also utilizes WorkManager for tasks that require guaranteed execution, such as retrying a forward if the initial network request fails.

The communication between the Android device and the server is handled via a secure HTTP POST request using the JSON data format.

  • Method: POST
  • Content-Type: application/json; charset=utf-8
  • Authentication: A shared Secret Token (configured in both the app and the Super Admin panel) is included in every request to authorize the transmission.

The app sends a structured JSON object to the server with the following fields:

{

  "action": "RECEIVE_SMS",

  "secret": "ff28521272bfef24ac887ebc75758aba",

  "sender": "+2348012345678",

  "message": "571371665793"

}

  • action: Specifies the intent of the request (e.g., RECEIVE_SMS).
  • secret: The private API key used to validate the request on the server.
  • sender: The originating phone number of the SMS.
  • message: The cleaned content of the SMS (e.g., the EPIN).

The server (typically a PHP endpoint like endpoint.php) receives this POST request and performs the following:

  1. Validates the Secret: Compares the received token with the one stored in the database.
  2. Parses the Data: Extracts the sender and the message/EPIN.
  3. Fulfillment: Triggers the internal logic (e.g., fulfillEPIN()) to fund the user's wallet or process the utility payment.
  4. Response: Returns a JSON response to the app (e.g., {"status":"success", "msg":"Wallet Funded"}) which the app then displays in its Live Terminal Log.
  • Timeout Management: The app is configured with a 15-second connection and read timeout to ensure reliability over mobile data networks.
  • SIM Detection: The app automatically detects active SIM card slots and monitors their status to ensure the bridge is active.
  • Live Logging: Every step—from SMS arrival to server response—is logged in the app’s "Live Terminal Log" for real-time monitoring and debugging.

 

Developer Note: For production stability, it is recommended to set the app's battery optimization to "Unrestricted" to prevent the Android system from putting the bridge into "Sleep Mode."