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'
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -361,18 +361,6 @@ mm_voice_clip_regex_get (void)
|
||||
NULL);
|
||||
}
|
||||
|
||||
GRegex *
|
||||
mm_voice_nocarrier_regex_get (void)
|
||||
{
|
||||
/* Example:
|
||||
* <CR><LF>NO CARRIER<CR><LF>
|
||||
*/
|
||||
return g_regex_new ("\\r\\n\\NO CARRIER\\r\\n",
|
||||
G_REGEX_RAW | G_REGEX_OPTIMIZE,
|
||||
0,
|
||||
NULL);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/* +CREG: <stat> (GSM 07.07 CREG=1 unsolicited) */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user