Hi Frédéric,
On 04/13/2011 11:05 AM, Frédéric Danis wrote:
> ---
> src/emulator.c | 89 +++++++++++++++++++++++++++++++++++++++++++++++--------
> 1 files changed, 76 insertions(+), 13 deletions(-)
>
Patch has been applied, thanks. One thing you need to watch out for though:
> + /*
> + * Ring timer should be started when callsetup indicator is set to
> + * Incoming
> + * If there is no active call, a first RING should be sent just after
> + * the +CIEV
> + * It should be stopped for all other values of callsetup
> + */
> + if (g_str_equal(name, OFONO_EMULATOR_IND_CALLSETUP) == FALSE)
> return;
> +
> + if (value == OFONO_EMULATOR_CALLSETUP_INCOMING) {
> + if (call_ind->value == OFONO_EMULATOR_CALL_INACTIVE)
> + send_callsetup_notification(em);
> +
> + em->callsetup_source = g_timeout_add_seconds(RING_TIMEOUT,
> + send_callsetup_notification, em);
> + } else if (value != OFONO_EMULATOR_CALLSETUP_INCOMING &&
> + em->callsetup_source) {
> + g_source_remove(em->callsetup_source);
> + em->callsetup_source = 0;
It is quite possible for the following situation to occur:
Initial State:
Active Call A + Waiting Call B
User dials another number C
Which results in:
Held call A, Waiting call B and Dialing call C. This case is not
covered by the original spec, so you might need to be extra pedantic on
when you remove the callsetup_source.
> }
> }
Regards,
-Denis
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono