summaryrefslogtreecommitdiff
path: root/include/asterisk/features.h
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2011-10-18 21:15:45 +0000
committerRichard Mudgett <rmudgett@digium.com>2011-10-18 21:15:45 +0000
commit10de040b6e89e7c973c23353d477c5dd465a14df (patch)
tree25a7d164a2b8276213348bc5f63fe7c6ed9af4cf /include/asterisk/features.h
parentd19ddf87410ce65071cf92c298bf048f3ab0f9bb (diff)
More parking issues.
* Fix potential deadlocks in SIP and IAX blind transfer to parking. * Fix SIP, IAX, DAHDI analog, and MGCP channel drivers to respect the parkext_exclusive option with transfers (Park(,,,,,exclusive_lot) parameter). Created ast_park_call_exten() and ast_masq_park_call_exten() to maintian API compatibility. * Made masq_park_call() handle a failed ast_channel_masquerade() setup. * Reduced excessive struct parkeduser.peername[] size. ........ Merged revisions 341254 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 341255 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/features.h')
-rw-r--r--include/asterisk/features.h88
1 files changed, 71 insertions, 17 deletions
diff --git a/include/asterisk/features.h b/include/asterisk/features.h
index 7e749f2e0..76a141df1 100644
--- a/include/asterisk/features.h
+++ b/include/asterisk/features.h
@@ -78,33 +78,87 @@ struct ast_call_feature {
};
/*!
- * \brief Park a call and read back parked location
- * \param chan the channel to actually be parked
- * \param host the channel which will have the parked location read to.
+ * \brief Park a call and read back parked location
+ *
+ * \param park_me Channel to be parked.
+ * \param parker Channel parking the call.
* \param timeout is a timeout in milliseconds
+ * \param park_exten Parking lot access extension (Not used)
* \param extout is a parameter to an int that will hold the parked location, or NULL if you want.
- *
- * Park the channel chan, and read back the parked location to the host.
- * If the call is not picked up within a specified period of time,
- * then the call will return to the last step that it was in
- * (in terms of exten, priority and context)
+ *
+ * \details
+ * Park the park_me channel, and read back the parked location
+ * to the parker channel. If the call is not picked up within a
+ * specified period of time, then the call will return to the
+ * last step that it was in (in terms of exten, priority and
+ * context).
+ *
+ * \note Use ast_park_call_exten() instead.
+ *
* \retval 0 on success.
* \retval -1 on failure.
-*/
-int ast_park_call(struct ast_channel *chan, struct ast_channel *host, int timeout, const char *parkexten, int *extout);
+ */
+int ast_park_call(struct ast_channel *park_me, struct ast_channel *parker, int timeout, const char *park_exten, int *extout);
-/*!
+/*!
+ * \brief Park a call and read back parked location
+ * \since 1.8.9
+ *
+ * \param park_me Channel to be parked.
+ * \param parker Channel parking the call.
+ * \param park_exten Parking lot access extension
+ * \param park_context Parking lot context
+ * \param timeout is a timeout in milliseconds
+ * \param extout is a parameter to an int that will hold the parked location, or NULL if you want.
+ *
+ * \details
+ * Park the park_me channel, and read back the parked location
+ * to the parker channel. If the call is not picked up within a
+ * specified period of time, then the call will return to the
+ * last step that it was in (in terms of exten, priority and
+ * context).
+ *
+ * \retval 0 on success.
+ * \retval -1 on failure.
+ */
+int ast_park_call_exten(struct ast_channel *park_me, struct ast_channel *parker, const char *park_exten, const char *park_context, int timeout, int *extout);
+
+/*!
* \brief Park a call via a masqueraded channel
- * \param rchan the real channel to be parked
- * \param host the channel to have the parking read to.
+ *
+ * \param park_me Channel to be parked.
+ * \param parker Channel parking the call.
* \param timeout is a timeout in milliseconds
* \param extout is a parameter to an int that will hold the parked location, or NULL if you want.
- *
- * Masquerade the channel rchan into a new, empty channel which is then parked with ast_park_call
+ *
+ * \details
+ * Masquerade the park_me channel into a new, empty channel which is then parked.
+ *
+ * \note Use ast_masq_park_call_exten() instead.
+ *
* \retval 0 on success.
* \retval -1 on failure.
-*/
-int ast_masq_park_call(struct ast_channel *rchan, struct ast_channel *host, int timeout, int *extout);
+ */
+int ast_masq_park_call(struct ast_channel *park_me, struct ast_channel *parker, int timeout, int *extout);
+
+/*!
+ * \brief Park a call via a masqueraded channel
+ * \since 1.8.9
+ *
+ * \param park_me Channel to be parked.
+ * \param parker Channel parking the call.
+ * \param park_exten Parking lot access extension
+ * \param park_context Parking lot context
+ * \param timeout is a timeout in milliseconds
+ * \param extout is a parameter to an int that will hold the parked location, or NULL if you want.
+ *
+ * \details
+ * Masquerade the park_me channel into a new, empty channel which is then parked.
+ *
+ * \retval 0 on success.
+ * \retval -1 on failure.
+ */
+int ast_masq_park_call_exten(struct ast_channel *park_me, struct ast_channel *parker, const char *park_exten, const char *park_context, int timeout, int *extout);
/*!
* \brief Determine if parking extension exists in a given context