提交 bc44d99a authored 作者: Arnaldo Pereira's avatar Arnaldo Pereira

Merge branch 'master' of git@git.sangoma.com:smg_freeswitch

...@@ -2033,7 +2033,6 @@ static FIO_SIGNAL_CB_FUNCTION(on_r2_signal) ...@@ -2033,7 +2033,6 @@ static FIO_SIGNAL_CB_FUNCTION(on_r2_signal)
break; break;
case FTDM_SIGEVENT_PROGRESS: case FTDM_SIGEVENT_PROGRESS:
case FTDM_SIGEVENT_PROGRESS_MEDIA:
{ {
if ((session = ftdm_channel_get_session(sigmsg->channel, 0))) { if ((session = ftdm_channel_get_session(sigmsg->channel, 0))) {
channel = switch_core_session_get_channel(session); channel = switch_core_session_get_channel(session);
...@@ -2043,6 +2042,16 @@ static FIO_SIGNAL_CB_FUNCTION(on_r2_signal) ...@@ -2043,6 +2042,16 @@ static FIO_SIGNAL_CB_FUNCTION(on_r2_signal)
} }
break; break;
case FTDM_SIGEVENT_PROGRESS_MEDIA:
{
if ((session = ftdm_channel_get_session(sigmsg->channel, 0))) {
channel = switch_core_session_get_channel(session);
switch_channel_mark_pre_answered(channel);
switch_core_session_rwunlock(session);
}
}
break;
case FTDM_SIGEVENT_UP: case FTDM_SIGEVENT_UP:
{ {
if ((session = ftdm_channel_get_session(sigmsg->channel, 0))) { if ((session = ftdm_channel_get_session(sigmsg->channel, 0))) {
......
...@@ -382,9 +382,6 @@ static FIO_CHANNEL_OUTGOING_CALL_FUNCTION(r2_outgoing_call) ...@@ -382,9 +382,6 @@ static FIO_CHANNEL_OUTGOING_CALL_FUNCTION(r2_outgoing_call)
} }
ft_r2_clean_call(ftdmchan->call_data); ft_r2_clean_call(ftdmchan->call_data);
R2CALL(ftdmchan)->ftdm_call_started = 1;
R2CALL(ftdmchan)->chanstate = FTDM_CHANNEL_STATE_DOWN;
ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_DIALING);
/* start io dump */ /* start io dump */
if (r2data->mf_dump_size) { if (r2data->mf_dump_size) {
...@@ -395,18 +392,16 @@ static FIO_CHANNEL_OUTGOING_CALL_FUNCTION(r2_outgoing_call) ...@@ -395,18 +392,16 @@ static FIO_CHANNEL_OUTGOING_CALL_FUNCTION(r2_outgoing_call)
callstatus = openr2_chan_make_call(R2CALL(ftdmchan)->r2chan, callstatus = openr2_chan_make_call(R2CALL(ftdmchan)->r2chan,
ftdmchan->caller_data.cid_num.digits, ftdmchan->caller_data.cid_num.digits,
ftdmchan->caller_data.dnis.digits, ftdmchan->caller_data.dnis.digits,
OR2_CALLING_PARTY_CATEGORY_NATIONAL_SUBSCRIBER); r2data->category);
if (callstatus) { if (callstatus) {
ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, "Failed to make call in R2 channel, openr2_chan_make_call failed\n"); ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, "Failed to make call in R2 channel, openr2_chan_make_call failed\n");
return FTDM_FAIL; return FTDM_FAIL;
} }
if (ftdmchan->state != FTDM_CHANNEL_STATE_DIALING) { R2CALL(ftdmchan)->ftdm_call_started = 1;
ftdm_log_chan(ftdmchan, FTDM_LOG_WARNING, "Collision after call attempt, try another channel, new state = %s\n", R2CALL(ftdmchan)->chanstate = FTDM_CHANNEL_STATE_DOWN;
ftdm_channel_state2str(ftdmchan->state)); ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_DIALING);
return FTDM_BREAK;
}
ftdm_channel_set_feature(ftdmchan, FTDM_CHANNEL_FEATURE_IO_STATS); ftdm_channel_set_feature(ftdmchan, FTDM_CHANNEL_FEATURE_IO_STATS);
ftdm_channel_command(ftdmchan, FTDM_COMMAND_FLUSH_TX_BUFFERS, NULL); ftdm_channel_command(ftdmchan, FTDM_COMMAND_FLUSH_TX_BUFFERS, NULL);
...@@ -1354,6 +1349,7 @@ static FIO_CONFIGURE_SPAN_SIGNALING_FUNCTION(ftdm_r2_configure_span_signaling) ...@@ -1354,6 +1349,7 @@ static FIO_CONFIGURE_SPAN_SIGNALING_FUNCTION(ftdm_r2_configure_span_signaling)
hashtable_insert(spanpvt->r2calls, (void *)r2call->name, r2call, HASHTABLE_FLAG_FREE_VALUE); hashtable_insert(spanpvt->r2calls, (void *)r2call->name, r2call, HASHTABLE_FLAG_FREE_VALUE);
} }
r2data->mf_dump_size = r2conf.mf_dump_size; r2data->mf_dump_size = r2conf.mf_dump_size;
r2data->category = r2conf.category;
r2data->flags = 0; r2data->flags = 0;
spanpvt->r2context = r2data->r2context; spanpvt->r2context = r2data->r2context;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论