346 if (!strcasecmp(data,
"audionativeformat"))
350 else if (!strcasecmp(data,
"videonativeformat"))
354 else if (!strcasecmp(data,
"audioreadformat"))
356 else if (!strcasecmp(data,
"audiowriteformat"))
359 else if (!strcasecmp(data,
"trace")) {
365 else if (!strcasecmp(data,
"tonezone") && chan->
zone)
367 else if (!strcasecmp(data,
"language"))
369 else if (!strcasecmp(data,
"musicclass"))
371 else if (!strcasecmp(data,
"name")) {
373 }
else if (!strcasecmp(data,
"parkinglot"))
375 else if (!strcasecmp(data,
"state"))
377 else if (!strcasecmp(data,
"channeltype"))
379 else if (!strcasecmp(data,
"accountcode"))
381 else if (!strcasecmp(data,
"checkhangup")) {
385 }
else if (!strcasecmp(data,
"peeraccount"))
387 else if (!strcasecmp(data,
"hangupsource"))
389 else if (!strcasecmp(data,
"appname") && chan->
appl)
391 else if (!strcasecmp(data,
"appdata") && chan->
data)
393 else if (!strcasecmp(data,
"exten") && chan->
data)
395 else if (!strcasecmp(data,
"context") && chan->
data)
397 else if (!strcasecmp(data,
"userfield") && chan->
data)
399 else if (!strcasecmp(data,
"channame") && chan->
data)
401 else if (!strcasecmp(data,
"linkedid")) {
411 }
else if (!strcasecmp(data,
"peer")) {
415 if (p || chan->
tech || chan->
cdr)
427 }
else if (!strcasecmp(
data,
"uniqueid")) {
429 }
else if (!strcasecmp(
data,
"transfercapability"))
431 else if (!strcasecmp(
data,
"callgroup")) {
434 }
else if (!strcasecmp(
data,
"amaflags")) {
436 snprintf(amabuf,
sizeof(amabuf),
"%d", chan->
amaflags);
438 }
else if (!strncasecmp(
data,
"secure_bridge_", 14)) {
443 if (!strcasecmp(data,
"secure_bridge_signaling")) {
444 snprintf(buf,
len,
"%s", encrypt->
signaling ?
"1" :
"");
445 }
else if (!strcasecmp(data,
"secure_bridge_media")) {
446 snprintf(buf,
len,
"%s", encrypt->
media ?
"1" :
"");
int(* func_channel_read)(struct ast_channel *chan, const char *function, char *data, char *buf, size_t len)
Provide additional read items for CHANNEL() dialplan function.
const ast_string_field peeraccount
#define ast_channel_lock(chan)
Main Channel structure associated with a channel.
struct ast_tone_zone * zone
const ast_string_field uniqueid
char context[AST_MAX_CONTEXT]
unsigned short transfercapability
Structure for a data store object.
struct ast_datastore * ast_channel_datastore_find(struct ast_channel *chan, const struct ast_datastore_info *info, const char *uid)
Find a datastore on a channel.
const char * ast_state2str(enum ast_channel_state)
Gives the string form of a given channel state.
const ast_string_field linkedid
const char * pbx_builtin_getvar_helper(struct ast_channel *chan, const char *name)
Return a pointer to the value of the corresponding channel variable.
char * ast_print_group(char *buf, int buflen, ast_group_t group)
print call- and pickup groups into buffer
static force_inline int attribute_pure ast_strlen_zero(const char *s)
#define locked_copy_string(chan, dest, source, len)
const ast_string_field parkinglot
int ast_check_hangup(struct ast_channel *chan)
Check to see if a channel is needing hang up.
struct ast_datastore_info secure_call_info
char * ast_getformatname(format_t format)
Get the name of a format.
static int len(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t buflen)
enum ast_channel_state _state
struct ast_channel * ast_bridged_channel(struct ast_channel *chan)
Find bridged channel.
const ast_string_field name
const ast_string_field hangupsource
void ast_log(int level, const char *file, int line, const char *function, const char *fmt,...)
Used for sending a log message This is the standard logger function. Probably the only way you will i...
#define AST_FORMAT_VIDEO_MASK
#define ast_channel_unlock(chan)
#define AST_FORMAT_AUDIO_MASK
const ast_string_field userfield
static const char *const transfercapability_table[0x20]
char country[16]
Country code that this set of tones is for.
void ast_copy_string(char *dst, const char *src, size_t size)
Size-limited null-terminating string copy.
const ast_string_field musicclass
const ast_string_field accountcode
struct ast_channel_tech * tech
const ast_string_field language
char exten[AST_MAX_EXTENSION]