Hi Denis,

On Mon, Feb 7, 2011 at 8:46 PM, Denis Kenzior <denk...@gmail.com> wrote:

> Hi Andre,
>
> > @@ -1350,11 +1351,12 @@ static DBusMessage
> *manager_transfer(DBusConnection *conn,
> >        * implementing the call transfer operation for a call that is
> >        * still dialing/alerting.
> >        */
> > -     numactive += voicecalls_num_connecting(vc);
> > +     numconn = voicecalls_num_connecting(vc);
> >
> >       numheld = voicecalls_num_held(vc);
> >
> > -     if ((numactive != 1) && (numheld != 1))
>
> I don't get it, isn't the above condition taking care of this already?
> Its been a while but the precondition of ECT is:
>
> Held Call
> Outgoing or an Active call.  You cannot have an Outgoing and an Active
> call at the same time.  Hence numactive == 1 && numheld == 1 should work
> just fine.
>

What you wrote is correct. transfer works when it supposed to work.

The changes i did takes care of the negative cases.
This means calling transfer should fail if we have:
multiparty call active and one held call
one active call and one held multiparty call
only one active call
only one held call
etc...


>
> > +     if ((numactive > 1 || numheld > 1) ||
>
this checks if there is multiparty

> +             ((numheld + numactive + numconn) != 2))
>
this makes sure we have the the two call necessary for a transfer.

>               return __ofono_error_failed(msg);
> >
> >       if (vc->driver->transfer == NULL)
>
> Regards,
> -Denis
>


With my change oFono doesn't send unnecessary queries to the modem.

Best regards,
André
_______________________________________________
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono

Reply via email to