I am trying to connect USSD connections OpenBTS to Restcomm-Connect over SIP. It seems like this should be possible but I keep running into issues. Hopefully someone has done this before and can be of help.
What I've Done So Far
- OpenBTS is running and a phone can connect to the radio
- Restcomm Connect is running and I have created a USSD application to configured for *100# pointing to it.
- SIP.USSD.Proxy is pointing to the Restcomm SIP port
What Happens When USSD Codes Are Dialed
A SIP INVITE goes to the Restcomm server. That looks like this
INVITE sip:*100#;phone-context=irrelevant.net;user=dialstring@xxx.xx.x.xx:5080 SIP/2.0
<?xml version="1.0" encoding="UTF-8"?> <ussd-data> <language>en</language> <ussd-string>%s</ussd-string> </ussd-data>
- The Restcomm server then sends back a 400 Bad request.
- A notification is left in the Restcomm logs.
Restcomm cannot process this call because the destination number *100#;phone-context=irrelevant.net;user=dialstringcannot be found or there is application attached to that
We have recompiled OpenBTS removing the line that adds the ;phone-context=irrelevant.net;user=dialstring
string source. Thinking that it could be confusing Restcomm. Still no luck.
One theory is that the OpenBTS SIP client needs to authenticate with Restcomm.
Requirements
- I am not beholden to Restcomm and would be fine with any OpenBTS -> SIP -> HTTP gateway.
- What is the reference implementation for OpenBTS USSD SIP?