Frequently Asked Questions

Find answers to common questions about the Speso USSD Simulator.

Each USSD interaction starts with a unique session ID. The simulator generates this automatically, allowing your endpoint to track multi-step USSD flows. A session ID helps maintain context across multiple USSD requests within a single conversation.

Yes! You can test locally using a tunneling tool like ngrok. Here's how:

  1. Install and run ngrok on your local machine
  2. Start your local USSD endpoint (e.g., on port 8000)
  3. Run ngrok http 8000
  4. Copy the ngrok URL provided and use it as your Host URL in the simulator

The simulator sends the following parameters based on your aggregator's specification:

  • Session ID: Unique identifier for the USSD session
  • Sequence Number: Increments with each request in the session
  • Phone Number: The customer's phone number
  • USSD Code: The input from the user
  • Network Operator: AT, Glo, MTN, or Telecel
  • Aggregator-specific fields: Additional fields required by the aggregator

Not strictly required for testing, but it's recommended for production environments. The simulator supports both HTTP and HTTPS URLs. When deploying to production, always use HTTPS to ensure secure communication between the simulator and your endpoint.

Each USSD session maintains a sequence number that increments with every request sent. This helps your endpoint track the flow of the conversation. For example:

  • Request 1: *721# → Sequence = 1
  • Request 2: 1 → Sequence = 2
  • Request 3: 2 → Sequence = 3

The simulator supports the following USSD aggregators:

  • Korba: Popular USSD aggregator for African markets
  • Nsano: USSD platform and aggregation services
  • Nalo: SMS and USSD solutions provider
  • Arkesel: Bulk SMS and USSD messaging platform
  • Africa's Talking: Communications API platform

Your endpoint should return appropriate responses for different scenarios:

  • Valid input: Return the next menu or confirmation message
  • Invalid input: Return an error message prompting the user to try again
  • End of flow: Return a message indicating the session is complete

The simulator will display any response your endpoint returns, making it easy to debug issues in real-time.

Yes! The simulator allows you to test with different networks (AT, Glo, MTN, Telecel) and aggregators. This helps ensure your USSD application works correctly across different telecom providers and aggregation platforms. Simply change the network and aggregator dropdowns and send a new request.

The Reset button clears the current USSD session and returns you to the simulator home page. This is useful when you want to:

  • Start a completely new session with a different configuration
  • Clear all input fields and session data
  • End a testing session and begin fresh

Yes! You can share pre-filled simulator links by adding query parameters to the URL. Click the example below to try it:

Available parameters:

  • url - Host URL for your USSD endpoint
  • method - Request method (get or post)
  • network - Network operator (at, glo, mtn, telecel)
  • phone - Phone number
  • aggregator - Aggregator (korba, nsano, nalo, arkesel, africastalking)
  • ussd - Initial USSD code

If you're experiencing connection issues:

  • Ensure your endpoint URL is correct and publicly accessible
  • Check that your endpoint is running and listening on the correct port
  • If using ngrok, verify the tunnel is still active
  • Check your firewall and network settings
  • Review your endpoint logs for any error messages
  • Test the endpoint URL directly in your browser first
v1.0