mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-02 11:58:40 +00:00
Doxygen cleanups/fixes.
Closes issue #10654, patch by snuffy git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -662,8 +662,8 @@ static int *sipsock_read_id; /*!< ID of IO entry for sipsock FD */
|
||||
#define DEC_CALL_RINGING 2
|
||||
#define INC_CALL_RINGING 3
|
||||
|
||||
/*! \brief sip_request: The data grabbed from the UDP socket
|
||||
*
|
||||
/*! \brief The data grabbed from the UDP socket
|
||||
* \verbatim
|
||||
* Incoming messages: we first store the data from the socket in data[],
|
||||
* adding a trailing \0 to make string parsing routines happy.
|
||||
* Then call parse_request() and req.method = find_sip_method();
|
||||
@@ -683,11 +683,12 @@ static int *sipsock_read_id; /*!< ID of IO entry for sipsock FD */
|
||||
* and then fill the rest with add_header() and add_line().
|
||||
* The \r\n at the end of the line are still there, so the get_header()
|
||||
* and similar functions don't work on these packets.
|
||||
* \endverbatim
|
||||
*/
|
||||
struct sip_request {
|
||||
char *rlPart1; /*!< SIP Method Name or "SIP/2.0" protocol version */
|
||||
char *rlPart2; /*!< The Request URI or Response Status */
|
||||
int len; /*!< bytes used in data[], excluding trailing '\0'. Rarely used. */
|
||||
int len; /*!< bytes used in data[], excluding trailing null terminator. Rarely used. */
|
||||
int headers; /*!< # of SIP Headers */
|
||||
int method; /*!< Method of this request */
|
||||
int lines; /*!< Body Content */
|
||||
@@ -1824,7 +1825,7 @@ static struct ast_channel_tech sip_tech_info;
|
||||
/* wrapper macro to tell whether t points to one of the sip_tech descriptors */
|
||||
#define IS_SIP_TECH(t) ((t) == &sip_tech || (t) == &sip_tech_info)
|
||||
|
||||
/*! \begin map from an integer value to a string.
|
||||
/*! \brief map from an integer value to a string.
|
||||
* If no match is found, return errorstring
|
||||
*/
|
||||
static const char *map_x_s(const struct _map_x_s *table, int x, const char *errorstring)
|
||||
@@ -1837,7 +1838,7 @@ static const char *map_x_s(const struct _map_x_s *table, int x, const char *erro
|
||||
return errorstring;
|
||||
}
|
||||
|
||||
/*! \begin map from a string to an integer value, case insensitive.
|
||||
/*! \brief map from a string to an integer value, case insensitive.
|
||||
* If no match is found, return errorvalue.
|
||||
*/
|
||||
static int map_s_x(const struct _map_x_s *table, const char *s, int errorvalue)
|
||||
|
||||
@@ -90,7 +90,7 @@ parameters. At the moment, this is done as follows:
|
||||
struct ao2_container *c;
|
||||
|
||||
c = ao2_container_alloc(MAX_BUCKETS, my_hash_fn, my_cmp_fn);
|
||||
|
||||
\endcode
|
||||
where
|
||||
- MAX_BUCKETS is the number of buckets in the hash table,
|
||||
- my_hash_fn() is the (user-supplied) function that returns a
|
||||
@@ -153,7 +153,7 @@ void ao2_bt(void); /* backtrace */
|
||||
*
|
||||
* Allocates a struct astobj2 with sufficient space for the
|
||||
* user-defined structure.
|
||||
* \notes:
|
||||
* \note
|
||||
* - storage is zeroed; XXX maybe we want a flag to enable/disable this.
|
||||
* - the refcount of the object just created is 1
|
||||
* - the returned pointer cannot be free()'d or realloc()'ed;
|
||||
@@ -329,8 +329,9 @@ struct ao2_container;
|
||||
* We allocate space for a struct astobj_container, struct container
|
||||
* and the buckets[] array.
|
||||
*
|
||||
* \param my_hash_fn Pointer to a function computing a hash value.
|
||||
* \param my_cmp_fn Pointer to a function comparating key-value
|
||||
* \param n_buckets Number of buckets for hash
|
||||
* \param hash_fn Pointer to a function computing a hash value.
|
||||
* \param cmp_fn Pointer to a function comparating key-value
|
||||
* with a string. (can be NULL)
|
||||
* \return A pointer to a struct container.
|
||||
*
|
||||
@@ -354,7 +355,7 @@ int ao2_container_count(struct ao2_container *c);
|
||||
* Add an object to a container.
|
||||
*
|
||||
* \param c the container to operate on.
|
||||
* \param obj the object to be added.
|
||||
* \param newobj the object to be added.
|
||||
* \return NULL on errors, other values on success.
|
||||
*
|
||||
* This function insert an object in a container according its key.
|
||||
@@ -364,7 +365,7 @@ int ao2_container_count(struct ao2_container *c);
|
||||
void *ao2_link(struct ao2_container *c, void *newobj);
|
||||
void *ao2_unlink(struct ao2_container *c, void *newobj);
|
||||
|
||||
/*! \struct Used as return value if the flag OBJ_MULTIPLE is set */
|
||||
/*! \brief Used as return value if the flag OBJ_MULTIPLE is set */
|
||||
struct ao2_list {
|
||||
struct ao2_list *next;
|
||||
void *obj; /* pointer to the user portion of the object */
|
||||
|
||||
@@ -163,12 +163,12 @@ struct ast_frame *ast_audiohook_write_list(struct ast_channel *chan, struct ast_
|
||||
void ast_audiohook_trigger_wait(struct ast_audiohook *audiohook);
|
||||
|
||||
/*! \brief Lock an audiohook
|
||||
* \param audiohook Audiohook structure
|
||||
* \param ah Audiohook structure
|
||||
*/
|
||||
#define ast_audiohook_lock(ah) ast_mutex_lock(&(ah)->lock)
|
||||
|
||||
/*! \brief Unlock an audiohook
|
||||
* \param audiohook Audiohook structure
|
||||
* \param ah Audiohook structure
|
||||
*/
|
||||
#define ast_audiohook_unlock(ah) ast_mutex_unlock(&(ah)->lock)
|
||||
|
||||
|
||||
@@ -135,7 +135,7 @@ int ast_devstate_changed(enum ast_device_state state, const char *fmt, ...)
|
||||
* \brief Tells Asterisk the State for Device is changed
|
||||
*
|
||||
* \param state the new state of the device
|
||||
* \param fmt device name like a dial string with format parameters
|
||||
* \param device device name like a dial string with format parameters
|
||||
*
|
||||
* The new state of the device will be sent off to any subscribers
|
||||
* of device states. It will also be stored in the internal event
|
||||
|
||||
@@ -53,7 +53,8 @@ struct ast_call_feature {
|
||||
* \param chan the channel to actually be parked
|
||||
* \param host the channel which will have the parked location read to.
|
||||
* \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
|
||||
* \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
|
||||
@@ -68,7 +69,8 @@ int ast_park_call(struct ast_channel *chan, struct ast_channel *host, int timeou
|
||||
* \param rchan the real channel to be parked
|
||||
* \param host the channel to have the parking read to.
|
||||
* \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
|
||||
* \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
|
||||
* \retval 0 on success.
|
||||
* \retval -1 on failure.
|
||||
|
||||
@@ -47,23 +47,22 @@ enum
|
||||
#endif
|
||||
#define SHA1HashSize 20
|
||||
|
||||
/*
|
||||
* This structure will hold context information for the SHA-1
|
||||
* hashing operation
|
||||
*/
|
||||
/*!
|
||||
* \brief This structure will hold context information for the SHA-1 hashing operation
|
||||
*/
|
||||
typedef struct SHA1Context
|
||||
{
|
||||
uint32_t Intermediate_Hash[SHA1HashSize/4]; /* Message Digest */
|
||||
uint32_t Intermediate_Hash[SHA1HashSize/4]; /*! Message Digest */
|
||||
|
||||
uint32_t Length_Low; /* Message length in bits */
|
||||
uint32_t Length_High; /* Message length in bits */
|
||||
uint32_t Length_Low; /*!< Message length in bits */
|
||||
uint32_t Length_High; /*!< Message length in bits */
|
||||
|
||||
/* Index into message block array */
|
||||
uint32_t Message_Block_Index; /* 8 bits actually suffice */
|
||||
uint8_t Message_Block[64]; /* 512-bit message blocks */
|
||||
uint32_t Message_Block_Index; /*!< 8 bits actually suffice */
|
||||
uint8_t Message_Block[64]; /*!< 512-bit message blocks */
|
||||
|
||||
int Computed; /* Is the digest computed? */
|
||||
int Corrupted; /* Is the message digest corrupted? */
|
||||
int Computed; /*!< Is the digest computed? */
|
||||
int Corrupted; /*!< Is the message digest corrupted? */
|
||||
} SHA1Context;
|
||||
|
||||
/*
|
||||
|
||||
@@ -144,7 +144,7 @@ int __ast_string_field_init(struct ast_string_field_mgr *mgr, size_t size,
|
||||
\param needed Amount of space needed for this field
|
||||
\param fields Pointer to the first entry of the field array
|
||||
\param num_fields Number of fields in the array
|
||||
\return NULL on failure, an address for the field on success
|
||||
\return NULL on failure, an address for the field on success.
|
||||
|
||||
This function will allocate the requested amount of space from
|
||||
the field pool. If the requested amount of space is not available,
|
||||
@@ -356,7 +356,7 @@ void __ast_string_field_index_build_va(struct ast_string_field_mgr *mgr,
|
||||
/*!
|
||||
\brief Free the stringfield storage pools attached to a structure
|
||||
\param x Pointer to a structure containing fields
|
||||
\return nothing
|
||||
\return nothing.
|
||||
|
||||
After calling this macro, fields can no longer be accessed in
|
||||
structure; it should only be called immediately before freeing
|
||||
@@ -373,7 +373,7 @@ void __ast_string_field_index_build_va(struct ast_string_field_mgr *mgr,
|
||||
/*!
|
||||
\brief Free the stringfields in a structure
|
||||
\param x Pointer to a structure containing fields
|
||||
\return nothing
|
||||
\return nothing.
|
||||
|
||||
After calling this macro, the most recently allocated pool
|
||||
attached to the structure will be available for use by
|
||||
|
||||
@@ -238,14 +238,14 @@ int ast_true(const char *val);
|
||||
int ast_false(const char *val);
|
||||
|
||||
/*
|
||||
\brief Join an array of strings into a single string.
|
||||
\param s the resulting string buffer
|
||||
\param len the length of the result buffer, s
|
||||
\param w an array of strings to join
|
||||
|
||||
This function will join all of the strings in the array 'w' into a single
|
||||
string. It will also place a space in the result buffer in between each
|
||||
string from 'w'.
|
||||
* \brief Join an array of strings into a single string.
|
||||
* \param s the resulting string buffer
|
||||
* \param len the length of the result buffer, s
|
||||
* \param w an array of strings to join.
|
||||
*
|
||||
* This function will join all of the strings in the array 'w' into a single
|
||||
* string. It will also place a space in the result buffer in between each
|
||||
* string from 'w'.
|
||||
*/
|
||||
void ast_join(char *s, size_t len, char * const w[]);
|
||||
|
||||
|
||||
@@ -60,6 +60,8 @@ struct ast_audiohook_list {
|
||||
|
||||
/*! \brief Initialize an audiohook structure
|
||||
* \param audiohook Audiohook structure
|
||||
* \param type
|
||||
* \param source
|
||||
* \return Returns 0 on success, -1 on failure
|
||||
*/
|
||||
int ast_audiohook_init(struct ast_audiohook *audiohook, enum ast_audiohook_type type, const char *source)
|
||||
|
||||
@@ -73,7 +73,7 @@ void SHA1ProcessMessageBlock(SHA1Context *);
|
||||
|
||||
/*!
|
||||
* \brief SHA1Reset
|
||||
* \param context the context to be reset
|
||||
* \param context the context to be reset.
|
||||
* This function will initialize the SHA1Context in preparation
|
||||
* for computing a new SHA1 message digest.
|
||||
* \return sha Error Code.
|
||||
@@ -146,7 +146,7 @@ int SHA1Result( SHA1Context *context,
|
||||
* \param context [in/out] The SHA context to update
|
||||
* \param message_array [in] An array of characters representing the next portion of
|
||||
* the message.
|
||||
* \param length [in] The length of the message in message_array
|
||||
* \param length [in] The length of the message in message_array.
|
||||
* This function accepts an array of octets as the next portion
|
||||
* of the message.
|
||||
* \return sha Error Code.
|
||||
@@ -281,7 +281,7 @@ void SHA1ProcessMessageBlock(SHA1Context *context)
|
||||
|
||||
/*!
|
||||
* \brief Pad message to be 512 bits.
|
||||
* \param context [in/out] The context to pad
|
||||
* \param context [in/out] The context to pad.
|
||||
*
|
||||
* According to the standard, the message must be padded to an even
|
||||
* 512 bits. The first padding bit must be a '1'. The last 64
|
||||
|
||||
@@ -98,7 +98,8 @@ static SQLHSTMT custom_prepare(struct odbc_obj *obj, void *data)
|
||||
* \brief Excute an SQL query and return ast_variable list
|
||||
* \param database
|
||||
* \param table
|
||||
* \param ap list containing one or more field/operator/value set
|
||||
* \param ap list containing one or more field/operator/value set.
|
||||
*
|
||||
* Select database and preform query on table, prepare the sql statement
|
||||
* Sub-in the values to the prepared statement and execute it. Return results
|
||||
* as a ast_variable list.
|
||||
@@ -238,7 +239,8 @@ static struct ast_variable *realtime_odbc(const char *database, const char *tabl
|
||||
* \brief Excute an Select query and return ast_config list
|
||||
* \param database
|
||||
* \param table
|
||||
* \param ap list containing one or more field/operator/value set
|
||||
* \param ap list containing one or more field/operator/value set.
|
||||
*
|
||||
* Select database and preform query on table, prepare the sql statement
|
||||
* Sub-in the values to the prepared statement and execute it.
|
||||
* Execute this prepared query against several ODBC connected databases.
|
||||
@@ -385,7 +387,8 @@ static struct ast_config *realtime_multi_odbc(const char *database, const char *
|
||||
* \param table
|
||||
* \param keyfield where clause field
|
||||
* \param lookup value of field for where clause
|
||||
* \param ap list containing one or more field/value set(s)
|
||||
* \param ap list containing one or more field/value set(s).
|
||||
*
|
||||
* Update a database table, prepare the sql statement using keyfield and lookup
|
||||
* control the number of records to change. All values to be changed are stored in ap list.
|
||||
* Sub-in the values to the prepared statement and execute it.
|
||||
@@ -455,6 +458,7 @@ static int update_odbc(const char *database, const char *table, const char *keyf
|
||||
* \param database
|
||||
* \param table
|
||||
* \param ap list containing one or more field/value set(s)
|
||||
*
|
||||
* Insert a new record into database table, prepare the sql statement.
|
||||
* All values to be changed are stored in ap list.
|
||||
* Sub-in the values to the prepared statement and execute it.
|
||||
@@ -530,7 +534,8 @@ static int store_odbc(const char *database, const char *table, va_list ap)
|
||||
* \param keyfield where clause field
|
||||
* \param lookup value of field for where clause
|
||||
* \param ap list containing one or more field/value set(s)
|
||||
* Dlete a row from a database table, prepare the sql statement using keyfield and lookup
|
||||
*
|
||||
* Delete a row from a database table, prepare the sql statement using keyfield and lookup
|
||||
* control the number of records to change. Additional params to match rows are stored in ap list.
|
||||
* Sub-in the values to the prepared statement and execute it.
|
||||
*
|
||||
|
||||
@@ -261,7 +261,7 @@ static void unload_config(void);
|
||||
|
||||
/*!
|
||||
* \brief Asterisk callback function for CDR support.
|
||||
* \param cdr the CDR entry Asterisk sends us
|
||||
* \param cdr the CDR entry Asterisk sends us.
|
||||
*
|
||||
* Asterisk will call this function each time a CDR entry must be logged if
|
||||
* CDR support is enabled.
|
||||
@@ -301,6 +301,7 @@ static int add_cfg_entry(void *arg, int argc, char **argv, char **columnNames);
|
||||
* \param file the file to load from the database
|
||||
* \param cfg the struct ast_config object to use when storing variables
|
||||
* \param flags Optional flags. Not used.
|
||||
* \param suggested_incl suggest include.
|
||||
* \retval cfg object
|
||||
* \retval NULL if an error occurred
|
||||
* \see add_cfg_entry()
|
||||
|
||||
@@ -94,16 +94,6 @@ struct ast_key {
|
||||
|
||||
static AST_RWLIST_HEAD_STATIC(keys, ast_key);
|
||||
|
||||
/*!
|
||||
* \brief setting of priv key
|
||||
* \param buf
|
||||
* \param size
|
||||
* \param rwflag
|
||||
* \param userdata
|
||||
* \return length of string,-1 on failure
|
||||
*/
|
||||
|
||||
|
||||
/*!
|
||||
* \brief setting of priv key
|
||||
* \param buf
|
||||
@@ -289,10 +279,6 @@ static struct ast_key *try_load_key(char *dir, char *fname, int ifd, int ofd, in
|
||||
return key;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief signs outgoing message with public key
|
||||
* \see ast_sign_bin
|
||||
*/
|
||||
/*!
|
||||
* \brief signs outgoing message with public key
|
||||
* \see ast_sign_bin
|
||||
|
||||
@@ -211,6 +211,7 @@ static void set_c_e_p(struct ast_channel *chan, const char *context, const char
|
||||
/*!
|
||||
* \brief Check goto on transfer
|
||||
* \param chan
|
||||
*
|
||||
* Check if channel has 'GOTO_ON_BLINDXFR' set, if not exit.
|
||||
* When found make sure the types are compatible. Check if channel is valid
|
||||
* if so start the new channel else hangup the call.
|
||||
@@ -255,7 +256,8 @@ static struct ast_channel *ast_feature_request_and_dial(struct ast_channel *call
|
||||
|
||||
/*!
|
||||
* \brief bridge the call
|
||||
* \param data thread bridge
|
||||
* \param data thread bridge.
|
||||
*
|
||||
* Set Last Data for respective channels, reset cdr for channels
|
||||
* bridge call, check if we're going back to dialplan
|
||||
* if not hangup both legs of the call
|
||||
@@ -309,6 +311,7 @@ static void *ast_bridge_call_thread(void *data)
|
||||
/*!
|
||||
* \brief create thread for the parked call
|
||||
* \param data
|
||||
*
|
||||
* Create thread and attributes, call ast_bridge_call_thread
|
||||
*/
|
||||
static void ast_bridge_call_thread_launch(void *data)
|
||||
@@ -327,8 +330,8 @@ static void ast_bridge_call_thread_launch(void *data)
|
||||
|
||||
/*!
|
||||
* \brief Announce call parking by ADSI
|
||||
* \param chan
|
||||
* \param parkingexten
|
||||
* \param chan .
|
||||
* \param parkingexten .
|
||||
* Create message to show for ADSI, display message.
|
||||
* \retval 0 on success.
|
||||
* \retval -1 on failure.
|
||||
@@ -549,6 +552,7 @@ int ast_masq_park_call(struct ast_channel *rchan, struct ast_channel *peer, int
|
||||
/*!
|
||||
* \brief set caller and callee according to the direction
|
||||
* \param caller, callee, peer, chan, sense
|
||||
*
|
||||
* Detect who triggered feature and set callee/caller variables accordingly
|
||||
*/
|
||||
static void set_peers(struct ast_channel **caller, struct ast_channel **callee,
|
||||
@@ -569,7 +573,8 @@ static void set_peers(struct ast_channel **caller, struct ast_channel **callee,
|
||||
* \param peer channel to be parked
|
||||
* \param config unsed
|
||||
* \param code unused
|
||||
* \param sense feature options
|
||||
* \param sense feature options
|
||||
*
|
||||
* \param data
|
||||
* Setup channel, set return exten,priority to 's,1'
|
||||
* answer chan, sleep chan, park call
|
||||
@@ -613,7 +618,8 @@ static int builtin_parkcall(struct ast_channel *chan, struct ast_channel *peer,
|
||||
* \param peer channel to be monitored
|
||||
* \param config
|
||||
* \param code
|
||||
* \param sense
|
||||
* \param sense feature options
|
||||
*
|
||||
* \param data
|
||||
* Check monitor app enabled, setup channels, both caller/callee chans not null
|
||||
* get TOUCH_MONITOR variable for filename if exists, exec monitor app.
|
||||
@@ -719,6 +725,7 @@ static int finishup(struct ast_channel *chan)
|
||||
* \brief Find the context for the transfer
|
||||
* \param transferer
|
||||
* \param transferee
|
||||
*
|
||||
* Grab the TRANSFER_CONTEXT, if fails try grabbing macrocontext.
|
||||
* \return a context string
|
||||
*/
|
||||
@@ -736,13 +743,14 @@ static const char *real_ctx(struct ast_channel *transferer, struct ast_channel *
|
||||
|
||||
/*!
|
||||
* \brief Blind transfer user to another extension
|
||||
* \param chan channel initiated blind transfer
|
||||
* \param peer channel to be transfered
|
||||
* \param chan channel to be transfered
|
||||
* \param peer channel initiated blind transfer
|
||||
* \param config
|
||||
* \param code
|
||||
* \param sense
|
||||
* \param data
|
||||
* Place peer on hold, check if tranfered to parkinglot extension,
|
||||
* \param sense feature options
|
||||
*
|
||||
* Place chan on hold, check if transferred to parkinglot extension,
|
||||
* otherwise check extension exists and transfer caller.
|
||||
* \retval FEATURE_RETURN_SUCCESS.
|
||||
* \retval -1 on failure.
|
||||
@@ -856,16 +864,18 @@ static int check_compat(struct ast_channel *c, struct ast_channel *newchan)
|
||||
|
||||
/*!
|
||||
* \brief Attended transfer
|
||||
* \param chan
|
||||
* \param peer
|
||||
* \param chan transfered user
|
||||
* \param peer person transfering call
|
||||
* \param config
|
||||
* \param code
|
||||
* \param sense
|
||||
* \param sense feature options
|
||||
*
|
||||
* \param data
|
||||
* Get extension to transfer to, if you cannot generate channel (or find extension)
|
||||
* return to host channel. After called channel answered wait for hangup of transferer,
|
||||
* bridge call between transfer peer (taking them off hold) to attended transfer channel.
|
||||
* \return -1 means what failure/success both?
|
||||
*
|
||||
* \return -1 on failure
|
||||
*/
|
||||
static int builtin_atxfer(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense, void *data)
|
||||
{
|
||||
@@ -1129,7 +1139,8 @@ void ast_register_feature(struct ast_call_feature *feature)
|
||||
|
||||
/*!
|
||||
* \brief Add new feature group
|
||||
* \param fgname feature group name
|
||||
* \param fgname feature group name.
|
||||
*
|
||||
* Add new feature group to the feature group list insert at head of list.
|
||||
* \note This function MUST be called while feature_groups is locked.
|
||||
*/
|
||||
@@ -1163,7 +1174,8 @@ static struct feature_group* register_group(const char *fgname)
|
||||
* \brief Add feature to group
|
||||
* \param fg feature group
|
||||
* \param exten
|
||||
* \param feature feature to add
|
||||
* \param feature feature to add.
|
||||
*
|
||||
* Check fg and feature specified, add feature to list
|
||||
* \note This function MUST be called while feature_groups is locked.
|
||||
*/
|
||||
@@ -1309,7 +1321,8 @@ struct ast_call_feature *ast_find_call_feature(const char *name)
|
||||
|
||||
/*!
|
||||
* \brief exec an app by feature
|
||||
* \param chan,peer,config,code,sense
|
||||
* \param chan,peer,config,code,sense,data
|
||||
*
|
||||
* Find a feature, determine which channel activated
|
||||
* \retval FEATURE_RETURN_PBX_KEEPALIVE,FEATURE_RETURN_NO_HANGUP_PEER
|
||||
* \retval -1 error.
|
||||
@@ -1407,6 +1420,7 @@ static int remap_feature(const char *name, const char *value)
|
||||
/*!
|
||||
* \brief Check the dynamic features
|
||||
* \param chan,peer,config,code,sense
|
||||
*
|
||||
* Lock features list, browse for code, unlock list
|
||||
* \retval res on success.
|
||||
* \retval -1 on failure.
|
||||
@@ -1526,11 +1540,13 @@ static void set_config_flags(struct ast_channel *chan, struct ast_channel *peer,
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief
|
||||
* \brief Get feature and dial
|
||||
* \param caller,transferee,type,format,data,timeout,outstate,cid_num,cid_name,igncallerstate
|
||||
*
|
||||
* Request channel, set channel variables, initiate call,check if they want to disconnect
|
||||
* go into loop, check if timeout has elapsed, check if person to be transfered hung up,
|
||||
* check for answer break loop, set cdr return channel.
|
||||
*
|
||||
* \todo XXX Check - this is very similar to the code in channel.c
|
||||
* \return always a channel
|
||||
*/
|
||||
@@ -1724,6 +1740,7 @@ static struct ast_channel *ast_feature_request_and_dial(struct ast_channel *call
|
||||
/*!
|
||||
* \brief bridge the call and set CDR
|
||||
* \param chan,peer,config
|
||||
*
|
||||
* Set start time, check for two channels,check if monitor on
|
||||
* check for feature activation, create new CDR
|
||||
* \retval res on success.
|
||||
@@ -2023,7 +2040,8 @@ static void post_manager_event(const char *s, struct parkeduser *pu)
|
||||
|
||||
/*!
|
||||
* \brief Take care of parked calls and unpark them if needed
|
||||
* \param ignore unused var
|
||||
* \param ignore unused var.
|
||||
*
|
||||
* Start inf loop, lock parking lot, check if any parked channels have gone above timeout
|
||||
* if so, remove channel from parking lot and return it to the extension that parked it.
|
||||
* Check if parked channel decided to hangup, wait until next FD via select().
|
||||
@@ -2393,6 +2411,7 @@ static char mandescr_bridge[] =
|
||||
* \brief Actual bridge
|
||||
* \param chan
|
||||
* \param tmpchan
|
||||
*
|
||||
* Stop hold music, lock both channels, masq channels,
|
||||
* after bridge return channel to next priority.
|
||||
*/
|
||||
@@ -2416,11 +2435,13 @@ static void do_bridge_masquerade(struct ast_channel *chan, struct ast_channel *t
|
||||
* \brief Bridge channels together
|
||||
* \param s
|
||||
* \param m
|
||||
*
|
||||
* Make sure valid channels were specified,
|
||||
* send errors if any of the channels could not be found/locked, answer channels if needed,
|
||||
* create the placeholder channels and grab the other channels
|
||||
* make the channels compatible, send error if we fail doing so
|
||||
* setup the bridge thread object and start the bridge.
|
||||
* setup the bridge thread object and start the bridge.
|
||||
*
|
||||
* \retval 0 on success or on incorrect use.
|
||||
* \retval 1 on failure to bridge channels.
|
||||
*/
|
||||
@@ -2528,6 +2549,7 @@ static char showfeatures_help[] =
|
||||
* \param e
|
||||
* \param cmd
|
||||
* \param a
|
||||
*
|
||||
* Check right usage, lock parking lot, display parked calls, unlock parking lot list.
|
||||
* \retval CLI_SUCCESS on success.
|
||||
* \retval CLI_SHOWUSAGE on incorrect number of arguements.
|
||||
@@ -2592,6 +2614,7 @@ static struct ast_cli_entry cli_features[] = {
|
||||
* \brief Dump parking lot status
|
||||
* \param s
|
||||
* \param m
|
||||
*
|
||||
* Lock parking lot, iterate list and append parked calls status, unlock parking lot.
|
||||
* \return Always RESULT_SUCCESS
|
||||
*/
|
||||
@@ -2646,6 +2669,7 @@ static char mandescr_park[] =
|
||||
* \brief Create manager event for parked calls
|
||||
* \param s
|
||||
* \param m
|
||||
*
|
||||
* Get channels involved in park, create event.
|
||||
* \return Always 0
|
||||
*/
|
||||
@@ -2705,7 +2729,8 @@ static int manager_park(struct mansession *s, const struct message *m)
|
||||
|
||||
/*!
|
||||
* \brief Pickup a call
|
||||
* \param chan channel that initiated pickup
|
||||
* \param chan channel that initiated pickup.
|
||||
*
|
||||
* Walk list of channels, checking it is not itself, channel is pbx one,
|
||||
* check that the callgroup for both channels are the same and the channel is ringing.
|
||||
* Answer calling channel, flag channel as answered on queue, masq channels together.
|
||||
@@ -3074,7 +3099,8 @@ END_OPTIONS );
|
||||
/*!
|
||||
* \brief Bridge channels
|
||||
* \param chan
|
||||
* \param data channel to bridge with
|
||||
* \param data channel to bridge with.
|
||||
*
|
||||
* Split data, check we aren't bridging with ourself, check valid channel,
|
||||
* answer call if not already, check compatible channels, setup bridge config
|
||||
* now bridge call, if transfered party hangs up return to PBX extension.
|
||||
|
||||
@@ -508,7 +508,8 @@ static void aji_log_hook(void *data, const char *xmpp, size_t size, int is_incom
|
||||
* \param prs the XML parser
|
||||
* \param type the SASL authentication type. Supported types are PLAIN and MD5
|
||||
* \param username
|
||||
* \param pass
|
||||
* \param pass password.
|
||||
*
|
||||
* If SASL authentication type is MD5, we simply call iks_start_sasl().
|
||||
* If type is PLAIN, we compute the authentication string by ourselves,
|
||||
* because it looks like Google's jabber server does not accept the value
|
||||
|
||||
Reference in New Issue
Block a user