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