mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-07 10:28:32 +00:00
Version 0.1.11 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -313,15 +313,34 @@ static int dial_exec(struct ast_channel *chan, void *data)
|
|||||||
cur = rest;
|
cur = rest;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (strlen(tmp->chan->call_forward)) {
|
||||||
|
if (option_verbose > 2)
|
||||||
|
ast_verbose(VERBOSE_PREFIX_3 "Forwarding call to '%s@%s'\n", tmp->chan->call_forward, tmp->chan->context);
|
||||||
|
/* Setup parameters */
|
||||||
|
strncpy(chan->exten, tmp->chan->call_forward, sizeof(chan->exten));
|
||||||
|
strncpy(chan->context, tmp->chan->context, sizeof(chan->context));
|
||||||
|
chan->priority = 0;
|
||||||
|
to = 0;
|
||||||
|
ast_hangup(tmp->chan);
|
||||||
|
free(tmp);
|
||||||
|
cur = rest;
|
||||||
|
break;
|
||||||
|
}
|
||||||
tmp->chan->appl = "AppDial";
|
tmp->chan->appl = "AppDial";
|
||||||
tmp->chan->data = "(Outgoing Line)";
|
tmp->chan->data = "(Outgoing Line)";
|
||||||
tmp->chan->whentohangup = 0;
|
tmp->chan->whentohangup = 0;
|
||||||
if (tmp->chan->callerid)
|
if (tmp->chan->callerid)
|
||||||
free(tmp->chan->callerid);
|
free(tmp->chan->callerid);
|
||||||
|
if (tmp->chan->ani)
|
||||||
|
free(tmp->chan->ani);
|
||||||
if (chan->callerid)
|
if (chan->callerid)
|
||||||
tmp->chan->callerid = strdup(chan->callerid);
|
tmp->chan->callerid = strdup(chan->callerid);
|
||||||
else
|
else
|
||||||
tmp->chan->callerid = NULL;
|
tmp->chan->callerid = NULL;
|
||||||
|
if (chan->ani)
|
||||||
|
tmp->chan->ani = strdup(chan->ani);
|
||||||
|
else
|
||||||
|
tmp->chan->ani = NULL;
|
||||||
/* Presense of ADSI CPE on outgoing channel follows ours */
|
/* Presense of ADSI CPE on outgoing channel follows ours */
|
||||||
tmp->chan->adsicpe = chan->adsicpe;
|
tmp->chan->adsicpe = chan->adsicpe;
|
||||||
/* Place the call, but don't wait on the answer */
|
/* Place the call, but don't wait on the answer */
|
||||||
|
|||||||
@@ -169,8 +169,8 @@ struct ast_channel {
|
|||||||
char *dnid;
|
char *dnid;
|
||||||
/*! Malloc'd Caller ID */
|
/*! Malloc'd Caller ID */
|
||||||
char *callerid;
|
char *callerid;
|
||||||
/*! Malloc'd Hidden Caller*ID */
|
/*! Malloc'd ANI */
|
||||||
char *hidden_callerid;
|
char *ani;
|
||||||
|
|
||||||
|
|
||||||
/*! Current extension context */
|
/*! Current extension context */
|
||||||
@@ -203,6 +203,8 @@ struct ast_channel {
|
|||||||
struct ast_cdr *cdr;
|
struct ast_cdr *cdr;
|
||||||
/*! Whether or not ADSI is detected on CPE */
|
/*! Whether or not ADSI is detected on CPE */
|
||||||
int adsicpe;
|
int adsicpe;
|
||||||
|
/*! Where to forward to if asked to dial on this interface */
|
||||||
|
char call_forward[AST_MAX_EXTENSION];
|
||||||
/*! For easy linking */
|
/*! For easy linking */
|
||||||
struct ast_channel *next;
|
struct ast_channel *next;
|
||||||
|
|
||||||
@@ -445,7 +447,7 @@ char ast_waitfordigit(struct ast_channel *c, int ms);
|
|||||||
/*!
|
/*!
|
||||||
* \param c channel to read from
|
* \param c channel to read from
|
||||||
* \param s string to read in to. Must be at least the size of your length
|
* \param s string to read in to. Must be at least the size of your length
|
||||||
* \param len how many digits to read
|
* \param len how many digits to read (maximum)
|
||||||
* \param timeout how long to timeout between digits
|
* \param timeout how long to timeout between digits
|
||||||
* \param rtimeout timeout to wait on the first digit
|
* \param rtimeout timeout to wait on the first digit
|
||||||
* \param enders digits to end the string
|
* \param enders digits to end the string
|
||||||
|
|||||||
Reference in New Issue
Block a user