aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authordvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2009-06-03 15:26:16 +0000
committerdvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2009-06-03 15:26:16 +0000
commit26530c23e074d50110d825efcc986b1c38d43f22 (patch)
tree80951f31760dca6d1367acf93f8323838ad6fab6 /include
parenta92d6019ce3c45f6033956e7f7b68838660cc28d (diff)
Merged revisions 198856 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r198856 | dvossel | 2009-06-02 16:17:49 -0500 (Tue, 02 Jun 2009) | 10 lines Generic call forward api, ast_call_forward() The function ast_call_forward() forwards a call to an extension specified in an ast_channel's call_forward string. After an ast_channel is called, if the channel's call_forward string is set this function can be used to forward the call to a new channel and terminate the original one. I have included this api call in both channel.c's ast_request_and_dial() and feature.c's feature_request_and_dial(). App_dial and app_queue already contain call forward logic specific for their application and options. (closes issue #13630) Reported by: festr Review: https://reviewboard.asterisk.org/r/271/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@198887 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/channel.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h
index de3670f97..d022a8816 100644
--- a/include/asterisk/channel.h
+++ b/include/asterisk/channel.h
@@ -863,6 +863,17 @@ struct ast_channel *ast_request_and_dial(const char *type, int format, void *dat
*/
struct ast_channel *__ast_request_and_dial(const char *type, int format, void *data,
int timeout, int *reason, const char *cid_num, const char *cid_name, struct outgoing_helper *oh);
+/*!
+* \brief Forwards a call to a new channel specified by the original channel's call_forward str. If possible, the new forwarded channel is created and returned while the original one is terminated.
+* \param caller in channel that requested orig
+* \param orig channel being replaced by the call forward channel
+* \param timeout maximum amount of time to wait for setup of new forward channel
+* \param format requested channel format
+* \param oh outgoing helper used with original channel
+* \param outstate reason why unsuccessful (if uncuccessful)
+* \return Returns the forwarded call's ast_channel on success or NULL on failure
+*/
+struct ast_channel *ast_call_forward(struct ast_channel *caller, struct ast_channel *orig, int *timeout, int format, struct outgoing_helper *oh, int *outstate);
/*!\brief Register a channel technology (a new channel driver)
* Called by a channel module to register the kind of channels it supports.