Re: [asterisk-users] app_valetparking.c anyone using it on 1.4?

2008-02-11 Thread Ron McCarthy
Ahh ok, this makes a little more sense now! I guess it is a different way of
looking of it.

Thanks


On Feb 6, 2008 5:28 AM, Steve Langstaff [EMAIL PROTECTED] wrote:

   -Original Message-
  From: Lacy Moore
  Sent: 06 February 2008 10:54
 
  On Feb 6, 2008 3:46 AM, Steve Langstaff
  [EMAIL PROTECTED] wrote:
  
   ValetParking doesn't announce anything because the whole point of
   ValetParking is to be able to explicitly park a call at a
  known spot.
  
   I was under the impression that the Valet part of ValetParking
   meant that you *don't* explicitly park a call at a known spot - the
   valet takes your call, finds a free spot for it and then tells you
   where it has been parked.
  
  Is that what the builtin function ParkAndAnnounce does?
 
 
   Of course, parking voice may be nothing like parking vehicles :)
  
  SInce when has anything dealing with computer systems made sense? :-)

 Oh, I feel like such a fool!

 ___
 -- Bandwidth and Colocation Provided by http://www.api-digital.com --

 asterisk-users mailing list
 To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Re: [asterisk-users] app_valetparking.c anyone using it on 1.4?

2008-02-06 Thread Steve Langstaff
ValetParking doesn't announce anything because the whole point of
ValetParking is to be able to explicitly park a call at a known spot.
 
I was under the impression that the Valet part of ValetParking meant
that you *don't* explicitly park a call at a known spot - the valet
takes your call, finds a free spot for it and then tells you where it
has been parked.
 
Of course, parking voice may be nothing like parking vehicles :) 




From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of marvin
horst
Sent: 05 February 2008 13:32
To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: Re: [asterisk-users] app_valetparking.c anyone using it
on 1.4?




Hi List,

I have this running, but after I park a call it will not
announce where it is at, it's like you have to call another application
just to say where it is parked at. I have tried a second priority option
for the same extension with that ValetParkList but it seems once
ValetParkCall has been ended it will not process anymore priorities in
this extension.

Any ideals or help would be great!




I'm using ValetParking with 1.4. ValetParking doesn't announce
anything because the whole point of ValetParking is to be able to
explicitly park a call at a known spot. We use it to park a call at a
users extension when they aren't at their desk, or are on another call.
When they're finished with the call or they're paged all they have to do
is dial their known park location.

I haven't had any problems with priority options.
-- 
Marvin Horst 

___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Re: [asterisk-users] app_valetparking.c anyone using it on 1.4?

2008-02-06 Thread Lacy Moore
On Feb 6, 2008 3:46 AM, Steve Langstaff [EMAIL PROTECTED] wrote:

 ValetParking doesn't announce anything because the whole point of
 ValetParking is to be able to explicitly park a call at a known spot.

 I was under the impression that the Valet part of ValetParking meant
 that you *don't* explicitly park a call at a known spot - the valet takes
 your call, finds a free spot for it and then tells you where it has been
 parked.

Is that what the builtin function ParkAndAnnounce does?


 Of course, parking voice may be nothing like parking vehicles :)

SInce when has anything dealing with computer systems made sense? :-)

 
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of marvin horst
 Sent: 05 February 2008 13:32
 To: Asterisk Users Mailing List - Non-Commercial Discussion
 Subject: Re: [asterisk-users] app_valetparking.c anyone using it on 1.4?





  Hi List,
 
  I have this running, but after I park a call it will not announce where it
 is at, it's like you have to call another application just to say where it
 is parked at. I have tried a second priority option for the same extension
 with that ValetParkList but it seems once ValetParkCall has been ended it
 will not process anymore priorities in this extension.
 
  Any ideals or help would be great!
 
 

 I'm using ValetParking with 1.4. ValetParking doesn't announce anything
 because the whole point of ValetParking is to be able to explicitly park a
 call at a known spot. We use it to park a call at a users extension when
 they aren't at their desk, or are on another call. When they're finished
 with the call or they're paged all they have to do is dial their known park
 location.

 I haven't had any problems with priority options.
 --
 Marvin Horst
 ___
 -- Bandwidth and Colocation Provided by http://www.api-digital.com --

 asterisk-users mailing list
 To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users




-- 
Lacy Moore
Somewhere I wish I wasn't

___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] app_valetparking.c anyone using it on 1.4?

2008-02-06 Thread Steve Langstaff
  -Original Message-
 From: Lacy Moore
 Sent: 06 February 2008 10:54
 
 On Feb 6, 2008 3:46 AM, Steve Langstaff 
 [EMAIL PROTECTED] wrote:
 
  ValetParking doesn't announce anything because the whole point of 
  ValetParking is to be able to explicitly park a call at a 
 known spot.
 
  I was under the impression that the Valet part of ValetParking 
  meant that you *don't* explicitly park a call at a known spot - the 
  valet takes your call, finds a free spot for it and then tells you 
  where it has been parked.
 
 Is that what the builtin function ParkAndAnnounce does?
 
 
  Of course, parking voice may be nothing like parking vehicles :)
 
 SInce when has anything dealing with computer systems made sense? :-)

Oh, I feel like such a fool!

___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] app_valetparking.c anyone using it on 1.4?

2008-02-05 Thread marvin horst
 Hi List,

 I have this running, but after I park a call it will not announce where it
 is at, it's like you have to call another application just to say where it
 is parked at. I have tried a second priority option for the same extension
 with that ValetParkList but it seems once ValetParkCall has been ended it
 will not process anymore priorities in this extension.

 Any ideals or help would be great!


I'm using ValetParking with 1.4. ValetParking doesn't announce anything
because the whole point of ValetParking is to be able to explicitly park a
call at a known spot. We use it to park a call at a users extension when
they aren't at their desk, or are on another call. When they're finished
with the call or they're paged all they have to do is dial their known park
location.

I haven't had any problems with priority options.
-- 
Marvin Horst
___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

[asterisk-users] app_valetparking.c anyone using it on 1.4?

2008-02-02 Thread Ron McCarthy
Hi List,

I have this running, but after I park a call it will not announce where it
is at, it's like you have to call another application just to say where it
is parked at. I have tried a second priority option for the same extension
with that ValetParkList but it seems once ValetParkCall has been ended it
will not process anymore priorities in this extension.

Any ideals or help would be great!
___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Re: [Asterisk-Users] app_valetparking.c

2005-06-24 Thread Terry Wilson
Actually, anthm is now hosting this at http://www.pbxfeeware.org.

On 6/20/05, Paul Zimm [EMAIL PROTECTED] wrote:
 Try this
 
  Since www.bkw.org seems not to exist anymore (getting response from
  some hosting provider), does anyone happend to have a copy of
  app_valetparking.c from www.bkw.org - the one that should work with *
  stable 1.0.X ? If so please contact me.
 
  One that can be downloaded from www.loligo.com dosn't compile with
  1.0.X, and SuperValletParking (www.asterlink.com/svp/) seems to be for
  * HEAD (1.1.X), so it wont do me any good.
 
 
 
 
 /*
  * Asterisk -- A telephony toolkit for Linux.
  *
  * Routines implementing call valetparking
  *
  * Copyright (C) 1999, Mark Spencer
  *
  * Mark Spencer [EMAIL PROTECTED]
  *
  * This program is free software, distributed under the terms of
  * the GNU General Public License
  */
 
 #include asterisk/lock.h
 #include asterisk/file.h
 #include asterisk/logger.h
 #include asterisk/channel.h
 #include asterisk/pbx.h
 #include asterisk/options.h
 #include asterisk/module.h
 #include asterisk/translate.h
 #include asterisk/say.h
 #include asterisk/callerid.h
 #include asterisk/channel_pvt.h
 #include asterisk/parking.h
 #include asterisk/musiconhold.h
 #include asterisk/config.h
 #include asterisk/cli.h
 #include asterisk/app.h
 #include asterisk/manager.h
 #include stdlib.h
 #include errno.h
 #include unistd.h
 #include string.h
 #include stdlib.h
 #include stdio.h
 #include sys/time.h
 #include sys/signal.h
 #include netinet/in.h
 
 #include pthread.h
 
 #define DEFAULT_VALETPARK_TIME 45000
 
 static char *valetparking = ValetParking;
 static char *valetparkedcall = ValetParkCall;
 static char *valetunparkedcall = ValetUnparkCall;
 static char *valetparklist = ValetParkList;
 
 /* No more than 45 seconds valetparked before you do something with them */
 static int valetparkingtime = DEFAULT_VALETPARK_TIME;
 
 /* First available extension for valetparking */
 static int valetparking_start = 1;
 
 /* Last available extension for valetparking */
 static int valetparking_stop = 1;
 
 static char *vpsynopsis = Valet Parking;
 
 static char *vpcsynopsis = Valet Park Call;
 
 static char *vupsynopsis = Valet UnPark Call;
 
 static char *vlsynopsis = ValetParkList;
 
 static char *vpdesc =
 ValetParking(exten|lotname|timeout[|return_ext][|return_pri][|return_context])\n
 Auto-Sense Valet Parking: if exten is not occupied, park it, if it is 
 already parked, bridge to it.\n\n;
 
 static char *vpcdesc =
 ValetParkCall(exten|lotname|timeout[|return_ext][|return_pri][|return_context])\n
 Park Call at exten in lotname until someone calls ValetUnparkCall on the 
 same exten + lotname\n
 set exten to 'auto' to auto-choose the slot.\n\n;
 
 static char *vupdesc =
 ValetUnparkCall(exten|lotname)\n
 Un-Park the call at exten in lot lotname use 'fifo' or 'filo' for 
 auto-ordered Un-Park.\n\n;
 
 static char *vldesc =
 ValetParkList(lotname)\n
 Audibly list the slot number of all the calls in lotname press * to unpark 
 it.\n\n;
 
 struct valetparkeduser {
 struct ast_channel *chan;
 struct timeval start;
 int valetparkingnum;
 /* Where to go if our valetparking time expires */
 char context[AST_MAX_EXTENSION];
 char exten[AST_MAX_EXTENSION];
 char lotname[AST_MAX_EXTENSION];
 int priority;
 int valetparkingtime;
 struct valetparkeduser *next;
 };
 
 static struct valetparkeduser *valetparkinglot;
 
 static ast_mutex_t valetparking_lock = AST_MUTEX_INITIALIZER;
 
 static pthread_t valetparking_thread;
 
 STANDARD_LOCAL_USER;
 
 LOCAL_USER_DECL;
 
 static int valetparking_count(void)
 {
 struct valetparkeduser *cur;
 int x=0;
 ast_mutex_lock(valetparking_lock);
 for(cur = valetparkinglot;cur;cur = cur-next)
 x++;
 ast_mutex_unlock(valetparking_lock);
 return x;
 }
 
 static int valetparking_say(struct ast_channel *chan,char *lotname)
 {
 struct valetparkeduser *cur;
 int x=0,y=0,res=0;
 int list[1024];
 if(!lotname)
 return 0;
 ast_mutex_lock(valetparking_lock);
 for(cur = valetparkinglot;cur;cur = cur-next)
 if(cur-lotname  !strcmp(lotname,cur-lotname))
 list[y++] = cur-valetparkingnum;
 ast_mutex_unlock(valetparking_lock);
 for(x=0;xy;x++) {
 ast_say_digits(chan,list[x], , chan-language);
 res = ast_waitfordigit(chan,1500);
 if(res != 0) {
 res = list[x];
 break;
 }
 }
 return res;
 }
 
 static int ast_pop_valetparking_top(char *lotname)
 {
 struct valetparkeduser *cur;
 
 ast_mutex_lock(valetparking_lock);
 for(cur = valetparkinglot;cur;cur = cur-next)
 if(cur-lotname  !strcmp(lotname,cur-lotname))
 break;

Re: [Asterisk-Users] app_valetparking.c

2005-06-24 Thread Nenad Radosavljevic
Yes its true, but that version is for * HEAD, and the second one posted here 
(one that have #include features.h istead of #includeparking.h in it) 
works great for me, on * 1.0.7/1.0.8


Nenad



Actually, anthm is now hosting this at http://www.pbxfeeware.org.

On 6/20/05, Paul Zimm [EMAIL PROTECTED] wrote:




___
Asterisk-Users mailing list
Asterisk-Users@lists.digium.com
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users


[Asterisk-Users] app_valetparking.c

2005-06-20 Thread Nenad Radosavljevic
Since www.bkw.org seems not to exist anymore (getting response from some 
hosting provider), does anyone happend to have a copy of app_valetparking.c 
from www.bkw.org - the one that should work with * stable 1.0.X ? If so 
please contact me.


One that can be downloaded from www.loligo.com dosn't compile with 1.0.X, 
and SuperValletParking (www.asterlink.com/svp/) seems to be for * HEAD 
(1.1.X), so it wont do me any good.


Kind regards,
   Nenad Radosavljevic



___
Asterisk-Users mailing list
Asterisk-Users@lists.digium.com
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [Asterisk-Users] app_valetparking.c

2005-06-20 Thread Paul Zimm

Try this

Since www.bkw.org seems not to exist anymore (getting response from 
some hosting provider), does anyone happend to have a copy of 
app_valetparking.c from www.bkw.org - the one that should work with * 
stable 1.0.X ? If so please contact me.


One that can be downloaded from www.loligo.com dosn't compile with 
1.0.X, and SuperValletParking (www.asterlink.com/svp/) seems to be for 
* HEAD (1.1.X), so it wont do me any good.




/*
 * Asterisk -- A telephony toolkit for Linux.
 *
 * Routines implementing call valetparking
 * 
 * Copyright (C) 1999, Mark Spencer
 *
 * Mark Spencer [EMAIL PROTECTED]
 *
 * This program is free software, distributed under the terms of
 * the GNU General Public License
 */

#include asterisk/lock.h
#include asterisk/file.h
#include asterisk/logger.h
#include asterisk/channel.h
#include asterisk/pbx.h
#include asterisk/options.h
#include asterisk/module.h
#include asterisk/translate.h
#include asterisk/say.h
#include asterisk/callerid.h
#include asterisk/channel_pvt.h
#include asterisk/parking.h
#include asterisk/musiconhold.h
#include asterisk/config.h
#include asterisk/cli.h
#include asterisk/app.h
#include asterisk/manager.h
#include stdlib.h
#include errno.h
#include unistd.h
#include string.h
#include stdlib.h
#include stdio.h
#include sys/time.h
#include sys/signal.h
#include netinet/in.h

#include pthread.h

#define DEFAULT_VALETPARK_TIME 45000

static char *valetparking = ValetParking;
static char *valetparkedcall = ValetParkCall;
static char *valetunparkedcall = ValetUnparkCall;
static char *valetparklist = ValetParkList;

/* No more than 45 seconds valetparked before you do something with them */
static int valetparkingtime = DEFAULT_VALETPARK_TIME;

/* First available extension for valetparking */
static int valetparking_start = 1;

/* Last available extension for valetparking */
static int valetparking_stop = 1;

static char *vpsynopsis = Valet Parking;

static char *vpcsynopsis = Valet Park Call;

static char *vupsynopsis = Valet UnPark Call;

static char *vlsynopsis = ValetParkList;

static char *vpdesc =
ValetParking(exten|lotname|timeout[|return_ext][|return_pri][|return_context])\n
Auto-Sense Valet Parking: if exten is not occupied, park it, if it is 
already parked, bridge to it.\n\n;

static char *vpcdesc =
ValetParkCall(exten|lotname|timeout[|return_ext][|return_pri][|return_context])\n
Park Call at exten in lotname until someone calls ValetUnparkCall on the 
same exten + lotname\n
set exten to 'auto' to auto-choose the slot.\n\n;

static char *vupdesc =
ValetUnparkCall(exten|lotname)\n
Un-Park the call at exten in lot lotname use 'fifo' or 'filo' for 
auto-ordered Un-Park.\n\n;

static char *vldesc =
ValetParkList(lotname)\n
Audibly list the slot number of all the calls in lotname press * to unpark 
it.\n\n;

struct valetparkeduser {
struct ast_channel *chan;
struct timeval start;
int valetparkingnum;
/* Where to go if our valetparking time expires */
char context[AST_MAX_EXTENSION];
char exten[AST_MAX_EXTENSION];
char lotname[AST_MAX_EXTENSION];
int priority;
int valetparkingtime;
struct valetparkeduser *next;
};

static struct valetparkeduser *valetparkinglot;

static ast_mutex_t valetparking_lock = AST_MUTEX_INITIALIZER;

static pthread_t valetparking_thread;

STANDARD_LOCAL_USER;

LOCAL_USER_DECL;

static int valetparking_count(void)
{
struct valetparkeduser *cur;
int x=0;
ast_mutex_lock(valetparking_lock);
for(cur = valetparkinglot;cur;cur = cur-next)
x++;
ast_mutex_unlock(valetparking_lock);
return x;
}

static int valetparking_say(struct ast_channel *chan,char *lotname)
{
struct valetparkeduser *cur;
int x=0,y=0,res=0;
int list[1024];
if(!lotname)
return 0;
ast_mutex_lock(valetparking_lock);
for(cur = valetparkinglot;cur;cur = cur-next)
if(cur-lotname  !strcmp(lotname,cur-lotname))
list[y++] = cur-valetparkingnum;
ast_mutex_unlock(valetparking_lock);
for(x=0;xy;x++) {
ast_say_digits(chan,list[x], , chan-language);
res = ast_waitfordigit(chan,1500);
if(res != 0) {
res = list[x];
break;
}
}
return res;
}

static int ast_pop_valetparking_top(char *lotname)
{
struct valetparkeduser *cur;

ast_mutex_lock(valetparking_lock);
for(cur = valetparkinglot;cur;cur = cur-next)
if(cur-lotname  !strcmp(lotname,cur-lotname))
break;

ast_mutex_unlock(valetparking_lock);
return cur ? cur-valetparkingnum : 0;
}

static int ast_pop_valetparking_bot(char *lotname)
{
struct valetparkeduser *cur,*last=NULL;
ast_mutex_lock(valetparking_lock);
for(cur =