Troubleshooting
Fixes for the most common problems, from a shortcode that does nothing to empty API values, plus common questions.
Dialling the shortcode
Nothing happens, or the network says "Connection problem or invalid MMI code"
- Check the callback address in your aggregator's dashboard matches the one Asterisks showed after Deploy, character for character.
- Check the aggregator in the address (for example
/hubtel/) is the aggregator you actually use. If not, pick the right one in the builder's top bar, deploy again and copy the new address. - Ask your aggregator to confirm the shortcode is active and pointed at that address.
Callers see "Service not configured."
The app hasn't been deployed yet. Press Save then Deploy in the builder.
Callers see "Insufficient credits to run this session. Please top up."
Your wallet is empty. Open Billing and press Top up. New sessions work as soon as the payment is confirmed.
My changes don't show on the phone
Callers get the last deployed version. Press Save, then Deploy again, then dial a new session.
Screens and answers
Deploy or Check flow lists problems
Each message names the screen. The common fixes are in Check flow: usually a menu option or screen whose dot isn't connected to anything.
A saved answer shows up as {{name}} instead of the value
- Check the spelling and capital letters match Save the answer as exactly:
{{Amount}}and{{amount}}are different. - Check the caller actually passed through the screen that saves it on the way to this one.
A Smart Router always takes the fallback branch
- Write the plain name with no curly brackets, then a space, the operator, a space, and the value:
amount > 100. - Check the name matches the saved answer exactly.
- If the value comes from Send Data, the API call may have failed or been too slow (see below).
Callers can't enter 0
Replying 0 goes back by default. On questions where 0 is a real answer, open the question and turn off Pressing 0 goes back.
My message is cut into two screens
A USSD screen holds about 182 characters. Longer text is split, with 99. Next. Shorten it, using the counter under What the phone shows.
Send Data and API menus
Values from my API are empty
- Your API must answer within 2 seconds. Slower calls are abandoned and the session carries on.
- The address must be on the public internet. Private and local addresses (like
localhostor192.168.x.x) are blocked. - Check each path under Save From Response against a real reply from your API:
$.data.balanceneeds{"data": {"balance": …}}.
It works on a phone but fails in the phone preview
In the preview, your browser calls your API directly, so your API must allow requests from the dashboard (CORS). Real sessions call it from Asterisks' servers and aren't affected.
An API menu shows "Error loading options."
Asterisks couldn't get a list from your API. Check the address, the Path to the list, and that your API answers within 2 seconds with a list of items that have the Label field and Value field you entered.
Callbacks and payments
My Callback URL receives nothing
- It is only sent when a session ends on an End Session or Flash Alert screen, not when the caller cancels or times out.
- It must be a full public
https://address. - Each deploy replaces it. If you redeployed without filling it in, callbacks stopped. Deploy again with it filled in.
Callers see "Payment could not be initiated. Please try again later."
Your payment provider refused the request. See If the request fails.
Common questions
Do I need to know how to code?
No. Menus, questions, branching and end screens are all built by clicking and dragging. You only need a developer to connect your own systems with Send Data or a callback URL.
Where do I get a shortcode?
From a USSD aggregator: Hubtel, Nalo Solutions, Arkesel or Africa's Talking. You can build and test your app before you have one.
What happens if a caller gets cut off?
If they dial the same shortcode again within 5 minutes, they pick up on the screen where they left off.
Can my team work on the same app?
Yes. Press Share in the builder's top bar to invite people.
Still stuck?
At the bottom of any docs page, answer Was this page helpful? with a thumbs-down and tell us what you tried. We read every one.