Re: [PATCH] Add voice call boolean property for MO/MT distinction
by Remi.Denis-Courmont@nokia.com
----- Message d'origine -----
> > * AT+CPBR and friends is hooked to the phonebook, which is Qt-based,
> and
> > therefore inadequate inside oFono.
>
> I am not buying into the AT+CPBR for the local and user specific
> phonebook. That one is inside Tracker anyway and also inside the user
> session. Trying to really support this is a broken idea. CPBR can not
> expose the information of modern contacts storage anyway, so just don't
> bother.
I can see how AT+CPBW could be problematic, more so than AT+CPBR. But that is not relevant. If a big enough customer wants it badly enough, it has to be done. I do not want to end up with an architecture that forbids satisfying some of my employer's potential major customers.
> If you really care about it then use Bluetooth PBAP via obexd which we
> have enabled already.
> > * At Nokia, we also have some non-standard commands for internal use.
> > * Some operators require some funky AT commands of their own. It might
> not be
> > possible to open-source them, even if we want to.
>
> And these should be on an engineering mode only USB CDC ACM interface
> with a different backend anyway.
I already mentioned that the same software must run in certification and in user's hands for "whole device" certification to be valid. But anyway, some of those commands were requested as DUN extensions, not as testing stuff. So no no no.
> Only because someone wants to shoehorn this into something nasty,
> doesn't mean we should do it. And I am not going to scarifies the
> simplicity of the oFono D-Bus API for this.
We are talking about the Originated boolean call property?!
--
Rémi
10 years, 1 month
Re: [PATCH] Add voice call boolean property for MO/MT distinction
by Remi.Denis-Courmont@nokia.com
----- Message d'origine -----
> do me a favor and try not to break the threading next time.
When I am away from my laptop, I use whatever MUA I can. This is obviously not deliberate a choice.
> I am getting a bit sick of this secrecy. oFono is for all intense and
> purposes open source.
And I am sick of arguing for something as simple and obvious as exposing the call direction in the calls list.
> So if you want a proper discussion here then
> please list the AT command in question.
Operator requirements are typically confidential. Since they are copyighted by their originator, not by me or my employer, I cannot fix that. Or rather, I can try (it is ongoing) but I cannot promise anything.
But this is only a side issue. We have a working AT commands DCE implementation that supports both cellular/oFono stuff and all the other that we need. Open-sourcing as much as we can is an ongoing process. I am not interested in rewriting that (and the BlueZ HFP code) into oFono just for the heck of it.
Furthermore providing some useful features (like call direction) only via a would-be oFono AT commands but not via the _preferred_ D-Bus interface seems silly and counter-productive to me.
--
Rémi
10 years, 1 month
Re: ConnectionContext creation for LTE PDN Connection.
by Remi.Denis-Courmont@nokia.com
----- Message d'origine -----
> why would bringing an interface up interfere? We are doing this right
> now. Just the IP assignment is done by ConnMan, but the interface
> up/down status is controlled by oFono or even BlueZ in case of
> Bluetooth.
Logically whoever sets the IP parameters should bring the interface administratively up. This is layer 3.
oFono does layer 2. It should either create/remove the interface and/or play with the dormant and/or carrier flags.
--
Rémi
10 years, 1 month
[PATCH] sim: fix issue in triggering EFest read
by Jeevaka Badrappan
---
src/sim.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/src/sim.c b/src/sim.c
index e5e304c..5a84833 100644
--- a/src/sim.c
+++ b/src/sim.c
@@ -1445,7 +1445,11 @@ static void sim_efust_read_cb(int ok, int length, int record,
* must be present if EFfdn or EFbdn are present
*/
if (sim_ust_is_available(sim->efust, sim->efust_length,
- SIM_UST_SERVICE_ENABLED_SERVICE_TABLE)) {
+ SIM_UST_SERVICE_ENABLED_SERVICE_TABLE) ||
+ sim_ust_is_available(sim->efust, sim->efust_length,
+ SIM_UST_SERVICE_FDN) ||
+ sim_ust_is_available(sim->efust, sim->efust_length,
+ SIM_UST_SERVICE_BDN)) {
ofono_sim_read(sim, SIM_EFEST_FILEID,
OFONO_SIM_FILE_STRUCTURE_TRANSPARENT,
sim_efest_read_cb, sim);
--
1.7.0.4
10 years, 1 month
[PATCH] sim: fix typo
by Gustavo F. Padovan
---
src/simapplication.cpp | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/simapplication.cpp b/src/simapplication.cpp
index 05ae21f..71bb81d 100644
--- a/src/simapplication.cpp
+++ b/src/simapplication.cpp
@@ -1111,7 +1111,7 @@ void DemoSimApplication::sendSendSSMenu()
items += item;
item.setIdentifier( SendSSMenu_CLIP );
- item.setLabel( "CLIP (Calling Line Idnetification Presentation)" );
+ item.setLabel( "CLIP (Calling Line Identification Presentation)" );
items += item;
item.setIdentifier( SendSSMenu_CLIR );
--
1.7.3.2
10 years, 1 month
[PATCH 0/4] Icon patches (rebased)
by Kristen Carlson Accardi
Rebased old patch. Found some errors that had been introduced into the
simfs code. Added file type to simutil, although I couldn't test it
on any real hardware.
Kristen Carlson Accardi (4):
simfs: cache images
sim: implement GetIcon
simfs: fix incorrect math when calculating length to copy
simutil: add file type for EFimg
src/sim.c | 187 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/simfs.c | 83 ++++++++++++++++++++++---
src/simfs.h | 4 +
src/simutil.c | 1 +
4 files changed, 266 insertions(+), 9 deletions(-)
--
1.7.2.1
10 years, 1 month
[PATCH 1/5] text-telephony: add public header
by Lucas De Marchi
---
Makefile.am | 3 +-
include/ctm.h | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 73 insertions(+), 1 deletions(-)
create mode 100644 include/ctm.h
diff --git a/Makefile.am b/Makefile.am
index f841b4c..2615be7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -13,7 +13,8 @@ include_HEADERS = include/log.h include/plugin.h include/history.h \
include/cbs.h include/call-volume.h \
include/gprs.h include/gprs-context.h \
include/radio-settings.h include/stk.h \
- include/audio-settings.h include/nettime.h
+ include/audio-settings.h include/nettime.h \
+ include/ctm.h
nodist_include_HEADERS = include/version.h
diff --git a/include/ctm.h b/include/ctm.h
new file mode 100644
index 0000000..4b07192
--- /dev/null
+++ b/include/ctm.h
@@ -0,0 +1,71 @@
+/*
+ *
+ * oFono - Open Source Telephony
+ *
+ * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * Copyright (C) 2010 Intel Corporation. All rights reserved.
+ *
+ * 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
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifndef __OFONO_CTM_H
+#define __OFONO_CTM_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <ofono/types.h>
+
+struct ofono_ctm;
+
+typedef void (*ofono_ctm_set_cb_t)(const struct ofono_error *error,
+ void *data);
+typedef void (*ofono_ctm_query_cb_t)(const struct ofono_error *error,
+ ofono_bool_t enable, void *data);
+
+struct ofono_ctm_driver {
+ const char *name;
+ int (*probe)(struct ofono_ctm *tt, unsigned int vendor,
+ void *data);
+ void (*remove)(struct ofono_ctm *tt);
+ void (*query_tty)(struct ofono_ctm *tt,
+ ofono_ctm_query_cb_t cb,
+ void *data);
+ void (*set_tty)(struct ofono_ctm *tt,
+ int enable,
+ ofono_ctm_set_cb_t cb,
+ void *data);
+};
+
+int ofono_ctm_driver_register(const struct ofono_ctm_driver *d);
+void ofono_ctm_driver_unregister(const struct ofono_ctm_driver *d);
+
+struct ofono_ctm *ofono_ctm_create(struct ofono_modem *modem,
+ unsigned int vendor,
+ const char *driver,
+ void *data);
+
+void ofono_ctm_register(struct ofono_ctm *tt);
+void ofono_ctm_remove(struct ofono_ctm *tt);
+
+void ofono_ctm_set_data(struct ofono_ctm *tt, void *data);
+void *ofono_ctm_get_data(struct ofono_ctm *tt);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __OFONO_TEXT_TELEPHONY_H */
--
1.7.3.2
10 years, 1 month
[PATCH] Mark ofono/*.h symbolink links as built sources
by Rémi Denis-Courmont
This forces automake/make to build them first if needed (as before).
But it avoids marking every single header as a dependency of every
single object. Thus we do not need a bogus full rebuild of the tree
everytime a header is added.
---
Makefile.am | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index a4c47e8..ee7949d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -326,7 +326,8 @@ src_ofonod_LDADD = $(builtin_libadd) @GLIB_LIBS@ @DBUS_LIBS@ @CAPNG_LIBS@ -ldl
src_ofonod_LDFLAGS = -Wl,--export-dynamic \
-Wl,--version-script=$(srcdir)/src/ofono.ver
-CLEANFILES = src/builtin.h $(local_headers) $(rules_DATA)
+BUILT_SOURCES = $(local_headers)
+CLEANFILES = src/builtin.h $(BUILT_SOURCES) $(rules_DATA)
plugindir = $(libdir)/ofono/plugins
@@ -512,8 +513,6 @@ src/builtin.h: src/genbuiltin $(builtin_sources)
plugins/%.rules:
$(AM_V_GEN)cp $(srcdir)/$(subst 97-,,$@) $@
-$(src_ofonod_OBJECTS) $(unit_objects): $(local_headers)
-
include/ofono/version.h: include/version.h
$(AM_V_at)$(MKDIR_P) include/ofono
$(AM_V_GEN)$(LN_S) $(abs_top_builddir)/$< $@
--
1.7.1
10 years, 1 month
[PATCH 0/3] Patch Description
by Yang Gu
This series of patch is to add provide local info support by requesting the terminal to send time and language info. Please comment on the following aspects as I'm not sure after reading the spec:
1. Timezone may be a number in the range -47 through +48. In struct sms_scts, timezone is defined as gint8, thus 0xFF should shand for -1, which is a valid input. Thus I think build_dataobj_datetime_timezone() in src/stkutil.c is not correct. But I'm still not sure what value should be passed to oFono when timezone is absent.
2. DBUS_TYPE_BYTE represents an 8-bit unsigned integer, and D-Bus doesn't have a type related to 8-bit signed integer. So what's the best way to represent a timezone?
3. Only one byte is used to represent the year. Is the following logic correct to get the year with one byte?
if (year_dbus >= 2000)
year = year_dbus - 2000;
else
year = year_dbus - 1900;
Yang Gu (3):
network: Use bit as size instead of byte
stk: Handle provide local info proactive command
test-stk: Add provide local info
src/network.c | 4 +-
src/smsutil.c | 6 +-
src/stk.c | 113 ++++++++++++++++++++++++++++++++++++++
src/stkagent.c | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++++
src/stkagent.h | 14 +++++
src/stkutil.c | 2 +-
test/test-stk-menu | 36 ++++++++++++
7 files changed, 322 insertions(+), 6 deletions(-)
--
1.7.2.3
10 years, 1 month
[PATCH 1/3] Remove stray newlines in DBG and ofono log messages
by Rémi Denis-Courmont
---
drivers/isimodem/call-barring.c | 10 +++++-----
drivers/isimodem/call-forwarding.c | 8 ++++----
drivers/isimodem/call-settings.c | 8 ++++----
drivers/isimodem/cbs.c | 2 +-
drivers/isimodem/sms.c | 2 +-
drivers/stemodem/caif_rtnl.c | 2 +-
drivers/stemodem/gprs-context.c | 2 +-
plugins/isigen.c | 2 +-
src/gprs.c | 2 +-
src/sim.c | 2 +-
src/voicecall.c | 4 ++--
11 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/drivers/isimodem/call-barring.c b/drivers/isimodem/call-barring.c
index 2a982f9..7cdd218 100644
--- a/drivers/isimodem/call-barring.c
+++ b/drivers/isimodem/call-barring.c
@@ -125,7 +125,7 @@ static void isi_set(struct ofono_call_barring *barr, const char *lock,
0, 0 /* Filler */
};
- DBG("lock code %s enable %d class %d password %s\n",
+ DBG("lock code %s enable %d class %d password %s",
lock, enable, cls, passwd);
if (!cbd || !bd)
@@ -177,7 +177,7 @@ static void update_status_mask(unsigned int *mask, int bsc)
break;
default:
- DBG("Unknown BSC: 0x%04X\n", bsc);
+ DBG("Unknown BSC: 0x%04X", bsc);
break;
}
}
@@ -244,7 +244,7 @@ static gboolean query_resp_cb(GIsiClient *client,
}
}
- DBG("mask=0x%04X\n", mask);
+ DBG("mask=0x%04X", mask);
CALLBACK_WITH_SUCCESS(cb, mask, cbd->data);
goto out;
@@ -273,7 +273,7 @@ static void isi_query(struct ofono_call_barring *barr, const char *lock,
0 /* Subblock count */
};
- DBG("barring query lock code %s\n", lock);
+ DBG("barring query lock code %s", lock);
if (!cbd || !bd)
goto error;
@@ -343,7 +343,7 @@ static void isi_set_passwd(struct ofono_call_barring *barr, const char *lock,
0, 0 /* Filler */
};
- DBG("lock code %s (%u) old password %s new password %s\n",
+ DBG("lock code %s (%u) old password %s new password %s",
lock, ss_code, old_passwd, new_passwd);
if (!cbd || !bd)
diff --git a/drivers/isimodem/call-forwarding.c b/drivers/isimodem/call-forwarding.c
index 1448451..bb25ee7 100644
--- a/drivers/isimodem/call-forwarding.c
+++ b/drivers/isimodem/call-forwarding.c
@@ -70,7 +70,7 @@ static int forw_type_to_isi_code(int type)
ss_code = SS_GSM_ALL_COND_FORWARDINGS;
break;
default:
- DBG("Unknown forwarding type %d\n", type);
+ DBG("Unknown forwarding type %d", type);
ss_code = -1;
break;
}
@@ -227,7 +227,7 @@ static void isi_registration(struct ofono_call_forwarding *cf,
/* Followed by number in UCS-2, zero sub address bytes, and 0
* to 3 bytes of filler */
- DBG("forwarding type %d class %d\n", type, cls);
+ DBG("forwarding type %d class %d", type, cls);
if (!cbd || !fd || !number->number || strlen(number->number) > 28)
goto error;
@@ -347,7 +347,7 @@ static void isi_erasure(struct ofono_call_forwarding *cf, int type, int cls,
0 /* Subblock count */
};
- DBG("forwarding type %d class %d\n", type, cls);
+ DBG("forwarding type %d class %d", type, cls);
if (!cbd || !fd)
goto error;
@@ -479,7 +479,7 @@ static void isi_query(struct ofono_call_forwarding *cf, int type, int cls,
0 /* Subblock count */
};
- DBG("forwarding type %d class %d\n", type, cls);
+ DBG("forwarding type %d class %d", type, cls);
if (!cbd || !fd || cls != 7)
goto error;
diff --git a/drivers/isimodem/call-settings.c b/drivers/isimodem/call-settings.c
index c845d54..23c1982 100644
--- a/drivers/isimodem/call-settings.c
+++ b/drivers/isimodem/call-settings.c
@@ -84,7 +84,7 @@ static void update_status_mask(unsigned int *mask, int bsc)
break;
default:
- DBG("Unknown BSC value %d, please report\n", bsc);
+ DBG("Unknown BSC value %d, please report", bsc);
break;
}
}
@@ -146,7 +146,7 @@ static gboolean query_resp_cb(GIsiClient *client,
}
}
- DBG("status_mask %d\n", mask);
+ DBG("status_mask %d", mask);
CALLBACK_WITH_SUCCESS(cb, mask, cbd->data);
goto out;
@@ -175,7 +175,7 @@ static void isi_cw_query(struct ofono_call_settings *cs, int cls,
0 /* Subblock count */
};
- DBG("waiting class %d\n", cls);
+ DBG("waiting class %d", cls);
if (!cbd || !sd)
goto error;
@@ -266,7 +266,7 @@ static void isi_cw_set(struct ofono_call_settings *cs, int mode, int cls,
0 /* Subblock count */
};
- DBG("waiting mode %d class %d\n", mode, cls);
+ DBG("waiting mode %d class %d", mode, cls);
if (!cbd || !sd)
goto error;
diff --git a/drivers/isimodem/cbs.c b/drivers/isimodem/cbs.c
index dec8154..2a32720 100644
--- a/drivers/isimodem/cbs.c
+++ b/drivers/isimodem/cbs.c
@@ -104,7 +104,7 @@ static gboolean routing_resp_cb(GIsiClient *client,
"It appears some other component is "
"already\n registered as the CBS "
"routing endpoint.\n As a consequence, "
- "receiving CBSs is NOT going to work.\n\n",
+ "receiving CBSs is NOT going to work.\n",
msg[1], sms_isi_cause_name(msg[1]));
return TRUE;
}
diff --git a/drivers/isimodem/sms.c b/drivers/isimodem/sms.c
index 319eb54..e2c2533 100644
--- a/drivers/isimodem/sms.c
+++ b/drivers/isimodem/sms.c
@@ -524,7 +524,7 @@ static gboolean routing_resp_cb(GIsiClient *client,
"already\n registered as the SMS "
"routing endpoint.\n As a consequence, "
"receiving SMSs is NOT going to work.\n "
- "On the other hand, sending might work.\n\n",
+ "On the other hand, sending might work.\n",
msg[1], sms_isi_cause_name(msg[1]));
ofono_sms_register(sms);
}
diff --git a/drivers/stemodem/caif_rtnl.c b/drivers/stemodem/caif_rtnl.c
index 4c00446..c327d57 100644
--- a/drivers/stemodem/caif_rtnl.c
+++ b/drivers/stemodem/caif_rtnl.c
@@ -155,7 +155,7 @@ static int add_attribute(struct nlmsghdr *n, unsigned int maxlen, int type,
struct rtattr *rta;
if ((NLMSG_ALIGN(n->nlmsg_len) + RTA_ALIGN(len)) > maxlen) {
- DBG("attribute to large for message %d %d %d\n",
+ DBG("attribute to large for message %d %d %d",
n->nlmsg_len, len, maxlen);
return -1;
}
diff --git a/drivers/stemodem/gprs-context.c b/drivers/stemodem/gprs-context.c
index 05fec3f..1675cd8 100644
--- a/drivers/stemodem/gprs-context.c
+++ b/drivers/stemodem/gprs-context.c
@@ -130,7 +130,7 @@ static void text_handler(GMarkupParseContext *context,
static void error_handler(GMarkupParseContext *context,
GError *error, gpointer user_data)
{
- DBG("Error parsing xml response from eppsd: %s\n",
+ DBG("Error parsing xml response from eppsd: %s",
error->message);
}
diff --git a/plugins/isigen.c b/plugins/isigen.c
index fad4e20..3384e9f 100644
--- a/plugins/isigen.c
+++ b/plugins/isigen.c
@@ -290,7 +290,7 @@ static int isigen_probe(struct ofono_modem *modem)
if (address) {
int error = g_pn_netlink_set_address(idx, address);
if (error && error != -EEXIST) {
- DBG("g_pn_netlink_set_address: %s\n", strerror(-error));
+ DBG("g_pn_netlink_set_address: %s", strerror(-error));
g_pn_netlink_stop(link);
return -errno;
}
diff --git a/src/gprs.c b/src/gprs.c
index 3de3f2b..7e42a99 100644
--- a/src/gprs.c
+++ b/src/gprs.c
@@ -1730,7 +1730,7 @@ static DBusMessage *gprs_remove_context(DBusConnection *conn,
storage_sync(gprs->imsi, SETTINGS_STORE, gprs->settings);
}
- DBG("Unregistering context: %s\n", ctx->path);
+ DBG("Unregistering context: %s", ctx->path);
context_dbus_unregister(ctx);
gprs->contexts = g_slist_remove(gprs->contexts, ctx);
diff --git a/src/sim.c b/src/sim.c
index c4af079..bc7859c 100644
--- a/src/sim.c
+++ b/src/sim.c
@@ -1097,7 +1097,7 @@ static void sim_sdn_read_cb(int ok, int length, int record,
if (sim->service_numbers &&
g_slist_find_custom(sim->service_numbers,
alpha, service_number_compare)) {
- ofono_error("Duplicate EFsdn entries for `%s'\n",
+ ofono_error("Duplicate EFsdn entries for `%s'",
alpha);
g_free(alpha);
diff --git a/src/voicecall.c b/src/voicecall.c
index 045b492..874f958 100644
--- a/src/voicecall.c
+++ b/src/voicecall.c
@@ -1829,7 +1829,7 @@ void ofono_voicecall_notify(struct ofono_voicecall *vc,
call_compare_by_id);
if (l) {
- DBG("Found call with id: %d\n", call->id);
+ DBG("Found call with id: %d", call->id);
voicecall_set_call_status(l->data, call->status);
voicecall_set_call_lineid(l->data, &call->phone_number,
call->clip_validity);
@@ -1837,7 +1837,7 @@ void ofono_voicecall_notify(struct ofono_voicecall *vc,
return;
}
- DBG("Did not find a call with id: %d\n", call->id);
+ DBG("Did not find a call with id: %d", call->id);
__ofono_modem_callid_hold(modem, call->id);
--
1.7.1
10 years, 1 month