[PATCH] stk: Handle more commands in proactive_command_handled_notify.
by Andrzej Zaborowski
---
src/stk.c | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/src/stk.c b/src/stk.c
index 54994df..359f8e4 100644
--- a/src/stk.c
+++ b/src/stk.c
@@ -822,6 +822,7 @@ static gboolean handle_command_send_sms(const struct stk_command *cmd,
return FALSE;
}
+/* Note: may be called from ofono_stk_proactive_command_handled_notify */
static gboolean handle_command_set_idle_text(const struct stk_command *cmd,
struct stk_response *rsp,
struct ofono_stk *stk)
@@ -1041,6 +1042,7 @@ static gboolean handle_command_poll_interval(const struct stk_command *cmd,
return TRUE;
}
+/* Note: may be called from ofono_stk_proactive_command_handled_notify */
static gboolean handle_command_set_up_menu(const struct stk_command *cmd,
struct stk_response *rsp,
struct ofono_stk *stk)
@@ -2407,6 +2409,7 @@ void ofono_stk_proactive_command_handled_notify(struct ofono_stk *stk,
const unsigned char *pdu)
{
struct stk_command *cmd;
+ struct stk_response dummyrsp;
stk_proactive_command_cancel(stk);
@@ -2431,6 +2434,30 @@ void ofono_stk_proactive_command_handled_notify(struct ofono_stk *stk,
&cmd->send_sms.text_attr,
&cmd->send_sms.icon_id);
break;
+
+ case STK_COMMAND_TYPE_SETUP_IDLE_MODE_TEXT:
+ handle_command_set_idle_text(cmd, &dummyrsp, stk);
+ break;
+
+ case STK_COMMAND_TYPE_SETUP_MENU:
+ handle_command_set_up_menu(cmd, &dummyrsp, stk);
+ break;
+
+ case STK_COMMAND_TYPE_SETUP_CALL:
+ /* TODO */
+ break;
+
+ case STK_COMMAND_TYPE_SEND_USSD:
+ stk_alpha_id_set(stk, cmd->send_ussd.alpha_id,
+ &cmd->send_ussd.text_attr,
+ &cmd->send_ussd.icon_id);
+ break;
+
+ case STK_COMMAND_TYPE_SEND_DTMF:
+ stk_alpha_id_set(stk, cmd->send_dtmf.alpha_id,
+ &cmd->send_dtmf.text_attr,
+ &cmd->send_dtmf.icon_id);
+ break;
}
stk_command_free(cmd);
--
1.7.1.86.g0e460.dirty
11 years, 8 months
[P-CSCF PATCH 1/8] atmodem: add p-cscf parameters into context_up cb
by Pekka.Pessi@nokia.com
From: Pekka Pessi <Pekka.Pessi(a)nokia.com>
---
drivers/atmodem/gprs-context.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/atmodem/gprs-context.c b/drivers/atmodem/gprs-context.c
index 03c6f46..11551e4 100644
--- a/drivers/atmodem/gprs-context.c
+++ b/drivers/atmodem/gprs-context.c
@@ -95,7 +95,7 @@ static void ppp_connect(const char *interface, const char *local,
gcd->state = STATE_ACTIVE;
CALLBACK_WITH_SUCCESS(gcd->up_cb, interface, TRUE, local,
STATIC_IP_NETMASK, NULL,
- dns, gcd->cb_data);
+ dns, NULL, gcd->cb_data);
}
static void ppp_disconnect(GAtPPPDisconnectReason reason, gpointer user_data)
@@ -111,7 +111,7 @@ static void ppp_disconnect(GAtPPPDisconnectReason reason, gpointer user_data)
switch (gcd->state) {
case STATE_ENABLING:
CALLBACK_WITH_FAILURE(gcd->up_cb, NULL, FALSE, NULL,
- NULL, NULL, NULL, gcd->cb_data);
+ NULL, NULL, NULL, NULL, gcd->cb_data);
break;
case STATE_DISABLING:
CALLBACK_WITH_SUCCESS(gcd->down_cb, gcd->cb_data);
@@ -181,7 +181,7 @@ static void at_cgdata_cb(gboolean ok, GAtResult *result, gpointer user_data)
gcd->state = STATE_IDLE;
decode_at_error(&error, g_at_result_final_response(result));
- gcd->up_cb(&error, NULL, 0, NULL, NULL, NULL, NULL,
+ gcd->up_cb(&error, NULL, 0, NULL, NULL, NULL, NULL, NULL,
gcd->cb_data);
return;
}
@@ -204,7 +204,7 @@ static void at_cgdcont_cb(gboolean ok, GAtResult *result, gpointer user_data)
gcd->state = STATE_IDLE;
decode_at_error(&error, g_at_result_final_response(result));
- gcd->up_cb(&error, NULL, 0, NULL, NULL, NULL, NULL,
+ gcd->up_cb(&error, NULL, 0, NULL, NULL, NULL, NULL, NULL,
gcd->cb_data);
return;
}
@@ -217,7 +217,7 @@ static void at_cgdcont_cb(gboolean ok, GAtResult *result, gpointer user_data)
gcd->active_context = 0;
gcd->state = STATE_IDLE;
- CALLBACK_WITH_FAILURE(gcd->up_cb, NULL, 0, NULL, NULL, NULL, NULL,
+ CALLBACK_WITH_FAILURE(gcd->up_cb, NULL, 0, NULL, NULL, NULL, NULL, NULL,
gcd->cb_data);
}
@@ -249,7 +249,7 @@ static void at_gprs_activate_primary(struct ofono_gprs_context *gc,
at_cgdcont_cb, gc, NULL) > 0)
return;
- CALLBACK_WITH_FAILURE(cb, NULL, 0, NULL, NULL, NULL, NULL, data);
+ CALLBACK_WITH_FAILURE(cb, NULL, 0, NULL, NULL, NULL, NULL, NULL, data);
}
static void at_gprs_deactivate_primary(struct ofono_gprs_context *gc,
--
1.7.1
11 years, 8 months
[PATCH] Add CDMA/EVDO tasks in TODO
by Zhang Caiwen
---
TODO | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/TODO b/TODO
index 239bab0..efb2bff 100644
--- a/TODO
+++ b/TODO
@@ -543,3 +543,60 @@ Miscellaneous
Priority: Low
Complexity: C4
+
+
+CDMA/EVDO
+=========
+
+- Extend modem interface with a 'Mode' property to indicate the modem type.
+
+ Priority: High
+ Complexity: C1
+
+- Extend radio setting,add CDMA radio access technology support. The CDMA modem
+ preferred technology can be CDMA, HDR or CDMA/HDR hybrid.
+
+ Priority: Medium
+ Complexity: C1
+ Owner: Zhang Caiwen <caiwen.zhang(a)windriver.com>
+
+- Add CDMA Network registration support. CDMA device will register to network
+ automaticlly. Unlike GSM,it don't support manually register to network.So its
+ mainly function is to get CDMA network information. The information include:
+ registration status, service domain, CDMA 1x signal strength, HDR signal
+ strength, MCC, MNC, SID, NID etc.
+
+ Priority: Medium
+ Complexity: C1
+ Owner: Zhang Caiwen <caiwen.zhang(a)windriver.com>
+
+- Add UIM support. UIM support change pin, enter pin, reset pin, set pin lock,
+ get pin lock setting, get pin remain retry time, and get information that
+ stored in UIM, include MCC/MNC, ruimid, IMSI,MDN, PRL version etc.
+
+ Priority: High
+ Complexity: C4
+ Owner: Zhang Caiwen <caiwen.zhang(a)windriver.com>
+
+- Add CDMA voice call support. CDMA voice call will support originate/end/hold
+ a call,transfer a call, 3WC(three-way calling), conference call and DTMF. For
+ a voice call, can get its status, CLI and ending result(if it is end).
+
+ Priority: High
+ Complexity: C6
+ Owner: Zhang Zhengguang <zhengguang.Zhang(a)windriver.com>
+
+- Add CDMA Data connection support. CDMA data connection manager support
+ start/end a data connect according to the settings from other module(upper
+ layer or ConnMan).
+
+ Priority: High
+ Complexity: C4
+ Owner: Zhang Caiwen <caiwen.zhang(a)windriver.com>
+
+- Add SIM/UIM data access support. Add a card atom, it will support read/update/
+ delete/add conatact add SMS in SIM/UIM card.
+
+ Priority: High
+ Complexity: C6
+
--
1.7.0.4
11 years, 8 months
[PATCH] gprs-context: add IMS connection type
by Pekka.Pessi@nokia.com
From: Pekka Pessi <Pekka.Pessi(a)nokia.com>
---
include/gprs-context.h | 1 +
src/gprs.c | 6 ++++++
2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/include/gprs-context.h b/include/gprs-context.h
index 19abf33..f796e2d 100644
--- a/include/gprs-context.h
+++ b/include/gprs-context.h
@@ -44,6 +44,7 @@ enum ofono_gprs_context_type {
OFONO_GPRS_CONTEXT_TYPE_INTERNET,
OFONO_GPRS_CONTEXT_TYPE_MMS,
OFONO_GPRS_CONTEXT_TYPE_WAP,
+ OFONO_GPRS_CONTEXT_TYPE_IMS,
};
struct ofono_gprs_primary_context {
diff --git a/src/gprs.c b/src/gprs.c
index 1c8ab50..222a52d 100644
--- a/src/gprs.c
+++ b/src/gprs.c
@@ -128,6 +128,8 @@ static const char *gprs_context_type_to_default_name(enum ofono_gprs_context_typ
return "MMS";
case OFONO_GPRS_CONTEXT_TYPE_WAP:
return "WAP";
+ case OFONO_GPRS_CONTEXT_TYPE_IMS:
+ return "IMS";
}
return NULL;
@@ -144,6 +146,8 @@ static const char *gprs_context_type_to_string(enum ofono_gprs_context_type type
return "mms";
case OFONO_GPRS_CONTEXT_TYPE_WAP:
return "wap";
+ case OFONO_GPRS_CONTEXT_TYPE_IMS:
+ return "ims";
}
return NULL;
@@ -157,6 +161,8 @@ static enum ofono_gprs_context_type gprs_context_string_to_type(const char *str)
return OFONO_GPRS_CONTEXT_TYPE_WAP;
else if (g_str_equal(str, "mms"))
return OFONO_GPRS_CONTEXT_TYPE_MMS;
+ else if (g_str_equal(str, "ims"))
+ return OFONO_GPRS_CONTEXT_TYPE_IMS;
return OFONO_GPRS_CONTEXT_TYPE_INVALID;
}
--
1.7.1
11 years, 8 months
[PATCH] Document ims connection type
by Pekka.Pessi@nokia.com
From: Pekka Pessi <Pekka.Pessi(a)nokia.com>
---
doc/connman-api.txt | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/doc/connman-api.txt b/doc/connman-api.txt
index 9fe620f..dc94a89 100644
--- a/doc/connman-api.txt
+++ b/doc/connman-api.txt
@@ -155,6 +155,7 @@ Properties boolean Active [readwrite]
"internet" - General internet connectivity
"mms" - Used by MMS related services
"wap" - Used by WAP related services
+ "ims" - Used by IMS related services
string Username [readwrite]
--
1.7.1
11 years, 8 months
Re: modem atom api change request for support GSM&CDMA dual mode
by Rajesh.Nagaiah@elektrobit.com
Hi Caiwen,
>Zhang, Caiwen to ofono
>
>Hi all,
>
>Considering support GSM + CDMA dual mode, it is necessary to let upper
layer to
>know the type of the modem currently in use. My proposed solution is
add a
>property 'Type' in modem atom to indicate it. The following is the
definition
>of the property:
>
>string Type [readonly]
>
>Type of the modem. The possible values are:
> "gsm" - the modem is a GSM modem
> "cdma" - the modem is a CDMA modem
> "unknown" - the modem is neither a GSM modem nor
> a CDMA modem
As there are also Multimode modems(both GSM and CDMA), Property name
Type would be misleading.
string ModemAccessTechnology [readonly]
Current Access Technology of the Modem.
The Possible values are:
"gsm" - the current modem access technology is GSM
"cdma" - the current modem access technology is CDMA
BR,
Rajesh
11 years, 8 months
[PATCH] voicecall: Limit tone string length per request.
by Andrzej Zaborowski
Also change to avoid memcpying into a buffer.
---
src/voicecall.c | 17 ++++++++++-------
1 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/src/voicecall.c b/src/voicecall.c
index 26cfb9a..bd64432 100644
--- a/src/voicecall.c
+++ b/src/voicecall.c
@@ -2472,7 +2472,7 @@ static gboolean tone_request_run(gpointer user_data)
{
struct ofono_voicecall *vc = user_data;
struct tone_queue_entry *entry = g_queue_peek_head(vc->toneq);
- char buf[256];
+ char final;
unsigned len;
vc->tone_source = 0;
@@ -2483,14 +2483,17 @@ static gboolean tone_request_run(gpointer user_data)
len = strcspn(entry->left, "pP");
if (len) {
- if (len >= sizeof(buf))
- len = sizeof(buf) - 1;
+ if (len > 8) /* Arbitrary length limit per request */
+ len = 8;
- memcpy(buf, entry->left, len);
- buf[len] = '\0';
- entry->left += len;
+ /* Temporarily move the end of the string */
+ final = entry->left[len];
+ entry->left[len] = '\0';
+
+ vc->driver->send_tones(vc, entry->left, tone_request_cb, vc);
- vc->driver->send_tones(vc, buf, tone_request_cb, vc);
+ entry->left += len;
+ entry->left[0] = final;
} else
tone_request_cb(NULL, vc);
--
1.7.1.86.g0e460.dirty
11 years, 8 months
Call counters proposal (TODO patch)
by Andras Domokos
I am proposing adding Call counters to Voicecall. Here is the TODO patch:
diff --git a/TODO b/TODO
index d9a6580..89e180c 100644
--- a/TODO
+++ b/TODO
@@ -329,6 +329,15 @@ Voicecall
Complexity: C2
Owner: Pekka Pessi <pekka.pessi(a)nokia.com>
+- Call counters. Provide total outgoing and incoming call duration
information.
+ Separate call counters will be maintained for each SIM card. Call
counters
+ can be read and reset to 0, and must be backed up periodically to a
+ non-volatile storage place.
+
+ Priority: Medium
+ Complexity: C2
+ Owner: Andras Domokos <andras.domokos(a)nokia.com>
+
11 years, 8 months
[ANNOUNCE] oFono 0.33
by Denis Kenzior
Hi Everyone,
oFono 0.33 is out. This release is mostly a mixed development and bug
fix release. The main new features are Fixed Dialing support and Send
DTMF support. Another major feature is GPRS support on Infineon modems.
ChangeLog:
- Fix wrong string to enum mapping of radio settings.
- Fix issue with MMI code to bearer class mappings.
- Fix issue with setting correct phase from EFphase.
- Fix issue with phonebook handling and Infineon modems.
- Fix issue with STK session end handling and Infineon modems.
- Fix issue with SMS handling and ISI modems.
- Fix issue with setting SCA type and ISI modems.
- Add support for FastDormancy property.
- Add support for FixedDialing property to indicate FDN.
- Add support for Infineon specific M-RAW_IP GPRS context.
- Add support for handling Send DTMF proactive command.
- Add support for handling SIM Toolkit text attributes.
The signed tarballs for oFono 0.33 can be found on kernel.org [1] [2].
[1] http://www.kernel.org/pub/linux/network/ofono/ofono-0.33.tar.bz2
[2] http://www.kernel.org/pub/linux/network/ofono/ofono-0.33.tar.bz2.sign
11 years, 8 months
[PATCH 0/6] radio settings: fast dormancy support
by Mika Liljeberg
Hi All,
Here's another go at fast dormancy. I hope I managed to address
the concerns about the previous patch set. A driver implementation
for isimodem is now included.
Br,
MikaL
[PATCH 1/6] radio settings: add FastDormancy property
[PATCH 2/6] radio settings: document FastDormancy property
[PATCH 3/6] test: add scripts to enable and disable fast dormancy
[PATCH 4/6] isimodem: add support for FastDormancy property
[PATCH 5/6] TODO: mark fast dormancy as done
[PATCH 6/6] AUTHORS: add myself
AUTHORS | 1 +
Makefile.am | 4 +-
TODO | 20 ------
doc/features.txt | 8 ++
doc/radio-settings-api.txt | 59 +++++++++++-----
drivers/isimodem/radio-settings.c | 91 +++++++++++++++++++++++++-
include/radio-settings.h | 11 +++
src/radio-settings.c | 134 +++++++++++++++++++++++++++++++++---
test/disable-fast-dormancy | 20 ++++++
test/enable-fast-dormancy | 20 ++++++
10 files changed, 316 insertions(+), 52 deletions(-)
11 years, 8 months