aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorDan Williams <dan@ioncontrol.co>2025-04-11 20:43:17 -0500
committerDan Williams <dan@ioncontrol.co>2025-05-30 07:59:58 -0500
commit5448a85a2bae32b6c9dfb82ac148904bf20fc209 (patch)
treed3dc01eb24ab04b592195ef335d43ca8ef4c08d0 /src/plugins
parent28b195465422b63ccc77e1a8d9d21e8bb6f217e9 (diff)
call: allow setting DTMF tone duration at call creation time
Instead of hard-coding a 500ms DTMF tone duration, let applications use a specific duration at call setup time. Signed-off-by: Dan Williams <dan@ioncontrol.co>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/cinterion/mm-shared-cinterion.c6
-rw-r--r--src/plugins/cinterion/mm-shared-cinterion.h3
-rw-r--r--src/plugins/huawei/mm-broadband-modem-huawei.c4
-rw-r--r--src/plugins/ublox/mm-broadband-modem-ublox.c4
4 files changed, 12 insertions, 5 deletions
diff --git a/src/plugins/cinterion/mm-shared-cinterion.c b/src/plugins/cinterion/mm-shared-cinterion.c
index 60bbe6db..aa9b6208 100644
--- a/src/plugins/cinterion/mm-shared-cinterion.c
+++ b/src/plugins/cinterion/mm-shared-cinterion.c
@@ -998,7 +998,8 @@ mm_shared_cinterion_enable_location_gathering (MMIfaceModemLocation *self,
MMBaseCall *
mm_shared_cinterion_create_call (MMIfaceModemVoice *self,
MMCallDirection direction,
- const gchar *number)
+ const gchar *number,
+ const guint dtmf_tone_duration)
{
Private *priv;
@@ -1010,6 +1011,7 @@ mm_shared_cinterion_create_call (MMIfaceModemVoice *self,
G_OBJECT (self),
direction,
number,
+ dtmf_tone_duration,
/* When SLCC is supported we have support for detailed
* call list events via call list report URCs */
TRUE, /* incoming timeout not required */
@@ -1020,7 +1022,7 @@ mm_shared_cinterion_create_call (MMIfaceModemVoice *self,
/* otherwise, run parent's generic base call logic */
g_assert (priv->iface_modem_voice_parent);
g_assert (priv->iface_modem_voice_parent->create_call);
- return priv->iface_modem_voice_parent->create_call (self, direction, number);
+ return priv->iface_modem_voice_parent->create_call (self, direction, number, dtmf_tone_duration);
}
/*****************************************************************************/
diff --git a/src/plugins/cinterion/mm-shared-cinterion.h b/src/plugins/cinterion/mm-shared-cinterion.h
index f330e328..146ae96a 100644
--- a/src/plugins/cinterion/mm-shared-cinterion.h
+++ b/src/plugins/cinterion/mm-shared-cinterion.h
@@ -105,7 +105,8 @@ gboolean mm_shared_cinterion_disable_location_gathering_finish (MMI
MMBaseCall *mm_shared_cinterion_create_call (MMIfaceModemVoice *self,
MMCallDirection direction,
- const gchar *number);
+ const gchar *number,
+ const guint dtmf_tone_duration);
void mm_shared_cinterion_voice_check_support (MMIfaceModemVoice *self,
GAsyncReadyCallback callback,
diff --git a/src/plugins/huawei/mm-broadband-modem-huawei.c b/src/plugins/huawei/mm-broadband-modem-huawei.c
index 76180a76..5de6c4d5 100644
--- a/src/plugins/huawei/mm-broadband-modem-huawei.c
+++ b/src/plugins/huawei/mm-broadband-modem-huawei.c
@@ -3879,12 +3879,14 @@ modem_voice_disable_unsolicited_events (MMIfaceModemVoice *self,
static MMBaseCall *
create_call (MMIfaceModemVoice *self,
MMCallDirection direction,
- const gchar *number)
+ const gchar *number,
+ const guint dtmf_tone_duration)
{
return mm_call_at_new (MM_BASE_MODEM (self),
G_OBJECT (self),
direction,
number,
+ dtmf_tone_duration,
TRUE, /* skip_incoming_timeout */
TRUE, /* supports_dialing_to_ringing */
TRUE); /* supports_ringing_to_active) */
diff --git a/src/plugins/ublox/mm-broadband-modem-ublox.c b/src/plugins/ublox/mm-broadband-modem-ublox.c
index 4213480e..ab049024 100644
--- a/src/plugins/ublox/mm-broadband-modem-ublox.c
+++ b/src/plugins/ublox/mm-broadband-modem-ublox.c
@@ -1504,12 +1504,14 @@ modem_voice_setup_unsolicited_events (MMIfaceModemVoice *self,
static MMBaseCall *
create_call (MMIfaceModemVoice *self,
MMCallDirection direction,
- const gchar *number)
+ const gchar *number,
+ const guint dtmf_tone_duration)
{
return mm_call_at_new (MM_BASE_MODEM (self),
G_OBJECT (self),
direction,
number,
+ dtmf_tone_duration,
TRUE, /* skip_incoming_timeout */
TRUE, /* supports_dialing_to_ringing */
TRUE); /* supports_ringing_to_active */