mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-15 00:22:35 +00:00
freetdm: ftmod_libpri - add support for RINGING state
This commit is contained in:
parent
3d9ed976cd
commit
15b5170b14
@ -841,9 +841,9 @@ static switch_status_t channel_receive_message_b(switch_core_session_t *session,
|
|||||||
assert(tech_pvt != NULL);
|
assert(tech_pvt != NULL);
|
||||||
|
|
||||||
if (switch_test_flag(tech_pvt, TFLAG_DEAD)) {
|
if (switch_test_flag(tech_pvt, TFLAG_DEAD)) {
|
||||||
switch_channel_hangup(channel, SWITCH_CAUSE_LOSE_RACE);
|
switch_channel_hangup(channel, SWITCH_CAUSE_LOSE_RACE);
|
||||||
return SWITCH_STATUS_FALSE;
|
return SWITCH_STATUS_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ftdm_channel_call_check_hangup(tech_pvt->ftdmchan)) {
|
if (ftdm_channel_call_check_hangup(tech_pvt->ftdmchan)) {
|
||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
@ -888,9 +888,9 @@ static switch_status_t channel_receive_message_fxo(switch_core_session_t *sessio
|
|||||||
assert(tech_pvt != NULL);
|
assert(tech_pvt != NULL);
|
||||||
|
|
||||||
if (switch_test_flag(tech_pvt, TFLAG_DEAD)) {
|
if (switch_test_flag(tech_pvt, TFLAG_DEAD)) {
|
||||||
switch_channel_hangup(channel, SWITCH_CAUSE_LOSE_RACE);
|
switch_channel_hangup(channel, SWITCH_CAUSE_LOSE_RACE);
|
||||||
return SWITCH_STATUS_FALSE;
|
return SWITCH_STATUS_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (switch_channel_test_flag(channel, CF_OUTBOUND)) {
|
if (switch_channel_test_flag(channel, CF_OUTBOUND)) {
|
||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
|
@ -462,7 +462,7 @@ static ftdm_state_map_t isdn_state_map = {
|
|||||||
ZSD_INBOUND,
|
ZSD_INBOUND,
|
||||||
ZSM_UNACCEPTABLE,
|
ZSM_UNACCEPTABLE,
|
||||||
{FTDM_CHANNEL_STATE_RING, FTDM_END},
|
{FTDM_CHANNEL_STATE_RING, FTDM_END},
|
||||||
{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END}
|
{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_CHANNEL_STATE_UP, FTDM_END}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ZSD_INBOUND,
|
ZSD_INBOUND,
|
||||||
@ -479,7 +479,7 @@ static ftdm_state_map_t isdn_state_map = {
|
|||||||
{
|
{
|
||||||
ZSD_INBOUND,
|
ZSD_INBOUND,
|
||||||
ZSM_UNACCEPTABLE,
|
ZSM_UNACCEPTABLE,
|
||||||
{FTDM_CHANNEL_STATE_PROGRESS, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
|
{FTDM_CHANNEL_STATE_RINGING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, FTDM_END},
|
||||||
{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA,
|
{FTDM_CHANNEL_STATE_HANGUP, FTDM_CHANNEL_STATE_TERMINATING, FTDM_CHANNEL_STATE_PROGRESS_MEDIA,
|
||||||
FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_UP, FTDM_END},
|
FTDM_CHANNEL_STATE_CANCEL, FTDM_CHANNEL_STATE_UP, FTDM_END},
|
||||||
},
|
},
|
||||||
@ -537,6 +537,8 @@ static __inline__ void state_advance(ftdm_channel_t *chan)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case FTDM_CHANNEL_STATE_PROGRESS:
|
case FTDM_CHANNEL_STATE_PROGRESS:
|
||||||
|
/* RINGING is an alias for PROGRESS state in inbound calls ATM */
|
||||||
|
case FTDM_CHANNEL_STATE_RINGING:
|
||||||
{
|
{
|
||||||
if (ftdm_test_flag(chan, FTDM_CHANNEL_OUTBOUND)) {
|
if (ftdm_test_flag(chan, FTDM_CHANNEL_OUTBOUND)) {
|
||||||
sig.event_id = FTDM_SIGEVENT_PROGRESS;
|
sig.event_id = FTDM_SIGEVENT_PROGRESS;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user