Merge branch 'master' of git@git.sangoma.com:smg_freeswitch
This commit is contained in:
commit
bc44d99a45
|
@ -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)
|
||||||
}
|
}
|
||||||
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)
|
||||||
}
|
}
|
||||||
|
|
||||||
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)
|
||||||
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)
|
||||||
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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue