I have a RapidSMS app running and it's OK. It uses Kannel as sms-gateway and connected to two SMS providers : A and B.
There is a registration process where a user of the application, when he register, the application saves the profile of the user including his phone number and his SMS provider == backend.
The problem is when responding back, my application was supposed to respond by the same bakend. i.e if the user registered on a A number, Kannel is supposed to handle a responding message by using a get-url ( from kannel configurations ) pointing to A backend. That's no happening. My app is using B to respond to the user who uses A.
And there is huge cost between messages going between A and B.
So, is there any way of enforcing the app to respond by the same backend ? If there is one, is it done in RapidSMS or in Kannel ?
Make sure the backends you specify in the RapidsSMS settings file correspond with the SMS provider configurations in kannel.conf. Check how you are handling the registration process. In RapidSMS every connection is automatically associated with a backend and you don't need to write any code for saving backends. Check also the message logs in RapidSMS to see that messages are going through the intended connections (i.e. backend + identity).
Thank you.