mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-02 11:58:40 +00:00
Formatting fixes, safe_system instead of system, cleanups (bug #3171)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -77,19 +77,18 @@ static char *registrar = "res_features";
|
||||
static char *synopsis = "Answer a parked call";
|
||||
|
||||
static char *descrip = "ParkedCall(exten):"
|
||||
"Used to connect to a parked call. This Application is always\n"
|
||||
"Used to connect to a parked call. This application is always\n"
|
||||
"registered internally and does not need to be explicitly added\n"
|
||||
"into the dialplan, although you should include the 'parkedcalls'\n"
|
||||
"context.\n";
|
||||
|
||||
|
||||
static char *parkcall = "Park";
|
||||
|
||||
static char *synopsis2 = "Park yourself";
|
||||
|
||||
static char *descrip2 = "Park(exten):"
|
||||
"Used to park yourself (typically in combination with a supervised\n"
|
||||
"transfer to know the parking space. This Application is always\n"
|
||||
"transfer to know the parking space). This application is always\n"
|
||||
"registered internally and does not need to be explicitly added\n"
|
||||
"into the dialplan, although you should include the 'parkedcalls'\n"
|
||||
"context.\n";
|
||||
@@ -511,12 +510,12 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast
|
||||
ast_moh_stop(transferee);
|
||||
res=ast_autoservice_stop(transferee);
|
||||
if (!transferee->pbx) {
|
||||
/* Doh! Use our handy async_goto funcitons */
|
||||
/* Doh! Use our handy async_goto functions */
|
||||
if (option_verbose > 2)
|
||||
ast_verbose(VERBOSE_PREFIX_3 "Transferring %s to '%s' (context %s) priority 1\n"
|
||||
,transferee->name, newext, transferer_real_context);
|
||||
if (ast_async_goto(transferee, transferer_real_context, newext, 1))
|
||||
ast_log(LOG_WARNING, "Async goto fialed :(\n");
|
||||
ast_log(LOG_WARNING, "Async goto failed :-(\n");
|
||||
res = -1;
|
||||
} else {
|
||||
/* Set the channel's new extension, since it exists, using transferer context */
|
||||
@@ -545,12 +544,12 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast
|
||||
ast_verbose(VERBOSE_PREFIX_2 "Hungup during autoservice stop on '%s'\n", transferee->name);
|
||||
}
|
||||
} else {
|
||||
if (f && (f->frametype == AST_FRAME_DTMF)) {
|
||||
if (who == peer)
|
||||
ast_write(chan, f);
|
||||
else
|
||||
ast_write(peer, f);
|
||||
}
|
||||
if (f && (f->frametype == AST_FRAME_DTMF)) {
|
||||
if (who == peer)
|
||||
ast_write(chan, f);
|
||||
else
|
||||
ast_write(peer, f);
|
||||
}
|
||||
#if 1
|
||||
ast_log(LOG_DEBUG, "Read from %s (%d,%d)\n", who->name, f->frametype, f->subclass);
|
||||
#endif
|
||||
@@ -602,14 +601,14 @@ static void *do_parking_thread(void *ignore)
|
||||
/* Stop music on hold */
|
||||
ast_moh_stop(pu->chan);
|
||||
/* Get chan, exten from derived kludge */
|
||||
if (pu->peername[0])
|
||||
{
|
||||
peername = strdupa(pu->peername);
|
||||
cp = strrchr(peername,'-');
|
||||
if (cp) *cp = 0;
|
||||
if (pu->peername[0]) {
|
||||
peername = ast_strdupa(pu->peername);
|
||||
cp = strrchr(peername, '-');
|
||||
if (cp)
|
||||
*cp = 0;
|
||||
con = ast_context_find(parking_con_dial);
|
||||
if (!con) {
|
||||
con = ast_context_create(NULL,parking_con_dial, registrar);
|
||||
con = ast_context_create(NULL, parking_con_dial, registrar);
|
||||
if (!con) {
|
||||
ast_log(LOG_ERROR, "Parking dial context '%s' does not exist and unable to create\n", parking_con_dial);
|
||||
}
|
||||
@@ -617,8 +616,8 @@ static void *do_parking_thread(void *ignore)
|
||||
if (con) {
|
||||
ast_add_extension2(con, 1, peername, 1, NULL, NULL, "Dial", strdup(peername), free, registrar);
|
||||
}
|
||||
strncpy(pu->chan->exten, peername, sizeof(pu->chan->exten)-1);
|
||||
strncpy(pu->chan->context, parking_con_dial, sizeof(pu->chan->context)-1);
|
||||
strncpy(pu->chan->exten, peername, sizeof(pu->chan->exten) - 1);
|
||||
strncpy(pu->chan->context, parking_con_dial, sizeof(pu->chan->context) - 1);
|
||||
pu->chan->priority = 1;
|
||||
|
||||
} else {
|
||||
@@ -651,7 +650,7 @@ static void *do_parking_thread(void *ignore)
|
||||
ast_log(LOG_WARNING, "Whoa, no parking context?\n");
|
||||
free(pt);
|
||||
} else {
|
||||
for (x=0;x<AST_MAX_FDS;x++) {
|
||||
for (x=0; x<AST_MAX_FDS; x++) {
|
||||
if ((pu->chan->fds[x] > -1) && (FD_ISSET(pu->chan->fds[x], &rfds) || FD_ISSET(pu->chan->fds[x], &efds))) {
|
||||
if (FD_ISSET(pu->chan->fds[x], &efds))
|
||||
ast_set_flag(pu->chan, AST_FLAG_EXCEPTION);
|
||||
@@ -689,7 +688,7 @@ static void *do_parking_thread(void *ignore)
|
||||
}
|
||||
}
|
||||
if (x >= AST_MAX_FDS) {
|
||||
std: for (x=0;x<AST_MAX_FDS;x++) {
|
||||
std: for (x=0; x<AST_MAX_FDS; x++) {
|
||||
/* Keep this one for next one */
|
||||
if (pu->chan->fds[x] > -1) {
|
||||
FD_SET(pu->chan->fds[x], &nrfds);
|
||||
@@ -830,13 +829,13 @@ static int park_exec(struct ast_channel *chan, void *data)
|
||||
return res;
|
||||
} else {
|
||||
/* XXX Play a message XXX */
|
||||
dres = ast_streamfile(chan, "pbx-invalidpark", chan->language);
|
||||
if (!dres)
|
||||
dres = ast_waitstream(chan, "");
|
||||
else {
|
||||
ast_log(LOG_WARNING, "ast_streamfile of %s failed on %s\n", "pbx-invalidpark", chan->name);
|
||||
dres = 0;
|
||||
}
|
||||
dres = ast_streamfile(chan, "pbx-invalidpark", chan->language);
|
||||
if (!dres)
|
||||
dres = ast_waitstream(chan, "");
|
||||
else {
|
||||
ast_log(LOG_WARNING, "ast_streamfile of %s failed on %s\n", "pbx-invalidpark", chan->name);
|
||||
dres = 0;
|
||||
}
|
||||
if (option_verbose > 2)
|
||||
ast_verbose(VERBOSE_PREFIX_3 "Channel %s tried to talk to non-existant parked call %d\n", chan->name, park);
|
||||
res = -1;
|
||||
@@ -854,7 +853,7 @@ static int handle_parkedcalls(int fd, int argc, char *argv[])
|
||||
|
||||
ast_mutex_lock(&parking_lock);
|
||||
|
||||
cur=parkinglot;
|
||||
cur = parkinglot;
|
||||
while(cur) {
|
||||
ast_cli(fd, "%4d %25s (%-15s %-12s %-4d) %6lds\n"
|
||||
,cur->parkingnum, cur->chan->name, cur->context, cur->exten
|
||||
@@ -1010,7 +1009,8 @@ int ast_pickup_call(struct ast_channel *chan)
|
||||
cur = ast_channel_walk_locked(cur);
|
||||
}
|
||||
if (cur) {
|
||||
ast_log(LOG_DEBUG, "Call pickup on chan '%s' by '%s'\n",cur->name, chan->name);
|
||||
if (option_debug)
|
||||
ast_log(LOG_DEBUG, "Call pickup on chan '%s' by '%s'\n",cur->name, chan->name);
|
||||
res = ast_answer(chan);
|
||||
if (res)
|
||||
ast_log(LOG_WARNING, "Unable to answer '%s'\n", chan->name);
|
||||
@@ -1022,7 +1022,8 @@ int ast_pickup_call(struct ast_channel *chan)
|
||||
ast_log(LOG_WARNING, "Unable to masquerade '%s' into '%s'\n", chan->name, cur->name); /* Done */
|
||||
ast_mutex_unlock(&cur->lock);
|
||||
} else {
|
||||
ast_log(LOG_DEBUG, "No call pickup possible...\n");
|
||||
if (option_debug)
|
||||
ast_log(LOG_DEBUG, "No call pickup possible...\n");
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -33,22 +33,24 @@ static char *monitor_descrip = "Monitor([file_format[:urlbase]|[fname_base]|[opt
|
||||
"Used to start monitoring a channel. The channel's input and output\n"
|
||||
"voice packets are logged to files until the channel hangs up or\n"
|
||||
"monitoring is stopped by the StopMonitor application.\n"
|
||||
" file_format -- optional, if not set, defaults to \"wav\"\n"
|
||||
" fname_base -- if set, changes the filename used to the one specified.\n"
|
||||
" options:\n"
|
||||
" 'm' - when the recording ends mix the two leg files into one and\n"
|
||||
" delete the two leg files. If MONITOR_EXEC is set, the\n"
|
||||
" application refernced in it will be executed instead of\n"
|
||||
" soxmix and the raw leg files will NOT be deleted automatically.\n"
|
||||
" soxmix or MONITOR_EXEC is handed 3 arguments, the two leg files\n"
|
||||
" and a target mixed file name which is the same as the leg file names\n"
|
||||
" only without the in/out designator.\n"
|
||||
" If MONITOR_EXEC_ARGS is set, the contents will be passed on as\n"
|
||||
" additional arguements to MONITOR_EXEC\n"
|
||||
" Both MONITOR_EXEC and the Mix flag can be set from the\n"
|
||||
" administrator interface\n\n"
|
||||
" file_format optional, if not set, defaults to \"wav\"\n"
|
||||
" fname_base if set, changes the filename used to the one specified.\n"
|
||||
" options:\n"
|
||||
" m - when the recording ends mix the two leg files into one and\n"
|
||||
" delete the two leg files. If the variable MONITOR_EXEC is set, the\n"
|
||||
" application referenced in it will be executed instead of\n"
|
||||
" soxmix and the raw leg files will NOT be deleted automatically.\n"
|
||||
" soxmix or MONITOR_EXEC is handed 3 arguments, the two leg files\n"
|
||||
" and a target mixed file name which is the same as the leg file names\n"
|
||||
" only without the in/out designator.\n"
|
||||
" If MONITOR_EXEC_ARGS is set, the contents will be passed on as\n"
|
||||
" additional arguements to MONITOR_EXEC\n"
|
||||
" Both MONITOR_EXEC and the Mix flag can be set from the\n"
|
||||
" administrator interface\n"
|
||||
"\n"
|
||||
" 'b' - Don't begin recording unless a call is bridged to another channel\n"
|
||||
" b - Don't begin recording unless a call is bridged to another channel\n"
|
||||
"\nReturns -1 if monitor files can't be opened or if the channel is already\n"
|
||||
"monitored, otherwise 0.\n"
|
||||
;
|
||||
|
||||
static char *stopmonitor_synopsis = "Stop monitoring a channel";
|
||||
@@ -58,10 +60,9 @@ static char *stopmonitor_descrip = "StopMonitor\n"
|
||||
|
||||
static char *changemonitor_synopsis = "Change monitoring filename of a channel";
|
||||
|
||||
static char *changemonitor_descrip = "ChangeMonitor\n"
|
||||
static char *changemonitor_descrip = "ChangeMonitor(filename_base)\n"
|
||||
"Changes monitoring filename of a channel. Has no effect if the channel is not monitored\n"
|
||||
"The option string may contain the following:\n"
|
||||
" filename_base -- if set, changes the filename used to the one specified.\n";
|
||||
"The argument is the new filename base to use for monitoring this channel.\n";
|
||||
|
||||
/* Start monitoring a channel */
|
||||
int ast_monitor_start( struct ast_channel *chan, const char *format_spec,
|
||||
@@ -105,7 +106,7 @@ int ast_monitor_start( struct ast_channel *chan, const char *format_spec,
|
||||
char *name = strdup(fname_base);
|
||||
snprintf(tmp, sizeof(tmp), "mkdir -p \"%s\"",dirname(name));
|
||||
free(name);
|
||||
system(tmp);
|
||||
ast_safe_system(tmp);
|
||||
}
|
||||
snprintf(monitor->read_filename, FILENAME_MAX, "%s/%s-in",
|
||||
directory ? "" : AST_MONITOR_DIR, fname_base);
|
||||
@@ -286,7 +287,7 @@ int ast_monitor_change_fname(struct ast_channel *chan, const char *fname_base, i
|
||||
char *name = strdup(fname_base);
|
||||
snprintf(tmp, sizeof(tmp), "mkdir -p %s",dirname(name));
|
||||
free(name);
|
||||
system(tmp);
|
||||
ast_safe_system(tmp);
|
||||
}
|
||||
|
||||
snprintf(chan->monitor->filename_base, FILENAME_MAX, "%s/%s", directory ? "" : AST_MONITOR_DIR, fname_base);
|
||||
@@ -528,6 +529,10 @@ int unload_module(void)
|
||||
{
|
||||
ast_unregister_application("Monitor");
|
||||
ast_unregister_application("StopMonitor");
|
||||
ast_unregister_application("ChangeMonitor");
|
||||
ast_manager_unregister("Monitor");
|
||||
ast_manager_unregister("StopMonitor");
|
||||
ast_manager_unregister("ChangeMonitor");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user