diff --git a/src/modems/hayes.c b/src/modems/hayes.c index 4fc9020..5014f68 100644 --- a/src/modems/hayes.c +++ b/src/modems/hayes.c @@ -784,7 +784,8 @@ static char * _request_attention(ModemPlugin * modem, ModemRequest * request) request->authenticate.password); break; case MODEM_REQUEST_CALL: - if((p = request->call.number) != NULL + if(request->call.call_type == MODEM_CALL_TYPE_VOICE + && (p = request->call.number) != NULL && (len = strlen(p)) > 2 && p[0] == '*' && p[len - 1] == '#') return _request_attention_call_ussd(modem, diff --git a/src/plugins/ussd.c b/src/plugins/ussd.c index 3b1734d..8ae7982 100644 --- a/src/plugins/ussd.c +++ b/src/plugins/ussd.c @@ -266,7 +266,7 @@ static void _ussd_on_settings_send(gpointer data) #endif memset(&request, 0, sizeof(request)); request.type = MODEM_REQUEST_CALL; - request.call.call_type = MODEM_CALL_TYPE_DATA; + request.call.call_type = MODEM_CALL_TYPE_VOICE; request.call.number = codes[i].number; helper->request(helper->phone, &request); }