<div dir="ltr">Hi, <div><div>I tried using those branches with those flags set and they do not compile together.  Libosmocore builds fine but when building openbsc I get the following error:</div><div>/usr/local/lib/libosmoabis.so: undefined reference to `osmo_timer_setup'</div><div><br></div><div>I did manage to get ussd working using libosmocore:master and openbsc:fairwaves/sup-ussd with some modifications.  I ended up writing my own sup endpoint since I was having some issues with reg-proxy while trying to establish a sip session.  </div><div><br></div><div>After the initial invoke processUnstructuredSS_request send by the phone, future messages from the phone have a message type less than 0x7b (e.g. 0x3b, 0x7a) and for some reason the phone leaves out the iei, and opcode from the messages it sends.  This causes problems in gsm0480.c in libosmocore since the opcode is not set and the data is misaligned due to the missing iei.  I wrote some workarounds into libosmocore which seem to fix the problem but I was wondering if anyone else has had similar issues.  I made some other minor modifications to libosmocore to add message type and component type to the ss_request object.  </div><div><br></div><div>I also noticed that the max ussd string length is set to 31 bytes in gsm0480.h.  According to the gsm standards that values should be 160 bytes or 182 7 bit characters.  Is there any reason for it to be set to 31 or should it be changed to a larger value? </div></div><div><br></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Sep 8, 2017 at 2:16 AM Ivan Kluchnikov <<a href="mailto:ivan.kluchnikov@fairwaves.co" target="_blank">ivan.kluchnikov@fairwaves.co</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello Rowan,<div><br><div>You should use:</div>for libosmocore: fairwaves/master-rebase branch<br>for openbsc: fairwaves/master-rebase branch and use ./configure --enable-ussd-proxy</div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-09-07 21:15 GMT+03:00 Rowan Phipps <span dir="ltr"><<a href="mailto:phippsr@cs.washington.edu" target="_blank">phippsr@cs.washington.edu</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Do you know which version of libosmocore that branch worked with?  I have tried it with both the master branch and the fairwaves/master-rebase branch and neither one compiled.  I also tried rebasing the fairwaves/master-rebase onto master again.  This at least builds but it looks like osmo-nitb is sending a different version of SUP than what libosmocore is expecting and so it can't decode it.  The function in libosmocore that seems to do the decoding is osmo_gsup_decode in gsup.c<div><br></div><div>I have seen references to be SUP and GSUP in the code.  Are these two different protocols or are they the same thing?  Also, are they specified anywhere other than in the code?</div><div><div class="m_-804287067083441304m_1158062521353871345h5"><div dir="ltr"><div><br></div><div><br><div class="gmail_quote"><div dir="ltr">On Sat, Sep 2, 2017 at 2:11 PM Alexander Chemeris <<a href="mailto:alexander.chemeris@gmail.com" target="_blank">alexander.chemeris@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Rowan,<br>
<br>
A more recent version of this work is a part of the<br>
fairwaves/master-rebase branch. It has implementation of exporting<br>
USSD (and any other SS for that matter) over a SUP socket and an<br>
external utility to decode/encode them and convert to/from SIP+XML<br>
similar to defined in the IMS standard.<br>
<br>
We're currently using this code to implement external USSD services<br>
like a balance check from a billing system and also to forward SS and<br>
USSD to MAP/Sigtran. So I think the code should work well for you.<br>
<br>
If you find this code useful, we would greatly appreciate any help in<br>
merging this code into master. We intend to eventually merge this into<br>
master, but it requires some cleanup before it could be submitted for<br>
a review and given it's not a simple small change we've never had<br>
enough time to do that so far :(<br>
<br>
On Wed, Aug 30, 2017 at 10:59 PM, Rowan Phipps<br>
<<a href="mailto:phippsr@cs.washington.edu" target="_blank">phippsr@cs.washington.edu</a>> wrote:<br>
> Hi,<br>
> I’ve been looking into getting ussd working with an external application. I<br>
> found a branch from last year (fairwaves/sup-ussd) that looks like it has<br>
> implemented most of ussd sessions and possibly communicates with an external<br>
> application. Does anyone know if it was finished or what still needs to be<br>
> done?<br>
><br>
> I also found a python script called ussd_example.py which looks like it is<br>
> supposed to act as a gateway and receive used connections from openbsc. Is<br>
> this correct and did it work or am I misunderstanding its purpose?<br>
><br>
> Thanks!<br>
> - Rowan Phipps<br>
<br>
<br>
<br>
--<br>
Regards,<br>
Alexander Chemeris.<br>
CTO/Founder, Fairwaves, Inc.<br>
<a href="https://fairwaves.co" rel="noreferrer" target="_blank">https://fairwaves.co</a><br>
</blockquote></div></div></div></div></div></div><span class="m_-804287067083441304m_1158062521353871345HOEnZb"><font color="#888888"><div dir="ltr">-- <br></div><div class="m_-804287067083441304m_1158062521353871345m_7449472223766826969gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Thanks!<div>    - Rowan Phipps</div></div></div>
</font></span></blockquote></div><br></div>
</blockquote></div><div dir="ltr">-- <br></div><div class="m_-804287067083441304gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Thanks!<div>    - Rowan Phipps</div></div></div></div>