mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-29 18:19:30 +00:00
Documentation updates
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48164 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -143,6 +143,8 @@ enum ast_bridge_result {
|
|||||||
|
|
||||||
typedef unsigned long long ast_group_t;
|
typedef unsigned long long ast_group_t;
|
||||||
|
|
||||||
|
/*! \todo Add an explanation of an Asterisk generator
|
||||||
|
*/
|
||||||
struct ast_generator {
|
struct ast_generator {
|
||||||
void *(*alloc)(struct ast_channel *chan, void *params);
|
void *(*alloc)(struct ast_channel *chan, void *params);
|
||||||
void (*release)(struct ast_channel *chan, void *data);
|
void (*release)(struct ast_channel *chan, void *data);
|
||||||
@@ -274,8 +276,8 @@ struct ast_channel_tech {
|
|||||||
int (* func_channel_write)(struct ast_channel *chan, char *function, char *data, const char *value);
|
int (* func_channel_write)(struct ast_channel *chan, char *function, char *data, const char *value);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ast_channel_spy_list;
|
struct ast_channel_spy_list; /*!< \todo Add explanation here */
|
||||||
struct ast_channel_whisper_buffer;
|
struct ast_channel_whisper_buffer; /*!< \todo Add explanation here */
|
||||||
|
|
||||||
#define DEBUGCHAN_FLAG 0x80000000
|
#define DEBUGCHAN_FLAG 0x80000000
|
||||||
#define FRAMECOUNT_INC(x) ( ((x) & DEBUGCHAN_FLAG) | ((x++) & ~DEBUGCHAN_FLAG) )
|
#define FRAMECOUNT_INC(x) ( ((x) & DEBUGCHAN_FLAG) | ((x++) & ~DEBUGCHAN_FLAG) )
|
||||||
@@ -492,6 +494,7 @@ enum {
|
|||||||
AST_FEATURE_PARKCALL = (1 << 5),
|
AST_FEATURE_PARKCALL = (1 << 5),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*! \brief bridge configuration */
|
||||||
struct ast_bridge_config {
|
struct ast_bridge_config {
|
||||||
struct ast_flags features_caller;
|
struct ast_flags features_caller;
|
||||||
struct ast_flags features_callee;
|
struct ast_flags features_callee;
|
||||||
@@ -750,7 +753,7 @@ int ast_call(struct ast_channel *chan, char *addr, int timeout);
|
|||||||
int ast_indicate(struct ast_channel *chan, int condition);
|
int ast_indicate(struct ast_channel *chan, int condition);
|
||||||
|
|
||||||
/*! \brief Indicates condition of channel, with payload
|
/*! \brief Indicates condition of channel, with payload
|
||||||
* \note Indicate a condition such as AST_CONTROL_BUSY, AST_CONTROL_RINGING, or AST_CONTROL_CONGESTION on a channel
|
* \note Indicate a condition such as AST_CONTROL_HOLD with payload being music on hold class
|
||||||
* \param chan channel to change the indication
|
* \param chan channel to change the indication
|
||||||
* \param condition which condition to indicate on the channel
|
* \param condition which condition to indicate on the channel
|
||||||
* \param data pointer to payload data
|
* \param data pointer to payload data
|
||||||
@@ -817,14 +820,12 @@ int ast_waitfor_n_fd(int *fds, int n, int *ms, int *exception);
|
|||||||
|
|
||||||
/*! \brief Reads a frame
|
/*! \brief Reads a frame
|
||||||
* \param chan channel to read a frame from
|
* \param chan channel to read a frame from
|
||||||
Read a frame.
|
* \return Returns a frame, or NULL on error. If it returns NULL, you
|
||||||
\return Returns a frame, or NULL on error. If it returns NULL, you
|
best just stop reading frames and assume the channel has been
|
||||||
best just stop reading frames and assume the channel has been
|
disconnected. */
|
||||||
disconnected. */
|
|
||||||
struct ast_frame *ast_read(struct ast_channel *chan);
|
struct ast_frame *ast_read(struct ast_channel *chan);
|
||||||
|
|
||||||
/*! \brief Reads a frame, returning AST_FRAME_NULL frame if audio.
|
/*! \brief Reads a frame, returning AST_FRAME_NULL frame if audio.
|
||||||
* Read a frame.
|
|
||||||
\param chan channel to read a frame from
|
\param chan channel to read a frame from
|
||||||
\return Returns a frame, or NULL on error. If it returns NULL, you
|
\return Returns a frame, or NULL on error. If it returns NULL, you
|
||||||
best just stop reading frames and assume the channel has been
|
best just stop reading frames and assume the channel has been
|
||||||
@@ -892,7 +893,20 @@ int ast_recvchar(struct ast_channel *chan, int timeout);
|
|||||||
*/
|
*/
|
||||||
int ast_senddigit(struct ast_channel *chan, char digit);
|
int ast_senddigit(struct ast_channel *chan, char digit);
|
||||||
|
|
||||||
|
/*! \brief Send a DTMF digit to a channel
|
||||||
|
* Send a DTMF digit to a channel.
|
||||||
|
* \param chan channel to act upon
|
||||||
|
* \param digit the DTMF digit to send, encoded in ASCII
|
||||||
|
* \return Returns 0 on success, -1 on failure
|
||||||
|
*/
|
||||||
int ast_senddigit_begin(struct ast_channel *chan, char digit);
|
int ast_senddigit_begin(struct ast_channel *chan, char digit);
|
||||||
|
/*! \brief Send a DTMF digit to a channel
|
||||||
|
|
||||||
|
* Send a DTMF digit to a channel.
|
||||||
|
* \param chan channel to act upon
|
||||||
|
* \param digit the DTMF digit to send, encoded in ASCII
|
||||||
|
* \return Returns 0 on success, -1 on failure
|
||||||
|
*/
|
||||||
int ast_senddigit_end(struct ast_channel *chan, char digit);
|
int ast_senddigit_end(struct ast_channel *chan, char digit);
|
||||||
|
|
||||||
/*! \brief Receives a text string from a channel
|
/*! \brief Receives a text string from a channel
|
||||||
@@ -1350,7 +1364,7 @@ struct ast_variable *ast_channeltype_list(void);
|
|||||||
audio samples, and then to mix in audio from the whisper buffer if it
|
audio samples, and then to mix in audio from the whisper buffer if it
|
||||||
is available.
|
is available.
|
||||||
|
|
||||||
Note: This function performs no locking; you must hold the channel's lock before
|
\note Note: This function performs no locking; you must hold the channel's lock before
|
||||||
calling this function.
|
calling this function.
|
||||||
*/
|
*/
|
||||||
int ast_channel_whisper_start(struct ast_channel *chan);
|
int ast_channel_whisper_start(struct ast_channel *chan);
|
||||||
|
@@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
/*! \file
|
/*! \file
|
||||||
* \brief Device state management
|
* \brief Device state management
|
||||||
|
*
|
||||||
|
* \arg See \ref AstExtState
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _ASTERISK_DEVICESTATE_H
|
#ifndef _ASTERISK_DEVICESTATE_H
|
||||||
@@ -26,25 +28,18 @@
|
|||||||
#if defined(__cplusplus) || defined(c_plusplus)
|
#if defined(__cplusplus) || defined(c_plusplus)
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
/*! @name DeviceStates */
|
||||||
/*! Device is valid but channel didn't know state */
|
/*! \@{ */
|
||||||
#define AST_DEVICE_UNKNOWN 0
|
#define AST_DEVICE_UNKNOWN 0 /*!< Device is valid but channel didn't know state */
|
||||||
/*! Device is not used */
|
#define AST_DEVICE_NOT_INUSE 1 /*!< Device is not used */
|
||||||
#define AST_DEVICE_NOT_INUSE 1
|
#define AST_DEVICE_INUSE 2 /*!< Device is in use */
|
||||||
/*! Device is in use */
|
#define AST_DEVICE_BUSY 3 /*!< Device is busy */
|
||||||
#define AST_DEVICE_INUSE 2
|
#define AST_DEVICE_INVALID 4 /*!< Device is invalid */
|
||||||
/*! Device is busy */
|
#define AST_DEVICE_UNAVAILABLE 5 /*!< Device is unavailable */
|
||||||
#define AST_DEVICE_BUSY 3
|
#define AST_DEVICE_RINGING 6 /*!< Device is ringing */
|
||||||
/*! Device is invalid */
|
#define AST_DEVICE_RINGINUSE 7 /*!< Device is ringing *and* in use */
|
||||||
#define AST_DEVICE_INVALID 4
|
#define AST_DEVICE_ONHOLD 8 /*!< Device is on hold */
|
||||||
/*! Device is unavailable */
|
/*! \@} */
|
||||||
#define AST_DEVICE_UNAVAILABLE 5
|
|
||||||
/*! Device is ringing */
|
|
||||||
#define AST_DEVICE_RINGING 6
|
|
||||||
/*! Device is ringing *and* in use */
|
|
||||||
#define AST_DEVICE_RINGINUSE 7
|
|
||||||
/*! Device is on hold */
|
|
||||||
#define AST_DEVICE_ONHOLD 8
|
|
||||||
|
|
||||||
/*! \brief Devicestate watcher call back */
|
/*! \brief Devicestate watcher call back */
|
||||||
typedef int (*ast_devstate_cb_type)(const char *dev, int state, void *data);
|
typedef int (*ast_devstate_cb_type)(const char *dev, int state, void *data);
|
||||||
|
@@ -43,7 +43,10 @@ extern "C" {
|
|||||||
|
|
||||||
#define PRIORITY_HINT -1 /*!< Special Priority for a hint */
|
#define PRIORITY_HINT -1 /*!< Special Priority for a hint */
|
||||||
|
|
||||||
/*! \brief Extension states */
|
/*! \brief Extension states
|
||||||
|
\note States can be combined
|
||||||
|
- \ref AstExtState
|
||||||
|
*/
|
||||||
enum ast_extension_states {
|
enum ast_extension_states {
|
||||||
AST_EXTENSION_REMOVED = -2, /*!< Extension removed */
|
AST_EXTENSION_REMOVED = -2, /*!< Extension removed */
|
||||||
AST_EXTENSION_DEACTIVATED = -1, /*!< Extension hint removed */
|
AST_EXTENSION_DEACTIVATED = -1, /*!< Extension hint removed */
|
||||||
@@ -174,6 +177,20 @@ int pbx_exec(struct ast_channel *c, struct ast_app *app, void *data);
|
|||||||
* \return NULL on failure, and an ast_context structure on success
|
* \return NULL on failure, and an ast_context structure on success
|
||||||
*/
|
*/
|
||||||
struct ast_context *ast_context_create(struct ast_context **extcontexts, const char *name, const char *registrar);
|
struct ast_context *ast_context_create(struct ast_context **extcontexts, const char *name, const char *registrar);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Register a new context or find an existing one
|
||||||
|
*
|
||||||
|
* \param extcontexts pointer to the ast_context structure pointer
|
||||||
|
* \param name name of the new context
|
||||||
|
* \param registrar registrar of the context
|
||||||
|
*
|
||||||
|
* This will first search for a context with your name. If it exists already, it will not
|
||||||
|
* create a new one. If it does not exist, it will create a new one with the given name
|
||||||
|
* and registrar.
|
||||||
|
*
|
||||||
|
* \return NULL on failure, and an ast_context structure on success
|
||||||
|
*/
|
||||||
struct ast_context *ast_context_find_or_create(struct ast_context **extcontexts, const char *name, const char *registrar);
|
struct ast_context *ast_context_find_or_create(struct ast_context **extcontexts, const char *name, const char *registrar);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -211,6 +228,11 @@ void ast_context_destroy(struct ast_context *con, const char *registrar);
|
|||||||
*/
|
*/
|
||||||
struct ast_context *ast_context_find(const char *name);
|
struct ast_context *ast_context_find(const char *name);
|
||||||
|
|
||||||
|
/*! \brief The result codes when starting the PBX on a channel
|
||||||
|
with \ref ast_pbx_start()
|
||||||
|
|
||||||
|
AST_PBX_CALL_LIMIT refers to the maxcalls call limit in asterisk.conf
|
||||||
|
*/
|
||||||
enum ast_pbx_result {
|
enum ast_pbx_result {
|
||||||
AST_PBX_SUCCESS = 0,
|
AST_PBX_SUCCESS = 0,
|
||||||
AST_PBX_FAILED = -1,
|
AST_PBX_FAILED = -1,
|
||||||
@@ -356,7 +378,7 @@ int ast_extension_state_add(const char *context, const char *exten,
|
|||||||
int ast_extension_state_del(int id, ast_state_cb_type callback);
|
int ast_extension_state_del(int id, ast_state_cb_type callback);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief If an extension exists, return non-zero
|
* \brief If an extension hint exists, return non-zero
|
||||||
*
|
*
|
||||||
* \param hint buffer for hint
|
* \param hint buffer for hint
|
||||||
* \param maxlen size of hint buffer
|
* \param maxlen size of hint buffer
|
||||||
@@ -728,7 +750,9 @@ int ast_pbx_outgoing_app(const char *type, int format, void *data, int timeout,
|
|||||||
*/
|
*/
|
||||||
int pbx_checkcondition(const char *condition);
|
int pbx_checkcondition(const char *condition);
|
||||||
|
|
||||||
/* Functions for returning values from structures */
|
/*! @name
|
||||||
|
* Functions for returning values from structures */
|
||||||
|
/*! @{ */
|
||||||
const char *ast_get_context_name(struct ast_context *con);
|
const char *ast_get_context_name(struct ast_context *con);
|
||||||
const char *ast_get_extension_name(struct ast_exten *exten);
|
const char *ast_get_extension_name(struct ast_exten *exten);
|
||||||
struct ast_context *ast_get_extension_context(struct ast_exten *exten);
|
struct ast_context *ast_get_extension_context(struct ast_exten *exten);
|
||||||
@@ -736,21 +760,26 @@ const char *ast_get_include_name(struct ast_include *include);
|
|||||||
const char *ast_get_ignorepat_name(struct ast_ignorepat *ip);
|
const char *ast_get_ignorepat_name(struct ast_ignorepat *ip);
|
||||||
const char *ast_get_switch_name(struct ast_sw *sw);
|
const char *ast_get_switch_name(struct ast_sw *sw);
|
||||||
const char *ast_get_switch_data(struct ast_sw *sw);
|
const char *ast_get_switch_data(struct ast_sw *sw);
|
||||||
|
/*! @} */
|
||||||
|
|
||||||
/* Other extension stuff */
|
/*! @name Other Extension stuff */
|
||||||
|
/*! @{ */
|
||||||
int ast_get_extension_priority(struct ast_exten *exten);
|
int ast_get_extension_priority(struct ast_exten *exten);
|
||||||
int ast_get_extension_matchcid(struct ast_exten *e);
|
int ast_get_extension_matchcid(struct ast_exten *e);
|
||||||
const char *ast_get_extension_cidmatch(struct ast_exten *e);
|
const char *ast_get_extension_cidmatch(struct ast_exten *e);
|
||||||
const char *ast_get_extension_app(struct ast_exten *e);
|
const char *ast_get_extension_app(struct ast_exten *e);
|
||||||
const char *ast_get_extension_label(struct ast_exten *e);
|
const char *ast_get_extension_label(struct ast_exten *e);
|
||||||
void *ast_get_extension_app_data(struct ast_exten *e);
|
void *ast_get_extension_app_data(struct ast_exten *e);
|
||||||
|
/*! @} */
|
||||||
|
|
||||||
/* Registrar info functions ... */
|
/*! @name Registrar info functions ... */
|
||||||
|
/*! @{ */
|
||||||
const char *ast_get_context_registrar(struct ast_context *c);
|
const char *ast_get_context_registrar(struct ast_context *c);
|
||||||
const char *ast_get_extension_registrar(struct ast_exten *e);
|
const char *ast_get_extension_registrar(struct ast_exten *e);
|
||||||
const char *ast_get_include_registrar(struct ast_include *i);
|
const char *ast_get_include_registrar(struct ast_include *i);
|
||||||
const char *ast_get_ignorepat_registrar(struct ast_ignorepat *ip);
|
const char *ast_get_ignorepat_registrar(struct ast_ignorepat *ip);
|
||||||
const char *ast_get_switch_registrar(struct ast_sw *sw);
|
const char *ast_get_switch_registrar(struct ast_sw *sw);
|
||||||
|
/*! @} */
|
||||||
|
|
||||||
/* Walking functions ... */
|
/* Walking functions ... */
|
||||||
struct ast_context *ast_walk_contexts(struct ast_context *con);
|
struct ast_context *ast_walk_contexts(struct ast_context *con);
|
||||||
|
@@ -67,7 +67,7 @@
|
|||||||
* system. res_jabber.c can subscribe and watch such states
|
* system. res_jabber.c can subscribe and watch such states
|
||||||
* in jabber/xmpp based systems.
|
* in jabber/xmpp based systems.
|
||||||
*
|
*
|
||||||
* \section AstExtStateARch Architecture
|
* \section AstDevStateArch Architecture for devicestates
|
||||||
*
|
*
|
||||||
* When a channel driver or asterisk app changes state for
|
* When a channel driver or asterisk app changes state for
|
||||||
* a watched object, it alerts the core. The core queues
|
* a watched object, it alerts the core. The core queues
|
||||||
@@ -84,9 +84,26 @@
|
|||||||
* - Device states
|
* - Device states
|
||||||
* \arg \ref devicestate.c
|
* \arg \ref devicestate.c
|
||||||
* \arg \ref devicestate.h
|
* \arg \ref devicestate.h
|
||||||
|
*
|
||||||
|
* \section AstExtStateArch Architecture for extension states
|
||||||
|
*
|
||||||
|
* Hints are connected to extension. If an extension changes state
|
||||||
|
* it checks the hint devices. If there is a hint, the callbacks into
|
||||||
|
* device states are checked. The aggregated state is set for the hint
|
||||||
|
* and reported back.
|
||||||
|
*
|
||||||
* - Extension states
|
* - Extension states
|
||||||
|
* \arg \ref enum ast_extension_states
|
||||||
* \arg \ref pbx.c
|
* \arg \ref pbx.c
|
||||||
* \arg \ref pbx.h
|
* \arg \ref pbx.h
|
||||||
|
* - Structures
|
||||||
|
* - \ref struct ast_state_cb Callbacks for watchers
|
||||||
|
* - Callback ast_state_cb_type
|
||||||
|
* - \ref struct ast_hint
|
||||||
|
* - Functions
|
||||||
|
* - ast_extension_state_add()
|
||||||
|
* - ast_extension_state_del()
|
||||||
|
* - ast_get_hint()
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@@ -193,7 +193,9 @@ struct ast_state_cb {
|
|||||||
/*! \brief Structure for dial plan hints
|
/*! \brief Structure for dial plan hints
|
||||||
|
|
||||||
\note Hints are pointers from an extension in the dialplan to one or
|
\note Hints are pointers from an extension in the dialplan to one or
|
||||||
more devices (tech/name) */
|
more devices (tech/name)
|
||||||
|
- See \ref AstExtState
|
||||||
|
*/
|
||||||
struct ast_hint {
|
struct ast_hint {
|
||||||
struct ast_exten *exten; /*!< Extension */
|
struct ast_exten *exten; /*!< Extension */
|
||||||
int laststate; /*!< Last known state */
|
int laststate; /*!< Last known state */
|
||||||
|
Reference in New Issue
Block a user