if (strstr(USSD_TEXT_OWN_NUMBER, req.text) != NULL) {
if (strcmp(USSD_TEXT_OWN_NUMBER, (const char *) req.text) == 0) {the old code got strstr the wrong way.. needle and the haystack are mixed up...
hmm, this explains why a call forward query (no USSD) always caused to get a reply with own number.