Skip to contentSkip to conversation

Gemalto: voicecall atom

PATCH In review Giacinto Cifelli 2 participants 3 messages Oct 17, 2018 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/2 Gemalto: voicecall atom

Added voicecall atom specific for Gemalto modems.
This atom uses the URC ^SLCC to monitor the call status, as well as incoming calls.
Note the use in the atom of the variable GemaltoVtsQuotes: this is needed to support future modules, as of today not yet available in the plugin.

---
 Makefile.am                         |   3 +-
 drivers/gemaltomodem/gemaltomodem.c |   3 +
 drivers/gemaltomodem/gemaltomodem.h |   5 +
 drivers/gemaltomodem/voicecall.c    | 578 ++++++++++++++++++++++++++++
 4 files changed, 588 insertions(+), 1 deletion(-)
 create mode 100644 drivers/gemaltomodem/voicecall.c
Makefile.am +2 -1
index 6667524f..e8e4ed95 100644
@@ -397,7 +397,8 @@ builtin_modules += gemaltomodem
 builtin_sources += drivers/atmodem/atutil.h \
 			drivers/gemaltomodem/gemaltomodem.h \
 			drivers/gemaltomodem/gemaltomodem.c \
-			drivers/gemaltomodem/location-reporting.c
+			drivers/gemaltomodem/location-reporting.c \
+			drivers/gemaltomodem/voicecall.c
 
 builtin_modules += xmm7modem
 builtin_sources += drivers/atmodem/atutil.h \
drivers/gemaltomodem/gemaltomodem.c +3 -0
index 91cf238a..4818ac66 100644
@@ -3,6 +3,7 @@
  *  oFono - Open Source Telephony
  *
  *  Copyright (C) 2017 Vincent Cesson. All rights reserved.
+ *  Copyright (C) 2018 Gemalto M2M
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License version 2 as
@@ -35,12 +36,14 @@
 static int gemaltomodem_init(void)
 {
 	gemalto_location_reporting_init();
+	gemalto_voicecall_init();
 
 	return 0;
 }
 
 static void gemaltomodem_exit(void)
 {
+	gemalto_voicecall_exit();
 	gemalto_location_reporting_exit();
 }
 
drivers/gemaltomodem/gemaltomodem.h +5 -0
index 7ea1e8fb..b08ab438 100644
@@ -3,6 +3,7 @@
  *  oFono - Open Source Telephony
  *
  *  Copyright (C) 2017 Vincent Cesson. All rights reserved.
+ *  Copyright (C) 2018 Gemalto M2M
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License version 2 as
@@ -23,3 +24,7 @@
 
 extern void gemalto_location_reporting_init();
 extern void gemalto_location_reporting_exit();
+
+extern void gemalto_voicecall_init();
+extern void gemalto_voicecall_exit();
+
drivers/gemaltomodem/voicecall.c new file +578 -0

578 lines not on this page · raw message

Signature · 1 line
2.17.1
#1 lore raw

PATCH v2 2/2 plugins/gemalto: added voice support

The plugin for Gemalto modems is enriched with all voice-related atoms, as well as USSD.
All except the voicecall itself are from the atmodem, while the voicecall is from gemaltomodem.

---
 plugins/gemalto.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)
plugins/gemalto.c +12 -0
index 0fcf30d8..5d3c77a9 100644
@@ -3,6 +3,7 @@
  *  oFono - Open Source Telephony
  *
  *  Copyright (C) 2017 Vincent Cesson. All rights reserved.
+ *  Copyright (C) 2018 Gemalto M2M
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License version 2 as
@@ -571,6 +572,10 @@ static void gemalto_pre_sim(struct ofono_modem *modem)
 
 	ofono_devinfo_create(modem, 0, "atmodem", data->app);
 	ofono_location_reporting_create(modem, 0, "gemaltomodem", data->app);
+
+	ofono_modem_set_integer(modem, "GemaltoVtsQuotes", 1);
+	ofono_voicecall_create(modem, 0, "gemaltomodem", data->app);
+
 	data->sim = ofono_sim_create(modem, OFONO_VENDOR_GEMALTO, "atmodem",
 						data->app);
 
@@ -597,6 +602,13 @@ static void gemalto_post_sim(struct ofono_modem *modem)
 	if (gprs && gc)
 		ofono_gprs_add_context(gprs, gc);
 
+	ofono_ussd_create(modem, 0, "atmodem", data->app);
+
+	ofono_call_forwarding_create(modem, 0, "atmodem", data->app);
+	ofono_call_settings_create(modem, 0, "atmodem", data->app);
+	ofono_call_meter_create(modem, 0, "atmodem", data->app);
+	ofono_call_barring_create(modem, 0, "atmodem", data->app);
+
 	if (!g_strcmp0(model, GEMALTO_MODEL_ALS3_PLS8x))
 		ofono_lte_create(modem, OFONO_VENDOR_CINTERION,
 						"atmodem", data->app);
Signature · 1 line
2.17.1
#2 lore raw
In reply to Giacinto Cifelli
Quoted 6 lines · Giacinto Cifelli

Added voicecall atom specific for Gemalto modems.
This atom uses the URC ^SLCC to monitor the call status, as well as incoming calls.
Note the use in the atom of the variable GemaltoVtsQuotes: this is needed to support future modules, as of today not yet available in the plugin.

Quoted 8 lines
---
  Makefile.am                         |   3 +-
  drivers/gemaltomodem/gemaltomodem.c |   3 +
  drivers/gemaltomodem/gemaltomodem.h |   5 +
  drivers/gemaltomodem/voicecall.c    | 578 ++++++++++++++++++++++++++++
  4 files changed, 588 insertions(+), 1 deletion(-)

create mode 100644 drivers/gemaltomodem/voicecall.c

I went ahead and applied both of these after cleaning up some style issues.

Regards,
-Denis