Skip to contentSkip to conversation

Voice call SS notifications (2nd version)

PATCH In review Andras Domokos 5 participants 11 messages Feb 28, 2011 – Mar 14, 2011

lore
Share & tools
lore
#0 lore raw

cover Voice call SS notifications (2nd version)

Implementation proposal for handling some of the voice call related Supplementary Services (SS) notifications.

Implementation details:
- removed SSN atom
- expanded the SS notify functions with call number info, useful for modems capable of delivering it in the SS notifications
- expanded the SS callback functions with call number info and service code, useful in demultiplexing when a common callback function is defined for multiple service codes
- added +CSSU and +CSSI type SS notifications handling to the voicecall code

Andras Domokos (3):
ssn: remove SSN atom
ssn: add code and call id to notifications
voicecall: add SSN notifications handling

 drivers/atmodem/ssn.c |    6 +-
 include/ssn.h         |   12 ++--
 include/types.h       |    2 +
 plugins/calypso.c     |    1 -
 plugins/g1.c          |    1 -
 plugins/huawei.c      |    1 -
 plugins/ifx.c         |    1 -
 plugins/isiusb.c      |    1 -
 plugins/linktop.c     |    1 -
 plugins/n900.c        |    1 -
 plugins/phonesim.c    |    1 -
 plugins/ste.c         |    1 -
 plugins/tc65.c        |    1 -
 plugins/u8500.c       |    1 -
 plugins/wavecom.c     |    1 -
 src/ofono.h           |    5 +-
 src/ssn.c             |   66 +++++---------
 src/voicecall.c       |  240 ++++++++++++++++++++++++++++++++++++++++++++++++-
 18 files changed, 272 insertions(+), 71 deletions(-)
#1 lore raw

RFC PATCH 1/3 ssn: remove SSN atom

---
 drivers/atmodem/ssn.c |    6 +---
 include/ssn.h         |    9 +++----
 plugins/calypso.c     |    1 -
 plugins/g1.c          |    1 -
 plugins/huawei.c      |    1 -
 plugins/ifx.c         |    1 -
 plugins/isiusb.c      |    1 -
 plugins/linktop.c     |    1 -
 plugins/n900.c        |    1 -
 plugins/phonesim.c    |    1 -
 plugins/ste.c         |    1 -
 plugins/tc65.c        |    1 -
 plugins/u8500.c       |    1 -
 plugins/wavecom.c     |    1 -
 src/ssn.c             |   59 +++++++++++++++----------------------------------
 15 files changed, 24 insertions(+), 62 deletions(-)
drivers/atmodem/ssn.c +2 -4
index b7a9df4..c927bf1 100644
@@ -56,7 +56,7 @@ static void cssi_notify(GAtResult *result, gpointer user_data)
 	if (!g_at_result_iter_next_number(&iter, &index))
 		index = 0;
 
-	ofono_ssn_cssi_notify(ssn, code1, index);
+	ofono_ssn_mo_notify(ssn, code1, index);
 }
 
 static void cssu_notify(GAtResult *result, gpointer user_data)
@@ -93,7 +93,7 @@ static void cssu_notify(GAtResult *result, gpointer user_data)
 		return;
 
 out:
-	ofono_ssn_cssu_notify(ssn, code2, index, &ph);
+	ofono_ssn_mt_notify(ssn, code2, index, &ph);
 }
 
 static void at_ssn_initialized(gboolean ok, GAtResult *result,
@@ -104,8 +104,6 @@ static void at_ssn_initialized(gboolean ok, GAtResult *result,
 
 	g_at_chat_register(chat, "+CSSI:", cssi_notify, FALSE, ssn, NULL);
 	g_at_chat_register(chat, "+CSSU:", cssu_notify, FALSE, ssn, NULL);
-
-	ofono_ssn_register(ssn);
 }
 
 static int at_ssn_probe(struct ofono_ssn *ssn, unsigned int vendor,
include/ssn.h +4 -5
index d640cad..c8f3e0b 100644
@@ -37,19 +37,18 @@ struct ofono_ssn_driver {
 };
 
 /* SSN notifications (CSSI and CSSU).  */
-void ofono_ssn_cssi_notify(struct ofono_ssn *ssn, int code, int index);
-void ofono_ssn_cssu_notify(struct ofono_ssn *ssn, int code, int index,
+void ofono_ssn_mo_notify(struct ofono_ssn *ssn, int code, int index);
+void ofono_ssn_mt_notify(struct ofono_ssn *ssn, int code, int index,
 				const struct ofono_phone_number *number);
 
 int ofono_ssn_driver_register(const struct ofono_ssn_driver *d);
 void ofono_ssn_driver_unregister(const struct ofono_ssn_driver *d);
 
-struct ofono_ssn *ofono_ssn_create(struct ofono_modem *modem,
+struct ofono_ssn *ofono_ssn_new(struct ofono_modem *modem,
 					unsigned int vendor,
 					const char *driver, void *data);
 
-void ofono_ssn_register(struct ofono_ssn *ssn);
-void ofono_ssn_remove(struct ofono_ssn *ssn);
+void ofono_ssn_free(struct ofono_ssn *ssn);
 
 void ofono_ssn_set_data(struct ofono_ssn *ssn, void *data);
 void *ofono_ssn_get_data(struct ofono_ssn *ssn);
plugins/calypso.c +0 -1
index 0e29256..9c1b449 100644
@@ -534,7 +534,6 @@ static void calypso_post_sim(struct ofono_modem *modem)
 				data->dlcs[NETREG_DLC]);
 	ofono_call_meter_create(modem, 0, "atmodem", data->dlcs[AUX_DLC]);
 	ofono_call_barring_create(modem, 0, "atmodem", data->dlcs[AUX_DLC]);
-	ofono_ssn_create(modem, 0, "atmodem", data->dlcs[AUX_DLC]);
 	ofono_call_volume_create(modem, 0, "atmodem", data->dlcs[AUX_DLC]);
 
 	mw = ofono_message_waiting_create(modem);
plugins/g1.c +0 -1
index 22bacdc..bccde13 100644
@@ -184,7 +184,6 @@ static void g1_post_sim(struct ofono_modem *modem)
 	ofono_netreg_create(modem, 0, "atmodem", chat);
 	ofono_call_meter_create(modem, 0, "atmodem", chat);
 	ofono_call_barring_create(modem, 0, "atmodem", chat);
-	ofono_ssn_create(modem, 0, "atmodem", chat);
 	ofono_sms_create(modem, OFONO_VENDOR_QUALCOMM_MSM, "atmodem", chat);
 	ofono_phonebook_create(modem, 0, "atmodem", chat);
 
plugins/huawei.c +0 -1
index 6f05677..5be5247 100644
@@ -685,7 +685,6 @@ static void huawei_post_online(struct ofono_modem *modem)
 		ofono_call_forwarding_create(modem, 0, "atmodem", data->pcui);
 		ofono_call_settings_create(modem, 0, "atmodem", data->pcui);
 		ofono_call_barring_create(modem, 0, "atmodem", data->pcui);
-		ofono_ssn_create(modem, 0, "atmodem", data->pcui);
 
 		mw = ofono_message_waiting_create(modem);
 		if (mw)
plugins/ifx.c +0 -1
index 527a8c4..16a2326 100644
@@ -717,7 +717,6 @@ static void ifx_post_online(struct ofono_modem *modem)
 	ofono_cbs_create(modem, 0, "atmodem", data->dlcs[AUX_DLC]);
 	ofono_ussd_create(modem, 0, "atmodem", data->dlcs[AUX_DLC]);
 
-	ofono_ssn_create(modem, 0, "atmodem", data->dlcs[AUX_DLC]);
 	ofono_call_settings_create(modem, 0, "atmodem", data->dlcs[AUX_DLC]);
 	ofono_call_meter_create(modem, 0, "atmodem", data->dlcs[AUX_DLC]);
 	ofono_call_barring_create(modem, 0, "atmodem", data->dlcs[AUX_DLC]);
plugins/isiusb.c +0 -1
index c036604..a5edf72 100644
@@ -428,7 +428,6 @@ static void isiusb_post_online(struct ofono_modem *modem)
 	ofono_netreg_create(modem, 0, "wgmodem2.5", isi->modem);
 	ofono_sms_create(modem, 0, "isimodem", isi->modem);
 	ofono_cbs_create(modem, 0, "isimodem", isi->modem);
-	ofono_ssn_create(modem, 0, "isimodem", isi->modem);
 	ofono_ussd_create(modem, 0, "isimodem", isi->modem);
 	ofono_call_settings_create(modem, 0, "isimodem", isi->modem);
 	ofono_call_barring_create(modem, 0, "isimodem", isi->modem);
plugins/linktop.c +0 -1
index 2fb3896..59367d4 100644
@@ -313,7 +313,6 @@ static void linktop_post_online(struct ofono_modem *modem)
 	ofono_netreg_create(modem, OFONO_VENDOR_MBM, "atmodem", data->control);
 	ofono_call_meter_create(modem, 0, "atmodem", data->control);
 	ofono_call_barring_create(modem, 0, "atmodem", data->control);
-	ofono_ssn_create(modem, 0, "atmodem", data->control);
 	ofono_call_volume_create(modem, 0, "atmodem", data->control);
 	ofono_cbs_create(modem, 0, "atmodem", data->control);
 
plugins/n900.c +0 -1
index c685266..0c92d8d 100644
@@ -509,7 +509,6 @@ static void n900_post_online(struct ofono_modem *modem)
 	ofono_netreg_create(modem, 0, "isimodem", isi->modem);
 	ofono_sms_create(modem, 0, "isimodem", isi->modem);
 	ofono_cbs_create(modem, 0, "isimodem", isi->modem);
-	ofono_ssn_create(modem, 0, "isimodem", isi->modem);
 	ofono_ussd_create(modem, 0, "isimodem", isi->modem);
 	ofono_call_settings_create(modem, 0, "isimodem", isi->modem);
 	ofono_call_barring_create(modem, 0, "isimodem", isi->modem);
plugins/phonesim.c +0 -1
index 2b36fe0..9beb04e 100644
@@ -651,7 +651,6 @@ static void phonesim_post_online(struct ofono_modem *modem)
 
 	ofono_call_meter_create(modem, 0, "atmodem", data->chat);
 	ofono_call_barring_create(modem, 0, "atmodem", data->chat);
-	ofono_ssn_create(modem, 0, "atmodem", data->chat);
 	ofono_call_volume_create(modem, 0, "atmodem", data->chat);
 
 	if (!data->calypso)
plugins/ste.c +0 -1
index b786571..bcfd33d 100644
@@ -430,7 +430,6 @@ static void ste_post_online(struct ofono_modem *modem)
 	ofono_netreg_create(modem, OFONO_VENDOR_MBM, "atmodem", data->chat);
 	ofono_call_meter_create(modem, 0, "atmodem", data->chat);
 	ofono_call_barring_create(modem, 0, "atmodem", data->chat);
-	ofono_ssn_create(modem, 0, "atmodem", data->chat);
 	ofono_call_volume_create(modem, 0, "atmodem", data->chat);
 	ofono_cbs_create(modem, 0, "atmodem", data->chat);
 
plugins/tc65.c +0 -1
index f58f33d..e9d6e90 100644
@@ -208,7 +208,6 @@ static void tc65_post_online(struct ofono_modem *modem)
 	ofono_netreg_create(modem, 0, "atmodem", chat);
 	ofono_call_meter_create(modem, 0, "atmodem", chat);
 	ofono_call_barring_create(modem, 0, "atmodem", chat);
-	ofono_ssn_create(modem, 0, "atmodem", chat);
 
 	gprs = ofono_gprs_create(modem, 0, "atmodem", chat);
 	gc = ofono_gprs_context_create(modem, 0, "atmodem", chat);
plugins/u8500.c +0 -1
index eb142b4..c46670f 100644
@@ -460,7 +460,6 @@ static void u8500_post_online(struct ofono_modem *modem)
 	ofono_netreg_create(modem, 0, "wgmodem2.5", isi->modem);
 	ofono_sms_create(modem, 0, "isimodem", isi->modem);
 	ofono_cbs_create(modem, 0, "isimodem", isi->modem);
-	ofono_ssn_create(modem, 0, "isimodem", isi->modem);
 	ofono_ussd_create(modem, 0, "isimodem", isi->modem);
 	ofono_call_settings_create(modem, 0, "isimodem", isi->modem);
 	ofono_call_barring_create(modem, 0, "isimodem", isi->modem);
plugins/wavecom.c +0 -1
index cb55f85..cd9c85e 100644
@@ -156,7 +156,6 @@ static void wavecom_post_sim(struct ofono_modem *modem)
 	ofono_netreg_create(modem, 0, "atmodem", chat);
 	ofono_call_meter_create(modem, 0, "atmodem", chat);
 	ofono_call_barring_create(modem, 0, "atmodem", chat);
-	ofono_ssn_create(modem, 0, "atmodem", chat);
 	ofono_sms_create(modem, 0, "atmodem", chat);
 	ofono_phonebook_create(modem, 0, "atmodem", chat);
 
src/ssn.c +18 -41

101 lines not on this page · raw message

Signature · 1 line
1.7.0.4
#2 lore raw

RFC PATCH 2/3 ssn: add code and call id to notifications

In reply to Andras Domokos
---
 drivers/atmodem/ssn.c |    4 ++--
 include/ssn.h         |    7 ++++---
 src/ofono.h           |    5 +++--
 src/ssn.c             |   11 ++++++-----
 4 files changed, 15 insertions(+), 12 deletions(-)
drivers/atmodem/ssn.c +2 -2
index c927bf1..ba8f89a 100644
@@ -56,7 +56,7 @@ static void cssi_notify(GAtResult *result, gpointer user_data)
 	if (!g_at_result_iter_next_number(&iter, &index))
 		index = 0;
 
-	ofono_ssn_mo_notify(ssn, code1, index);
+	ofono_ssn_mo_notify(ssn, 0, code1, index);
 }
 
 static void cssu_notify(GAtResult *result, gpointer user_data)
@@ -93,7 +93,7 @@ static void cssu_notify(GAtResult *result, gpointer user_data)
 		return;
 
 out:
-	ofono_ssn_mt_notify(ssn, code2, index, &ph);
+	ofono_ssn_mt_notify(ssn, 0, code2, index, &ph);
 }
 
 static void at_ssn_initialized(gboolean ok, GAtResult *result,
include/ssn.h +4 -3
index c8f3e0b..4f41bae 100644
@@ -37,9 +37,10 @@ struct ofono_ssn_driver {
 };
 
 /* SSN notifications (CSSI and CSSU).  */
-void ofono_ssn_mo_notify(struct ofono_ssn *ssn, int code, int index);
-void ofono_ssn_mt_notify(struct ofono_ssn *ssn, int code, int index,
-				const struct ofono_phone_number *number);
+void ofono_ssn_mo_notify(struct ofono_ssn *ssn, unsigned int id,
+				int code1, int index);
+void ofono_ssn_mt_notify(struct ofono_ssn *ssn, unsigned int id, int code2,
+			int index, const struct ofono_phone_number *number);
 
 int ofono_ssn_driver_register(const struct ofono_ssn_driver *d);
 void ofono_ssn_driver_unregister(const struct ofono_ssn_driver *d);
src/ofono.h +3 -2
index 4e298f1..4af6f86 100644
@@ -346,8 +346,9 @@ int __ofono_sms_sim_download(struct ofono_stk *stk, const struct sms *msg,
 
 #include <ofono/ssn.h>
 
-typedef void (*ofono_ssn_mo_notify_cb)(int index, void *user);
-typedef void (*ofono_ssn_mt_notify_cb)(int index,
+typedef void (*ofono_ssn_mo_notify_cb)(unsigned int id, int code1, int index,
+					void *user);
+typedef void (*ofono_ssn_mt_notify_cb)(unsigned int id, int code2, int index,
 					const struct ofono_phone_number *ph,
 					void *user);
 
src/ssn.c +6 -5
index ee48fba..383114c 100644
@@ -111,7 +111,8 @@ gboolean __ofono_ssn_mt_watch_remove(struct ofono_ssn *ssn, unsigned int id)
 	return __ofono_watchlist_remove_item(ssn->mt_handler_list, id);
 }
 
-void ofono_ssn_mo_notify(struct ofono_ssn *ssn, int code1, int index)
+void ofono_ssn_mo_notify(struct ofono_ssn *ssn, unsigned int id,
+				int code1, int index)
 {
 	struct ssn_handler *h;
 	GSList *l;
@@ -122,12 +123,12 @@ void ofono_ssn_mo_notify(struct ofono_ssn *ssn, int code1, int index)
 		notify = h->item.notify;
 
 		if (h->code == code1)
-			notify(index, h->item.notify_data);
+			notify(id, code1, index, h->item.notify_data);
 	}
 }
 
-void ofono_ssn_mt_notify(struct ofono_ssn *ssn, int code2, int index,
-				const struct ofono_phone_number *ph)
+void ofono_ssn_mt_notify(struct ofono_ssn *ssn, unsigned int id, int code2,
+				int index, const struct ofono_phone_number *ph)
 {
 	struct ssn_handler *h;
 	GSList *l;
@@ -138,7 +139,7 @@ void ofono_ssn_mt_notify(struct ofono_ssn *ssn, int code2, int index,
 		notify = h->item.notify;
 
 		if (h->code == code2)
-			notify(index, ph, h->item.notify_data);
+			notify(id, code2, index, ph, h->item.notify_data);
 	}
 }
 
Signature · 1 line
1.7.0.4
#3 lore raw

Re: [RFC PATCH 2/3] ssn: add code and call id to notifications

Hi Andras,

Quoted 37 lines · Andras Domokos
---
 drivers/atmodem/ssn.c |    4 ++--
 include/ssn.h         |    7 ++++---
 src/ofono.h           |    5 +++--
 src/ssn.c             |   11 ++++++-----
 4 files changed, 15 insertions(+), 12 deletions(-)
drivers/atmodem/ssn.c +2 -2
index c927bf1..ba8f89a 100644
@@ -56,7 +56,7 @@ static void cssi_notify(GAtResult *result, gpointer user_data)
 	if (!g_at_result_iter_next_number(&iter, &index))
 		index = 0;
 
-	ofono_ssn_mo_notify(ssn, code1, index);
+	ofono_ssn_mo_notify(ssn, 0, code1, index);
 }
 
 static void cssu_notify(GAtResult *result, gpointer user_data)
@@ -93,7 +93,7 @@ static void cssu_notify(GAtResult *result, gpointer user_data)
 		return;
 
 out:
-	ofono_ssn_mt_notify(ssn, code2, index, &ph);
+	ofono_ssn_mt_notify(ssn, 0, code2, index, &ph);
 }
 
 static void at_ssn_initialized(gboolean ok, GAtResult *result,
include/ssn.h +0 -0
index c8f3e0b..4f41bae 100644
@@ -37,9 +37,10 @@ struct ofono_ssn_driver {
 };
 
 /* SSN notifications (CSSI and CSSU).  */

include/ssn.h struct ofono_ssn_driver { · line 46

Quoted 10 lines
include/ssn.h +4 -3
-void ofono_ssn_mo_notify(struct ofono_ssn *ssn, int code, int index);
-void ofono_ssn_mt_notify(struct ofono_ssn *ssn, int code, int index,
-				const struct ofono_phone_number *number);
+void ofono_ssn_mo_notify(struct ofono_ssn *ssn, unsigned int id,
+				int code1, int index);
+void ofono_ssn_mt_notify(struct ofono_ssn *ssn, unsigned int id, int code2,
+			int index, const struct ofono_phone_number *number);
 
 int ofono_ssn_driver_register(const struct ofono_ssn_driver *d);
 void ofono_ssn_driver_unregister(const struct ofono_ssn_driver *d);

Please just remove the ssn atom completely and add these functions to the voicecall atom. e.g.:

ofono_voicecall_cssi_notify
ofono_voicecall_cssu_notify

or

ofono_voicecall_ssn_mt_notify
ofono_voicecall_ssn_mo_notify

Quoted 47 lines
src/ofono.h +3 -2
index 4e298f1..4af6f86 100644
@@ -346,8 +346,9 @@ int __ofono_sms_sim_download(struct ofono_stk *stk, const struct sms *msg,
 
 #include <ofono/ssn.h>
 
-typedef void (*ofono_ssn_mo_notify_cb)(int index, void *user);
-typedef void (*ofono_ssn_mt_notify_cb)(int index,
+typedef void (*ofono_ssn_mo_notify_cb)(unsigned int id, int code1, int index,
+					void *user);
+typedef void (*ofono_ssn_mt_notify_cb)(unsigned int id, int code2, int index,
 					const struct ofono_phone_number *ph,
 					void *user);
 
src/ssn.c +5 -4
index ee48fba..383114c 100644
@@ -111,7 +111,8 @@ gboolean __ofono_ssn_mt_watch_remove(struct ofono_ssn *ssn, unsigned int id)
 	return __ofono_watchlist_remove_item(ssn->mt_handler_list, id);
 }
 
-void ofono_ssn_mo_notify(struct ofono_ssn *ssn, int code1, int index)
+void ofono_ssn_mo_notify(struct ofono_ssn *ssn, unsigned int id,
+				int code1, int index)
 {
 	struct ssn_handler *h;
 	GSList *l;
@@ -122,12 +123,12 @@ void ofono_ssn_mo_notify(struct ofono_ssn *ssn, int code1, int index)
 		notify = h->item.notify;
 
 		if (h->code == code1)
-			notify(index, h->item.notify_data);
+			notify(id, code1, index, h->item.notify_data);
 	}
 }
 
-void ofono_ssn_mt_notify(struct ofono_ssn *ssn, int code2, int index,
-				const struct ofono_phone_number *ph)
+void ofono_ssn_mt_notify(struct ofono_ssn *ssn, unsigned int id, int code2,
+				int index, const struct ofono_phone_number *ph)
 {
 	struct ssn_handler *h;
 	GSList *l;

src/ssn.c void ofono_ssn_mt_notify(struct ofono_ssn *ssn, int code2, int index, · line 145

Quoted 8 lines
src/ssn.c +1 -1
@@ -138,7 +139,7 @@ void ofono_ssn_mt_notify(struct ofono_ssn *ssn, int code2, int index,
 		notify = h->item.notify;
 
 		if (h->code == code2)
-			notify(index, ph, h->item.notify_data);
+			notify(id, code2, index, ph, h->item.notify_data);
 	}
 }
 

Regards,
-Denis

#4 lore raw

RFC PATCH 3/3 voicecall: add SSN notifications handling

In reply to Andras Domokos
---
 include/types.h |    2 +
 src/voicecall.c |  240 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 239 insertions(+), 3 deletions(-)
include/types.h +2 -0
index d25f409..b639c8a 100644
@@ -96,6 +96,8 @@ struct ofono_call {
 	char name[OFONO_MAX_CALLER_NAME_LENGTH + 1];
 	int clip_validity;
 	int cnap_validity;
+	ofono_bool_t remote_held;
+	ofono_bool_t remote_multiparty;
 };
 
 struct ofono_network_time {
src/voicecall.c +237 -3

294 lines not on this page · raw message

Signature · 1 line
1.7.0.4
#5 lore raw

Setting PDP mode

In reply to Andras Domokos

Hi,

It's possible to set the pdp mode through ofono ? I need to set the pdp mode to auto, ip and ppp,

What are the dbus interface and properties to use ?

regs

#6 lore raw

RE: Setting PDP mode

Quoted 6 lines

Hi,

It's possible to set the pdp mode through ofono ? I need to set the pdp mode to auto, ip and ppp,

What are the dbus interface and properties to use ?

Hi,

You should have a look at doc/connman-api.txt.

In the org.ofono.ConnectionContext interface, there is a 'Protocol' properties.

But I am not so familiar with oFono yet, and it seems that only IP is supported. IPv6 works seems in progress.

And from what I could have seen in the sources, oFono only 'discuss' with modem making IP data call. For PPP, oFono use its own PPP stack.

So to conclude, I don't think that you can change the PDP mode, but I hope that someone with a biggest background, which should be very easy to found, will give us some more detailed info.

Regards,

Bertrand.
---------------------------------------------------------------------
Intel Corporation SAS (French simplified joint stock company) Registered headquarters: "Les Montalets"- 2, rue de Paris, 92196 Meudon Cedex, France
Registration Number: 302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.

#7 lore raw

Re: Setting PDP mode

In reply to claudio

Hi claudio,

Quoted 5 lines · claudio

Hi,

It's possible to set the pdp mode through ofono ? I need to set the pdp mode to auto, ip and ppp,

I'm not sure what you mean by 'auto' pdp mode.

The protocol selection (IP, IPv6 or dual stack IPv4 & IPv6 combined) is currently work in progress, but we support IP contexts already. Refer to the Protocol property of ConnectionContext interface in doc/connman-api.txt

oFono does not allow you to select the actual protocol used to talk to the modem (e.g. PPP, high-speed, or some vendor specific) for gprs contexts. In fact it does not even care itself. It is up to the modem driver to figure out the best protocol for that particular modem.

Quoted 3 lines

What are the dbus interface and properties to use ?

Refer to doc/connman-api.txt

Regards,
-Denis

#8 lore raw

RE: Setting PDP mode

Hi Denis,

Quoted 3 lines

The protocol selection (IP, IPv6 or dual stack IPv4 & IPv6 combined) is
currently work in progress, but we support IP contexts already.

If by "work in progress" you're referring to my IPv6 patches, the progress is pretty much stalled due to lack of response from you or Marcel for a couple of months now. Are you planning to review and/or push the patches or not? The next time I will send a patch, it will be to remove the work item from the TODO list due to lack of interest from maintainers.

Quoted 5 lines

oFono does not allow you to select the actual protocol used to talk to the modem (e.g. PPP, high-speed, or some vendor specific) for gprs contexts. In fact it does not even care itself. It is up to the modem
driver to figure out the best protocol for that particular modem.

Just FYI, PPP is a valid PDP context type, where the PPP protocol terminates on the network side instead of in the modem. AFAIK, this configuration is not widely supported by cellular operators, though.

MikaL

#9 lore raw

Re: Setting PDP mode

Hi Mika,

Quoted 8 lines · Mika.Liljeberg(a)nokia.com

Hi Denis,

Quoted 3 lines

The protocol selection (IP, IPv6 or dual stack IPv4 & IPv6 combined) is
currently work in progress, but we support IP contexts already.

If by "work in progress" you're referring to my IPv6 patches, the progress is pretty much stalled due to lack of response from you or Marcel for a couple of months now. Are you planning to review and/or push the patches or not? The next time I will send a patch, it will be to remove the work item from the TODO list due to lack of interest from maintainers.

I would not describe it as a lack of interest. There were simply higher priority items and I wanted to discuss this with Samuel first anyway. I have reworked your IPv6 patches and the API 'slightly' and just now waiting on Marcel to cut a new release to push them.

Quoted 8 lines
Quoted 5 lines

oFono does not allow you to select the actual protocol used to talk to the modem (e.g. PPP, high-speed, or some vendor specific) for gprs contexts. In fact it does not even care itself. It is up to the modem
driver to figure out the best protocol for that particular modem.

Just FYI, PPP is a valid PDP context type, where the PPP protocol terminates on the network side instead of in the modem. AFAIK, this configuration is not widely supported by cellular operators, though.

Fair enough, that makes sense now that you mention it.

Regards,
-Denis

#10 lore raw

RE: Setting PDP mode

Hi Denis,

Quoted 6 lines

I would not describe it as a lack of interest. There were simply higher
priority items and I wanted to discuss this with Samuel first anyway. I
have reworked your IPv6 patches and the API 'slightly' and just now waiting on Marcel to cut a new release to push them.

IMHO, two months with no acknowledgement whatsoever is a bit excessive no matter which way you look at it. Anyway, good to hear the patches are not disappearing into a black hole.

Br,

MikaL