added Proceeding state, to be more ETSI conform with outgoing setups on the Network side (no release_complete but disconnect or release in proceeding state)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@9364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Christian Richter
2006-02-10 10:10:58 +00:00
parent 4f1e5d1aef
commit 0058f40ed5

View File

@@ -120,6 +120,7 @@ enum misdn_chan_state {
MISDN_EXTCANTMATCH, /*!< when asterisk couldnt match our ext */ MISDN_EXTCANTMATCH, /*!< when asterisk couldnt match our ext */
MISDN_DIALING, /*!< when pbx_start */ MISDN_DIALING, /*!< when pbx_start */
MISDN_PROGRESS, /*!< we got a progress */ MISDN_PROGRESS, /*!< we got a progress */
MISDN_PROCEEDING, /*!< we got a progress */
MISDN_CALLING, /*!< when misdn_call is called */ MISDN_CALLING, /*!< when misdn_call is called */
MISDN_CALLING_ACKNOWLEDGE, /*!< when we get SETUP_ACK */ MISDN_CALLING_ACKNOWLEDGE, /*!< when we get SETUP_ACK */
MISDN_ALERTING, /*!< when Alerting */ MISDN_ALERTING, /*!< when Alerting */
@@ -1858,6 +1859,8 @@ static int misdn_hangup(struct ast_channel *ast)
break; break;
case MISDN_ALERTING: case MISDN_ALERTING:
case MISDN_PROGRESS:
case MISDN_PROCEEDING:
chan_misdn_log(2, bc->port, " --> * State Alerting\n"); chan_misdn_log(2, bc->port, " --> * State Alerting\n");
if (p->orginator != ORG_AST) if (p->orginator != ORG_AST)
@@ -3262,6 +3265,8 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data)
start_bc_tones(ch); start_bc_tones(ch);
} }
ch->state = MISDN_PROCEEDING;
ast_queue_control(ch->ast, AST_CONTROL_PROCEEDING); ast_queue_control(ch->ast, AST_CONTROL_PROCEEDING);
} }
break; break;
@@ -3879,6 +3884,7 @@ static int misdn_set_opt_exec(struct ast_channel *chan, void *data)
chan_misdn_log(1, ch->bc->port, "SETOPT: EchoCancel\n"); chan_misdn_log(1, ch->bc->port, "SETOPT: EchoCancel\n");
if (neglect) { if (neglect) {
chan_misdn_log(1, ch->bc->port, " --> disabled\n");
ch->bc->ec_enable=0; ch->bc->ec_enable=0;
} else { } else {
ch->bc->ec_enable=1; ch->bc->ec_enable=1;