Dial() method is generic for all modems but hfpmodem may not support some dial strings. HFP 1.6 SPEC for ATD says: "Only voice calls are covered in this specification." Problem is with dialling USSD codes. Request is accepted and a call object is state dialling is created. USSD code is completed, result displays on the phone, but there are no events that would allow oFono to remove this fake call object. We may end up in such situation (Samsung S3 4.3): ofonod[292]: > ATD*132#;\r ofonod[292]: < \r\nOK\r\n ofonod[292]: src/voicecall.c:dial_handle_result() Registering new call: 1 ofonod[292]: > AT+CHUP\r ofonod[292]: < \r\nOK\r\n ofonod[292]: > AT+CHUP\r ofonod[292]: < \r\nOK\r\n ofonod[292]: > AT+CHUP\r ofonod[292]: < \r\nOK\r\n
This call cannot be ended and no more calls can be done as there can only be one call in state 'Dialling'. Proposed workaround is to have a validation string also in the driver, where a USSD request can be stopped. Kuba Pawlak (3): voicecall.h: add dial string validation to driver voicecall.c: call driver's dial string validation hfp: define driver specific dial string validation drivers/hfpmodem/voicecall.c | 37 ++++++++++++++++++++++++++++++++++++- include/voicecall.h | 6 ++++++ src/voicecall.c | 7 ++++++- 3 files changed, 48 insertions(+), 2 deletions(-) -- 1.7.11.7 Intel Deutschland GmbH Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, www.intel.de Managing Directors: Christin Eisenschmid, Prof. Dr. Hermann Eul Chairperson of the Supervisory Board: Tiffany Doon Silva Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928 _______________________________________________ ofono mailing list [email protected] https://lists.ofono.org/mailman/listinfo/ofono
