FS-6531: #resolve set to tag on auto answer notify to make grandstream happy, even tho they could have matched the dialog fine off the from tag like every other phone does.

This commit is contained in:
Michael Jerris 2014-11-12 21:37:14 -06:00 committed by Brian West
parent 87a4670d16
commit 82aa33140e
1 changed files with 11 additions and 2 deletions

View File

@ -6665,10 +6665,19 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
} }
if (channel && (status == 180 || status == 183) && switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) { if (channel && (status == 180 || status == 183) && switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
const char *full_to = NULL;
const char *val; const char *val;
if ((val = switch_channel_get_variable(channel, "sip_auto_answer")) && switch_true(val)) { if ((val = switch_channel_get_variable(channel, "sip_auto_answer")) && switch_true(val)) {
nua_notify(nh, NUTAG_NEWSUB(1), NUTAG_WITH_THIS_MSG(de->data->e_msg), full_to = switch_str_nil(switch_channel_get_variable(channel, "sip_full_to"));
NUTAG_SUBSTATE(nua_substate_terminated),SIPTAG_SUBSCRIPTION_STATE_STR("terminated;reason=noresource"), SIPTAG_EVENT_STR("talk"), TAG_END());
nua_notify(nh,
NUTAG_NEWSUB(1),
NUTAG_WITH_THIS_MSG(de->data->e_msg),
NUTAG_SUBSTATE(nua_substate_terminated),
TAG_IF((full_to), SIPTAG_TO_STR(full_to)),
SIPTAG_SUBSCRIPTION_STATE_STR("terminated;reason=noresource"),
SIPTAG_EVENT_STR("talk"),
TAG_END());
} }
} }