mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
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
This commit is contained in:
@@ -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 via a masqueraded channel
|
||||
* \param rchan the real channel to be parked
|
||||
* \param host the channel to have the parking read to.
|
||||
/*!
|
||||
* \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.
|
||||
*
|
||||
* Masquerade the channel rchan into a new, empty channel which is then parked with ast_park_call
|
||||
*
|
||||
* \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_masq_park_call(struct ast_channel *rchan, struct ast_channel *host, int timeout, int *extout);
|
||||
*/
|
||||
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 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.
|
||||
*
|
||||
* \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 *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
|
||||
|
Reference in New Issue
Block a user