Attention is currently required from: fixeria.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/33528 )
Change subject: USSD: fix handling of ussd-DataCodingScheme != 0x0f ......................................................................
Patch Set 2: Code-Review+1
(2 comments)
File src/hlr_ussd.c:
https://gerrit.osmocom.org/c/osmo-hlr/+/33528/comment/383df59c_82e476c0 PS2, Line 146: /* do not abort, attempt to decode as if it was '1111'B */ I guess here we should rather fail? Allowing lang != 0xf comes from me, during testing, failing to issue the proper modem AT command to initiate a USSD request.
I thought that this command is sufficient:
AT+CUSD=1,"*0#"
But I should also pass the 'dcs' parameter as 15 (==0xf) like this:
AT+CUSD=1,"*0#",15
That's how this special case came into existence. Should we really allow it?
https://gerrit.osmocom.org/c/osmo-hlr/+/33528/comment/a5db6934_af6d1255 PS2, Line 150: req->ussd_data, (req->ussd_data_len * 8) / 7); Could you help me understand plz:
this gsm_7bit_decode_n_ussd() seems to be the main fix, is that accurate? There was no proper USSD decoding before this patch? How could USSD work at all before this?