aboutsummaryrefslogtreecommitdiff
path: root/src/mm-modem-helpers.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2019-10-14 15:45:18 +0200
committerAleksander Morgado <aleksander@aleksander.es>2019-10-14 15:45:18 +0200
commit089faef88cfa5347e209e46cb5990f21648c26a2 (patch)
tree01c8442569d4ff94fd87a4717b4105bf7db116ac /src/mm-modem-helpers.c
parent89c9566ede8cd7b587d0a383bef2a3973897c4c5 (diff)
modem-helpers: support reporting 'terminated' call state in +CLCC
Diffstat (limited to 'src/mm-modem-helpers.c')
-rw-r--r--src/mm-modem-helpers.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c
index f7115cb0..69e8823e 100644
--- a/src/mm-modem-helpers.c
+++ b/src/mm-modem-helpers.c
@@ -606,6 +606,15 @@ mm_3gpp_parse_clcc_response (const gchar *str,
[3] = MM_CALL_STATE_RINGING_OUT, /* Alerting (MOC) */
[4] = MM_CALL_STATE_RINGING_IN, /* Incoming (MTC) */
[5] = MM_CALL_STATE_WAITING, /* Waiting (MTC) */
+
+ /* This next call state number isn't defined by 3GPP, because it
+ * doesn't make sense to have it when reporting a full list of calls
+ * via +CLCC (i.e. the absence of the call would mean it's terminated).
+ * But, this value may be used by other implementations (e.g. SimTech
+ * plugin) to report that a call is terminated even when the full
+ * call list isn't being reported. So, let's support it in the generic,
+ * parser, even if not strictly standard. */
+ [6] = MM_CALL_STATE_TERMINATED,
};
g_assert (out_list);