* [PATCH v2 1/2] stk: convert to phone number format and remove DTMF string
@ 2012-09-06 14:26 Philippe Nunes
2012-09-06 14:26 ` [PATCH v2 2/2] stk: AID shall not be displayed in case of self explanatory icon Philippe Nunes
2012-09-17 16:27 ` [PATCH v2 1/2] stk: convert to phone number format and remove DTMF string Denis Kenzior
0 siblings, 2 replies; 3+ messages in thread
From: Philippe Nunes @ 2012-09-06 14:26 UTC (permalink / raw)
To: ofono
[-- Attachment #1: Type: text/plain, Size: 3327 bytes --]
The dialing number provided by the Setup Call proactive command
may contain pause and DTMF characters.
---
src/stk.c | 58 +++++++++++++++++++++++++++++++++++++++++++---------------
1 file changed, 43 insertions(+), 15 deletions(-)
diff --git a/src/stk.c b/src/stk.c
index 19cb0eb..0a279bf 100644
--- a/src/stk.c
+++ b/src/stk.c
@@ -104,6 +104,27 @@ static void timers_update(struct ofono_stk *stk);
result.additional_len = sizeof(addn_info); \
result.additional = addn_info; \
+static gboolean convert_to_phone_number_format(const char *input_str,
+ char *output_str)
+{
+ char *digit;
+ char *digit_from = "01234567890abcABC";
+ char *digit_to = "01234567890*#p*#p";
+ int pos;
+
+ for (pos = 0; input_str[pos] != '\0'; pos++) {
+ digit = strchr(digit_from, input_str[pos]);
+ if (digit == NULL)
+ return FALSE;
+
+ output_str[pos] = digit_to[digit - digit_from];
+ }
+
+ output_str[pos] = '\0';
+
+ return TRUE;
+}
+
static int stk_respond(struct ofono_stk *stk, struct stk_response *rsp,
ofono_stk_generic_cb_t cb)
{
@@ -1715,6 +1736,8 @@ static void confirm_call_cb(enum stk_agent_result result, gboolean confirm,
char *alpha_id = NULL;
struct ofono_voicecall *vc;
struct stk_response rsp;
+ char number[256];
+ char *pause_chr;
int err;
switch (result) {
@@ -1752,7 +1775,20 @@ static void confirm_call_cb(enum stk_agent_result result, gboolean confirm,
}
}
- err = __ofono_voicecall_dial(vc, sc->addr.number, sc->addr.ton_npi,
+ /* Convert the setup call number to phone number format */
+ if (convert_to_phone_number_format(sc->addr.number, number) == FALSE) {
+ send_simple_response(stk, STK_RESULT_TYPE_DATA_NOT_UNDERSTOOD);
+ return;
+ }
+
+ /* Remove the DTMF string from the phone number */
+ pause_chr = strchr(number,'p');
+
+ if (pause_chr)
+ number[pause_chr - number] = '\0';
+
+ /* TODO: send the DTMF after call is connected */
+ err = __ofono_voicecall_dial(vc, number, sc->addr.ton_npi,
alpha_id, sc->icon_id_call_setup.id,
qualifier >> 1, call_setup_connected,
stk);
@@ -2353,10 +2389,8 @@ static gboolean handle_command_send_dtmf(const struct stk_command *cmd,
{
static unsigned char not_in_speech_call_result[] = { 0x07 };
struct ofono_voicecall *vc = NULL;
- char dtmf[256], *digit;
- char *dtmf_from = "01234567890abcABC";
- char *dtmf_to = "01234567890*#p*#p";
- int err, pos;
+ char dtmf[256];
+ int err;
vc = __ofono_atom_find(OFONO_ATOM_TYPE_VOICECALL,
__ofono_atom_get_modem(stk->atom));
@@ -2366,18 +2400,12 @@ static gboolean handle_command_send_dtmf(const struct stk_command *cmd,
}
/* Convert the DTMF string to phone number format */
- for (pos = 0; cmd->send_dtmf.dtmf[pos] != '\0'; pos++) {
- digit = strchr(dtmf_from, cmd->send_dtmf.dtmf[pos]);
- if (digit == NULL) {
- rsp->result.type = STK_RESULT_TYPE_DATA_NOT_UNDERSTOOD;
- return TRUE;
- }
-
- dtmf[pos] = dtmf_to[digit - dtmf_from];
+ if (convert_to_phone_number_format(cmd->send_dtmf.dtmf, dtmf) ==
+ FALSE) {
+ rsp->result.type = STK_RESULT_TYPE_DATA_NOT_UNDERSTOOD;
+ return TRUE;
}
- dtmf[pos] = '\0';
-
err = __ofono_voicecall_tone_send(vc, dtmf, dtmf_sent_cb, stk);
if (err == -ENOSYS) {
--
1.7.9.5
^ permalink raw reply related [flat|nested] 3+ messages in thread* [PATCH v2 2/2] stk: AID shall not be displayed in case of self explanatory icon
2012-09-06 14:26 [PATCH v2 1/2] stk: convert to phone number format and remove DTMF string Philippe Nunes
@ 2012-09-06 14:26 ` Philippe Nunes
2012-09-17 16:27 ` [PATCH v2 1/2] stk: convert to phone number format and remove DTMF string Denis Kenzior
1 sibling, 0 replies; 3+ messages in thread
From: Philippe Nunes @ 2012-09-06 14:26 UTC (permalink / raw)
To: ofono
[-- Attachment #1: Type: text/plain, Size: 844 bytes --]
---
src/stk.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/stk.c b/src/stk.c
index 0a279bf..87b8465 100644
--- a/src/stk.c
+++ b/src/stk.c
@@ -539,6 +539,18 @@ static gboolean stk_alpha_id_set(struct ofono_stk *stk,
if (stk->current_agent == NULL)
return FALSE;
+ /*
+ * According to 3GPP TS 102.223 section 8.31:
+ * If icon is self-explanatory, it replaces the alpha identifier or
+ * text string.
+ * If icon is not self-explanatory, it shall be displayed together
+ * with the alpha identifier or text string.
+ */
+
+ if (icon->id != 0 && icon->qualifier ==
+ STK_ICON_QUALIFIER_TYPE_SELF_EXPLANATORY)
+ alpha[0]='\0';
+
if (stk->respond_on_exit)
stk_agent_display_action(stk->current_agent, alpha, icon,
user_termination_cb, stk, NULL);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2 1/2] stk: convert to phone number format and remove DTMF string
2012-09-06 14:26 [PATCH v2 1/2] stk: convert to phone number format and remove DTMF string Philippe Nunes
2012-09-06 14:26 ` [PATCH v2 2/2] stk: AID shall not be displayed in case of self explanatory icon Philippe Nunes
@ 2012-09-17 16:27 ` Denis Kenzior
1 sibling, 0 replies; 3+ messages in thread
From: Denis Kenzior @ 2012-09-17 16:27 UTC (permalink / raw)
To: ofono
[-- Attachment #1: Type: text/plain, Size: 383 bytes --]
Hi Philippe,
On 09/06/2012 09:26 AM, Philippe Nunes wrote:
> The dialing number provided by the Setup Call proactive command
> may contain pause and DTMF characters.
> ---
> src/stk.c | 58 +++++++++++++++++++++++++++++++++++++++++++---------------
> 1 file changed, 43 insertions(+), 15 deletions(-)
>
Both patches have been applied, thanks.
Regards,
-Denis
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-09-17 16:27 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-06 14:26 [PATCH v2 1/2] stk: convert to phone number format and remove DTMF string Philippe Nunes
2012-09-06 14:26 ` [PATCH v2 2/2] stk: AID shall not be displayed in case of self explanatory icon Philippe Nunes
2012-09-17 16:27 ` [PATCH v2 1/2] stk: convert to phone number format and remove DTMF string Denis Kenzior
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.