aboutsummaryrefslogtreecommitdiffstats
path: root/pbx.c
diff options
context:
space:
mode:
Diffstat (limited to 'pbx.c')
-rwxr-xr-xpbx.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/pbx.c b/pbx.c
index f0e988eac..7344dd328 100755
--- a/pbx.c
+++ b/pbx.c
@@ -166,6 +166,7 @@ static int pbx_builtin_waitexten(struct ast_channel *, void *);
static int pbx_builtin_setlanguage(struct ast_channel *, void *);
static int pbx_builtin_resetcdr(struct ast_channel *, void *);
static int pbx_builtin_setaccount(struct ast_channel *, void *);
+static int pbx_builtin_setamaflags(struct ast_channel *, void *);
static int pbx_builtin_ringing(struct ast_channel *, void *);
static int pbx_builtin_progress(struct ast_channel *, void *);
static int pbx_builtin_congestion(struct ast_channel *, void *);
@@ -320,6 +321,11 @@ static struct pbx_builtin {
" SetAccount([account]): Set the channel account code for billing\n"
"purposes. Always returns 0.\n" },
+ { "SetAMAFlags", pbx_builtin_setamaflags,
+"Sets AMA Flags",
+" SetAMAFlags([flag]): Set the channel AMA Flags for billing\n"
+"purposes. Always returns 0.\n" },
+
{ "SetGlobalVar", pbx_builtin_setglobalvar,
"Set variable to value",
" SetGlobalVar(#n=value): Sets global variable n to value" },
@@ -4267,7 +4273,7 @@ static int pbx_builtin_resetcdr(struct ast_channel *chan, void *data)
static int pbx_builtin_setaccount(struct ast_channel *chan, void *data)
{
- /* Copy the language as specified */
+ /* Copy the account code as specified */
if (data)
ast_cdr_setaccount(chan, (char *)data);
else
@@ -4275,6 +4281,16 @@ static int pbx_builtin_setaccount(struct ast_channel *chan, void *data)
return 0;
}
+static int pbx_builtin_setamaflags(struct ast_channel *chan, void *data)
+{
+ /* Copy the AMA Flags as specified */
+ if (data)
+ ast_cdr_setamaflags(chan, (char *)data);
+ else
+ ast_cdr_setamaflags(chan, "");
+ return 0;
+}
+
static int pbx_builtin_hangup(struct ast_channel *chan, void *data)
{
/* Just return non-zero and it will hang up */