There are three different models that apply to the way USSD Gateways interact with USSD Menu Servers, all types are supported within the GLU USSD Menu builder and the underlying GLU.Engine.
The USSD Gateway plays a crucial role in the USSD communication process. It acts as the intermediary between the user and the USSD Menu Server, managing the USSD session and routing requests and responses between the two.
In all three scenarios described below, the USSD Gateway is responsible for managing the USSD session between the user and the USSD Menu Server, including routing requests and displaying responses to the user. The USSD Menu Server is responsible for processing the requests and sending appropriate responses back to the USSD Gateway.
Type 1: Acknowledge is ON, and respond back to separate URL
This design is used when the USSD gateway requires an ACK message to be returned when the request is received. The ACK is returned in response to the incoming request, and the final USSD response is sent back to a different endpoint.
Type 2: Acknowledge OFF and respond back to different endpoint
It is possible to specify the response endpoint as a different endpoint to the incoming request. This different endpoint can be defined by selecting the correct connector and defining the relevant path or context name (response back url).
Type 3: Acknowledge OFF and respond back to the same endpoint as incoming request
This is a straight request and response model. The response generated in the menu builder will be sent back to the same endpoint as the incoming request.