From: Michael Jerris Date: Thu, 13 Nov 2014 03:55:31 +0000 (-0600) Subject: FS-6531: #resolve set to tag on uuid_phone_event notify to make grandstream happy... X-Git-Tag: v1.4.14~2^2~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=75473a70b6eba0bdd4d995fc4ac5f6bbf3e4f08e;p=thirdparty%2Ffreeswitch.git FS-6531: #resolve set to tag on uuid_phone_event notify to make grandstream happy, even tho they could have matched the dialog fine off the from tag like every other phone does. --- diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.c b/src/mod/endpoints/mod_sofia/mod_sofia.c index 1265d5a66c..599ab45867 100644 --- a/src/mod/endpoints/mod_sofia/mod_sofia.c +++ b/src/mod/endpoints/mod_sofia/mod_sofia.c @@ -1471,6 +1471,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi case SWITCH_MESSAGE_INDICATE_PHONE_EVENT: { const char *event = "talk"; + const char *full_to = NULL; if (!zstr(msg->string_arg) && strcasecmp(msg->string_arg, event)) { if (!strcasecmp(msg->string_arg, "hold")) { @@ -1484,7 +1485,9 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Operation not permitted on an inbound non-answered call leg!\n"); } else { - nua_notify(tech_pvt->nh, NUTAG_NEWSUB(1), NUTAG_SUBSTATE(nua_substate_active), SIPTAG_SUBSCRIPTION_STATE_STR("active"), + full_to = switch_str_nil(switch_channel_get_variable(channel, "sip_full_to")); + nua_notify(tech_pvt->nh, NUTAG_NEWSUB(1), NUTAG_SUBSTATE(nua_substate_active), + TAG_IF((full_to), SIPTAG_TO_STR(full_to)),SIPTAG_SUBSCRIPTION_STATE_STR("active"), SIPTAG_EVENT_STR(event), TAG_END()); }