From: Andre Carvalho de Matos <andre.carvalho.ma...@stericsson.com> transfer method should fail if you have a multiparty call, according to 22.091 section 8.11 --- src/voicecall.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/voicecall.c b/src/voicecall.c index f3f6a9b..f959f55 100644 --- a/src/voicecall.c +++ b/src/voicecall.c @@ -1339,6 +1339,7 @@ static DBusMessage *manager_transfer(DBusConnection *conn, struct ofono_voicecall *vc = data; int numactive; int numheld; + int numconn; if (vc->pending) return __ofono_error_busy(msg); @@ -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)) + if ((numactive > 1 || numheld > 1) || + ((numheld + numactive + numconn) != 2)) return __ofono_error_failed(msg); if (vc->driver->transfer == NULL) -- 1.7.0.4 _______________________________________________ ofono mailing list ofono@ofono.org http://lists.ofono.org/listinfo/ofono