dect
/
asterisk
Archived
13
0
Fork 0

Update the ParkedCall application to grab the first available parked call if no

parked extension is provided as an argument.

(closes issue #10803)
Reported by: outtolunc
Patches: 
      res_features-parkedcall-any.diff4 uploaded by outtolunc (license 237)
	  - modified by me to work a bit differently ...


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89250 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
russell 2007-11-13 20:30:13 +00:00
parent 07aef1fe20
commit bf19a71d3a
2 changed files with 9 additions and 10 deletions

View File

@ -255,6 +255,9 @@ Call Features (res_features) Changes
features.conf. This means that features can be written a single time, and
then mapped into groups of features for different key mappings or easier
access control.
* Updated the ParkedCall application to allow you to not specify a parking
extension. If you don't specify a parking space to pick up, it will grab
the first one available.
Language Support Changes
------------------------

View File

@ -138,7 +138,8 @@ static char *descrip = "ParkedCall(exten): "
"Used to connect to a parked call. This application is always\n"
"registered internally and does not need to be explicitly added\n"
"into the dialplan, although you should include the 'parkedcalls'\n"
"context.\n";
"context. If no extension is provided, then the first available\n"
"parked call will be acquired.\n";
static char *parkcall = "Park";
@ -2254,22 +2255,17 @@ static int park_exec(struct ast_channel *chan, void *data)
struct ast_channel *peer=NULL;
struct parkeduser *pu;
struct ast_context *con;
int park;
int park = 0;
struct ast_bridge_config config;
if (!data) {
ast_log(LOG_WARNING, "Parkedcall requires an argument (extension number)\n");
return -1;
}
u = ast_module_user_add(chan);
park = atoi((char *)data);
if (park)
park = atoi((char *)data);
AST_LIST_LOCK(&parkinglot);
AST_LIST_TRAVERSE_SAFE_BEGIN(&parkinglot, pu, list) {
if (pu->parkingnum == park) {
if (!data || pu->parkingnum == park) {
AST_LIST_REMOVE_CURRENT(list);
break;
}