]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix parked call performing a DTMF blind transfer after being retrieved.
authorRichard Mudgett <rmudgett@digium.com>
Wed, 6 Jun 2012 01:11:12 +0000 (01:11 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Wed, 6 Jun 2012 01:11:12 +0000 (01:11 +0000)
When a parked call was retrieved from the parking lot, it could not do a
blind transfer because it caused the involved calls to be hung up
unconditionally.

* Made the ParkedCall application return the ast_bridge_call() return
value.

(closes issue ABE-2862)
Reported by: Vlad Povorozniuc
........

Merged revisions 368567 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 368568 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@368569 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/features.c

index dd635771388bcb24b2e3c2b1e0815ec24fc648dd..37d86086acface6af1d1e415a0f55b80c60d68e3 100644 (file)
@@ -5353,7 +5353,7 @@ static int park_call_exec(struct ast_channel *chan, const char *data)
 /*! \brief Pickup parked call */
 static int parked_call_exec(struct ast_channel *chan, const char *data)
 {
-       int res = 0;
+       int res;
        struct ast_channel *peer = NULL;
        struct parkeduser *pu;
        struct ast_context *con;
@@ -5599,10 +5599,11 @@ static int parked_call_exec(struct ast_channel *chan, const char *data)
                }
                ast_verb(3, "Channel %s tried to retrieve nonexistent parked call %d\n",
                        ast_channel_name(chan), park);
+               res = -1;
        }
 
        parkinglot_unref(parkinglot);
-       return -1;
+       return res;
 }
 
 /*!