diff options
-rw-r--r-- | src/mm-broadband-modem.c | 3 | ||||
-rw-r--r-- | src/mm-modem-helpers.c | 14 | ||||
-rw-r--r-- | src/mm-modem-helpers.h | 6 |
3 files changed, 21 insertions, 2 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index 41159a6c..e0f277fe 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -8473,8 +8473,7 @@ set_voice_in_call_unsolicited_events_handlers (MMBroadbandModem *self, g_autoptr(GRegex) in_call_event_regex = NULL; guint i; - in_call_event_regex = g_regex_new ("\\r\\n(NO CARRIER|BUSY|NO ANSWER|NO DIALTONE)(\\r)?\\r\\n$", - G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL); + in_call_event_regex = mm_call_end_regex_get (); ports[0] = MM_PORT_SERIAL_AT (ports_ctx->primary); ports[1] = MM_PORT_SERIAL_AT (ports_ctx->secondary); diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c index 926b1997..c6fa13fc 100644 --- a/src/mm-modem-helpers.c +++ b/src/mm-modem-helpers.c @@ -483,6 +483,20 @@ mm_at_quote_string (const gchar *input) /*****************************************************************************/ GRegex * +mm_call_end_regex_get (void) +{ + /* Example: + * <CR><LF>NO ANSWER<CR><LF> + */ + return g_regex_new ("\\r\\n(NO CARRIER)|(BUSY)|(NO ANSWER)|(NO DIALTONE)\\r\\n", + G_REGEX_DOLLAR_ENDONLY | G_REGEX_RAW | G_REGEX_OPTIMIZE, + 0, + NULL); +} + +/*****************************************************************************/ + +GRegex * mm_voice_ring_regex_get (void) { /* Example: diff --git a/src/mm-modem-helpers.h b/src/mm-modem-helpers.h index 469492b2..73203c8b 100644 --- a/src/mm-modem-helpers.h +++ b/src/mm-modem-helpers.h @@ -86,6 +86,12 @@ gchar *mm_bcd_to_string (const guint8 *bcd, gchar *mm_at_quote_string (const gchar *input); /*****************************************************************************/ +/* CALL specific helpers and utilities */ +/*****************************************************************************/ + +GRegex *mm_call_end_regex_get (void); + +/*****************************************************************************/ /* VOICE specific helpers and utilities */ /*****************************************************************************/ |