From 7d7e8af433041ccfd4ab94c7ecae21fc5fefedd4 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Sat, 23 May 2015 18:17:12 +0200 Subject: core,voice: remove explicit "NO CARRIER" response matching This response is already managed by the generic AT serial port and translates it into a proper error. This change also avoids the Call.Start() call to report a timeout in the serial port, instead we get a proper no-carrier error. Before: $ sudo mmcli -m 0 --voice-create-call="number=12345678" Successfully created new call: /org/freedesktop/ModemManager1/Call/1 outgoing (unknown) $ sudo mmcli -o 1 --start error: couldn't start the call: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Serial.ResponseTimeout: Serial command timed out' After: $ sudo mmcli -m 0 --voice-create-call="number=12345678" Successfully created new call: /org/freedesktop/ModemManager1/Call/1 outgoing (unknown) $ sudo mmcli -o 1 --start error: couldn't start the call: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Connection.NoCarrier: No carrier' --- src/mm-broadband-modem.c | 17 ----------------- src/mm-modem-helpers.c | 12 ------------ src/mm-modem-helpers.h | 1 - 3 files changed, 30 deletions(-) diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index 431a716f4..f176b808a 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -6328,15 +6328,6 @@ clip_received (MMPortSerialAt *port, } } -static void -nocarrier_received (MMPortSerialAt *port, - GMatchInfo *info, - MMBroadbandModem *self) -{ - mm_dbg ("No carrier"); - mm_iface_modem_voice_network_hangup (MM_IFACE_MODEM_VOICE (self)); -} - static void set_voice_unsolicited_events_handlers (MMIfaceModemVoice *self, gboolean enable, @@ -6345,7 +6336,6 @@ set_voice_unsolicited_events_handlers (MMIfaceModemVoice *self, { GSimpleAsyncResult *result; MMPortSerialAt *ports[2]; - GRegex *nocarrier_regex; GRegex *cring_regex; GRegex *ring_regex; GRegex *clip_regex; @@ -6356,7 +6346,6 @@ set_voice_unsolicited_events_handlers (MMIfaceModemVoice *self, user_data, set_voice_unsolicited_events_handlers); - nocarrier_regex = mm_voice_nocarrier_regex_get (); cring_regex = mm_voice_cring_regex_get (); ring_regex = mm_voice_ring_regex_get (); clip_regex = mm_voice_clip_regex_get (); @@ -6390,12 +6379,6 @@ set_voice_unsolicited_events_handlers (MMIfaceModemVoice *self, enable ? (MMPortSerialAtUnsolicitedMsgFn) clip_received : NULL, enable ? self : NULL, NULL); - mm_port_serial_at_add_unsolicited_msg_handler ( - ports[i], - nocarrier_regex, - enable ? (MMPortSerialAtUnsolicitedMsgFn) nocarrier_received : NULL, - enable ? self : NULL, - NULL); } g_regex_unref (cring_regex); diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c index 4ac1564e1..fb0b7fa13 100644 --- a/src/mm-modem-helpers.c +++ b/src/mm-modem-helpers.c @@ -361,18 +361,6 @@ mm_voice_clip_regex_get (void) NULL); } -GRegex * -mm_voice_nocarrier_regex_get (void) -{ - /* Example: - * NO CARRIER - */ - return g_regex_new ("\\r\\n\\NO CARRIER\\r\\n", - G_REGEX_RAW | G_REGEX_OPTIMIZE, - 0, - NULL); -} - /*************************************************************************/ /* +CREG: (GSM 07.07 CREG=1 unsolicited) */ diff --git a/src/mm-modem-helpers.h b/src/mm-modem-helpers.h index ef6587814..9fabd6aa7 100644 --- a/src/mm-modem-helpers.h +++ b/src/mm-modem-helpers.h @@ -88,7 +88,6 @@ GArray *mm_filter_supported_capabilities (MMModemCapability all, GRegex *mm_voice_ring_regex_get (void); GRegex *mm_voice_cring_regex_get(void); GRegex *mm_voice_clip_regex_get (void); -GRegex *mm_voice_nocarrier_regex_get (void); /*****************************************************************************/ /* 3GPP specific helpers and utilities */ -- cgit v1.2.1