Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

features.h

Go to the documentation of this file.
00001 /*
00002  * Asterisk -- A telephony toolkit for Linux.
00003  *
00004  * Call Parking and Pickup API 
00005  * 
00006  * Copyright (C) 1999, Mark Spencer
00007  *
00008  * Mark Spencer <markster@linux-support.net>
00009  *
00010  * This program is free software, distributed under the terms of
00011  * the GNU General Public License.
00012  *
00013  * Includes code and algorithms from the Zapata library.
00014  *
00015  */
00016 
00017 #ifndef _AST_FEATURES_H
00018 #define _AST_FEATURES_H
00019 
00020 //! Park a call and read back parked location
00021 /*! \param chan the channel to actually be parked
00022     \param host the channel which will have the parked location read to
00023    Park the channel chan, and read back the parked location to the
00024    host.  If the call is not picked up within a specified period of
00025    time, then the call will return to the last step that it was in 
00026    (in terms of exten, priority and context)
00027    \param timeout is a timeout in milliseconds
00028    \param extout is a parameter to an int that will hold the parked location, or NULL if you want
00029 */
00030 extern int ast_park_call(struct ast_channel *chan, struct ast_channel *host, int timeout, int *extout);
00031 //! Park a call via a masqueraded channel
00032 /*! \param rchan the real channel to be parked
00033     \param host the channel to have the parking read to
00034    Masquerade the channel rchan into a new, empty channel which is then
00035    parked with ast_park_call
00036    \param timeout is a timeout in milliseconds
00037    \param extout is a parameter to an int that will hold the parked location, or NULL if you want
00038 */
00039 extern int ast_masq_park_call(struct ast_channel *rchan, struct ast_channel *host, int timeout, int *extout);
00040 
00041 extern int ast_hold_call(struct ast_channel *chan, struct ast_channel *host);
00042 extern int ast_masq_hold_call(struct ast_channel *rchan, struct ast_channel *host);
00043 extern int ast_retrieve_call(struct ast_channel *chan, char *uniqueid);
00044 extern int ast_retrieve_call_to_death(char *uniqueid);
00045 extern struct ast_channel *ast_get_holded_call(char *uniqueid);
00046 
00047 //! Determine system parking extension
00048 /*! Returns the call parking extension for drivers that provide special
00049     call parking help */
00050 extern char *ast_parking_ext(void);
00051 extern char *ast_parking_con(void);
00052 extern char *ast_pickup_ext(void);
00053 
00054 //! Bridge a call, optionally allowing redirection
00055 
00056 extern int ast_bridge_call(struct ast_channel *chan, struct ast_channel *peer,struct ast_bridge_config *config);
00057 
00058 extern int ast_pickup_call(struct ast_channel *chan);
00059 
00060 extern int ast_autoanswer_login(struct ast_channel *chan, void *data);
00061 extern int ast_masq_autoanswer_login(struct ast_channel *rchan, void *data);
00062 
00063 #endif /* _AST_FEATURES_H */

Generated on Sat Nov 25 19:09:36 2006 for Asterisk by  doxygen 1.4.2