26#ifndef _ASTERISK_CDR_H
27#define _ASTERISK_CDR_H
447int ast_cdr_reset(
const char *channel_name,
int keep_variables);
int ast_cdr_is_enabled(void)
Return TRUE if CDR subsystem is enabled.
void ast_cdr_setuserfield(const char *channel_name, const char *userfield)
Set CDR user field for channel (stored in CDR)
int ast_cdr_modifier_register(const char *name, const char *desc, ast_cdrbe be)
Register a CDR modifier.
void ast_cdr_free(struct ast_cdr *cdr)
Free a CDR record.
ast_cdr_settings
CDR engine settings.
@ CDR_IGNORE_STATE_CHANGES
@ CDR_CHANNEL_DEFAULT_ENABLED
@ CDR_IGNORE_DIAL_CHANGES
void ast_cdr_set_config(struct ast_cdr_config *config)
Set the current CDR configuration.
ast_cdr_batch_mode_settings
CDR Batch Mode settings.
@ BATCH_MODE_SAFE_SHUTDOWN
@ BATCH_MODE_SCHEDULER_ONLY
struct stasis_message_router * ast_cdr_message_router(void)
Return the message router for the CDR engine.
int ast_cdr_modifier_unregister(const char *name)
Unregister a CDR modifier.
int ast_cdr_clear_property(const char *channel_name, enum ast_cdr_options option)
Clear a property on a CDR for a channel.
int ast_cdr_setvar(const char *channel_name, const char *name, const char *value)
Set a variable on a CDR.
void ast_cdr_format_var(struct ast_cdr *cdr, const char *name, char **ret, char *workspace, int workspacelen, int raw)
Format a CDR variable from an already posted CDR.
ast_cdr_disposition
CDR Flags - Disposition.
void ast_cdr_engine_term(void)
struct ast_cdr * ast_cdr_alloc(void)
Allocate a CDR record.
int(* ast_cdrbe)(struct ast_cdr *cdr)
CDR backend callback.
int ast_cdr_backend_unsuspend(const char *name)
Unsuspend a CDR backend.
ast_cdr_options
CDR manipulation options. Certain function calls will manipulate the state of a CDR object based on t...
@ AST_CDR_FLAG_DISABLE_ALL
@ AST_CDR_FLAG_SET_ANSWER
int ast_cdr_fork(const char *channel_name, struct ast_flags *options)
Fork a CDR.
int ast_cdr_getvar(const char *channel_name, const char *name, char *value, size_t length)
Retrieve a CDR variable from a channel's current CDR.
int ast_cdr_unregister(const char *name)
Unregister a CDR handling engine.
int ast_cdr_serialize_variables(const char *channel_name, struct ast_str **buf, char delim, char sep)
Serializes all the data and variables for a current CDR record.
const char * ast_cdr_disp2str(int disposition)
Disposition to a string.
int ast_cdr_register(const char *name, const char *desc, ast_cdrbe be)
Register a CDR handling engine.
int ast_cdr_backend_suspend(const char *name)
Suspend a CDR backend temporarily.
struct ast_cdr_config * ast_cdr_get_config(void)
Obtain the current CDR configuration.
struct ast_cdr * ast_cdr_dup(struct ast_cdr *cdr)
Duplicate a public CDR.
int ast_cdr_reset(const char *channel_name, int keep_variables)
Reset the detail record.
int ast_cdr_set_property(const char *channel_name, enum ast_cdr_options option)
Set a property on a CDR for a channel.
static const char config[]
General Asterisk PBX channel definitions.
#define AST_MAX_ACCOUNT_CODE
#define AST_MAX_TENANT_ID
#define AST_MAX_USER_FIELD
#define AST_MAX_EXTENSION
struct ast_flags settings
The global options available for CDRs.
struct ast_flags settings
struct ast_cdr_config::batch_settings batch_settings
Responsible for call detail data.
char dstchannel[AST_MAX_EXTENSION]
char lastdata[AST_MAX_EXTENSION]
char linkedid[AST_MAX_UNIQUEID]
char userfield[AST_MAX_USER_FIELD]
char peertenantid[AST_MAX_TENANT_ID]
char channel[AST_MAX_EXTENSION]
char peeraccount[AST_MAX_ACCOUNT_CODE]
char src[AST_MAX_EXTENSION]
char dst[AST_MAX_EXTENSION]
char clid[AST_MAX_EXTENSION]
char uniqueid[AST_MAX_UNIQUEID]
char tenantid[AST_MAX_TENANT_ID]
char accountcode[AST_MAX_ACCOUNT_CODE]
char lastapp[AST_MAX_EXTENSION]
char dcontext[AST_MAX_EXTENSION]
Structure used to handle boolean flags.
Support for dynamic strings.