adde incoming_early_audio option, to avoid sending tone indications to the remote party on incoming calls from the pstn, this shouldnt be enabled, only if the provider allows it
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
parent
f6bd1b8559
commit
afaf8e4c04
|
@ -150,6 +150,8 @@ struct chan_list {
|
|||
int norxtone;
|
||||
int notxtone;
|
||||
|
||||
int incoming_early_audio;
|
||||
|
||||
int pipe[2];
|
||||
char ast_rd_buf[4096];
|
||||
struct ast_frame frame;
|
||||
|
@ -1210,6 +1212,8 @@ static int read_config(struct chan_list *ch, int orig) {
|
|||
misdn_cfg_get( port, MISDN_CFG_TXGAIN, &bc->txgain, sizeof(int));
|
||||
misdn_cfg_get( port, MISDN_CFG_RXGAIN, &bc->rxgain, sizeof(int));
|
||||
|
||||
misdn_cfg_get( port, MISDN_CFG_INCOMING_EARLY_AUDIO, &ch->incoming_early_audio, sizeof(int));
|
||||
|
||||
misdn_cfg_get( port, MISDN_CFG_SENDDTMF, &bc->send_dtmf, sizeof(int));
|
||||
|
||||
misdn_cfg_get( port, MISDN_CFG_NEED_MORE_INFOS, &bc->need_more_infos, sizeof(int));
|
||||
|
@ -1733,6 +1737,10 @@ static int misdn_indication(struct ast_channel *ast, int cond)
|
|||
p->state=MISDN_ALERTING;
|
||||
chan_misdn_log(1, p->bc->port, " --> * IND :\tringing pid:%d\n",p->bc?p->bc->pid:-1);
|
||||
misdn_lib_send_event( p->bc, EVENT_ALERTING);
|
||||
|
||||
if ( !p->bc->nt && (p->orginator==ORG_MISDN) && !p->incoming_early_audio )
|
||||
chan_misdn_log(1,p->bc->port, " --> incoming_early_audio off\n");
|
||||
else
|
||||
tone_indicate(p, TONE_ALERTING);
|
||||
chan_misdn_log(1, p->bc->port, " --> * SEND: State Ring pid:%d\n",p->bc?p->bc->pid:-1);
|
||||
ast_setstate(ast,AST_STATE_RINGING);
|
||||
|
@ -2860,6 +2868,10 @@ static void do_immediate_setup(struct misdn_bchannel *bc,struct chan_list *ch ,
|
|||
ret = misdn_lib_send_event(bc, EVENT_PROCEEDING );
|
||||
}
|
||||
}
|
||||
|
||||
if ( !bc->nt && (ch->orginator==ORG_MISDN) && !ch->incoming_early_audio )
|
||||
chan_misdn_log(1,bc->port, " --> incoming_early_audio off\n");
|
||||
else
|
||||
tone_indicate(ch,TONE_DIAL);
|
||||
|
||||
chan_misdn_log(1, bc->port, "* Starting Ast ctx:%s dad:%s oad:%s with 's' extension\n", ast->context, ast->exten, AST_CID_P(ast));
|
||||
|
|
|
@ -43,6 +43,7 @@ enum misdn_cfg_elements {
|
|||
MISDN_CFG_SENDDTMF, /* int (bool) */
|
||||
MISDN_CFG_HOLD_ALLOWED, /* int (bool) */
|
||||
MISDN_CFG_EARLY_BCONNECT, /* int (bool) */
|
||||
MISDN_CFG_INCOMING_EARLY_AUDIO, /* int (bool) */
|
||||
MISDN_CFG_ECHOCANCEL, /* int */
|
||||
MISDN_CFG_ECHOCANCELWHENBRIDGED, /* int (bool) */
|
||||
MISDN_CFG_ECHOTRAINING, /* int (bool) */
|
||||
|
|
|
@ -104,6 +104,7 @@ static const struct misdn_cfg_spec port_spec[] = {
|
|||
{ "senddtmf", MISDN_CFG_SENDDTMF, MISDN_CTYPE_BOOL, "no", NONE },
|
||||
{ "hold_allowed", MISDN_CFG_HOLD_ALLOWED, MISDN_CTYPE_BOOL, "no", NONE },
|
||||
{ "early_bconnect", MISDN_CFG_EARLY_BCONNECT, MISDN_CTYPE_BOOL, "yes", NONE },
|
||||
{ "incoming_early_audio", MISDN_CFG_INCOMING_EARLY_AUDIO, MISDN_CTYPE_BOOL, "no", NONE },
|
||||
{ "echocancel", MISDN_CFG_ECHOCANCEL, MISDN_CTYPE_BOOLINT, "0", 128 },
|
||||
{ "echocancelwhenbridged", MISDN_CFG_ECHOCANCELWHENBRIDGED, MISDN_CTYPE_BOOL, "no", NONE },
|
||||
{ "echotraining", MISDN_CFG_ECHOTRAINING, MISDN_CTYPE_BOOLINT, "0", 1 },
|
||||
|
|
|
@ -197,6 +197,17 @@ localdialplan=0
|
|||
;
|
||||
early_bconnect=yes
|
||||
|
||||
|
||||
;
|
||||
; turn this on if you like to send Tone Indications to a Incoming
|
||||
; isdn channel on a TE Port. Rarely used, only if the Telco allows
|
||||
; you to send indications by yourself, normally the Telco sends the
|
||||
; indications to the remote party.
|
||||
;
|
||||
; default: no
|
||||
;
|
||||
incoming_early_audio=no
|
||||
|
||||
; uncomment the following to get into s extension at extension conf
|
||||
; there you can use DigitTimeout if you can't or don't want to use
|
||||
; isdn overlap dial.
|
||||
|
|
Loading…
Reference in New Issue