mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-02-09 09:17:34 +00:00
FS-6167 --resolve
This commit is contained in:
parent
3d461d7cde
commit
fd38a255f8
@ -185,6 +185,7 @@
|
|||||||
<!--<param name="nat-options-ping" value="true"/>-->
|
<!--<param name="nat-options-ping" value="true"/>-->
|
||||||
<!--<param name="sip-options-respond-503-on-busy" value="true"/>-->
|
<!--<param name="sip-options-respond-503-on-busy" value="true"/>-->
|
||||||
<!--<param name="sip-messages-respond-200-ok" value="true"/>-->
|
<!--<param name="sip-messages-respond-200-ok" value="true"/>-->
|
||||||
|
<!--<param name="sip-subscribe-respond-200-ok" value="true"/>-->
|
||||||
|
|
||||||
<!-- TLS: disabled by default, set to "true" to enable -->
|
<!-- TLS: disabled by default, set to "true" to enable -->
|
||||||
<param name="tls" value="$${internal_ssl_enable}"/>
|
<param name="tls" value="$${internal_ssl_enable}"/>
|
||||||
|
@ -271,6 +271,7 @@ typedef enum {
|
|||||||
PFLAG_TCP_PINGPONG,
|
PFLAG_TCP_PINGPONG,
|
||||||
PFLAG_TCP_PING2PONG,
|
PFLAG_TCP_PING2PONG,
|
||||||
PFLAG_MESSAGES_RESPOND_200_OK,
|
PFLAG_MESSAGES_RESPOND_200_OK,
|
||||||
|
PFLAG_SUBSCRIBE_RESPOND_200_OK,
|
||||||
PFLAG_PARSE_ALL_INVITE_HEADERS,
|
PFLAG_PARSE_ALL_INVITE_HEADERS,
|
||||||
/* No new flags below this line */
|
/* No new flags below this line */
|
||||||
PFLAG_MAX
|
PFLAG_MAX
|
||||||
|
@ -4045,6 +4045,12 @@ switch_status_t config_sofia(sofia_config_t reload, char *profile_name)
|
|||||||
} else {
|
} else {
|
||||||
sofia_clear_pflag(profile, PFLAG_MESSAGES_RESPOND_200_OK);
|
sofia_clear_pflag(profile, PFLAG_MESSAGES_RESPOND_200_OK);
|
||||||
}
|
}
|
||||||
|
} else if (!strcasecmp(var, "sip-subscribe-respond-200-ok") && !zstr(val)) {
|
||||||
|
if (switch_true(val)) {
|
||||||
|
sofia_set_pflag(profile, PFLAG_SUBSCRIBE_RESPOND_200_OK);
|
||||||
|
} else {
|
||||||
|
sofia_clear_pflag(profile, PFLAG_SUBSCRIBE_RESPOND_200_OK);
|
||||||
|
}
|
||||||
} else if (!strcasecmp(var, "odbc-dsn") && !zstr(val)) {
|
} else if (!strcasecmp(var, "odbc-dsn") && !zstr(val)) {
|
||||||
profile->odbc_dsn = switch_core_strdup(profile->pool, val);
|
profile->odbc_dsn = switch_core_strdup(profile->pool, val);
|
||||||
} else if (!strcasecmp(var, "db-pre-trans-execute") && !zstr(val)) {
|
} else if (!strcasecmp(var, "db-pre-trans-execute") && !zstr(val)) {
|
||||||
|
@ -3875,8 +3875,11 @@ void sofia_presence_handle_sip_i_subscribe(int status,
|
|||||||
switch_event_t *params = NULL;
|
switch_event_t *params = NULL;
|
||||||
/* Grandstream REALLY uses a header called Message Body */
|
/* Grandstream REALLY uses a header called Message Body */
|
||||||
extra_headers = switch_mprintf("MessageBody: %s\r\n", profile->pnp_prov_url);
|
extra_headers = switch_mprintf("MessageBody: %s\r\n", profile->pnp_prov_url);
|
||||||
|
if (sofia_test_pflag(profile, PFLAG_SUBSCRIBE_RESPOND_200_OK)) {
|
||||||
nua_respond(nh, SIP_202_ACCEPTED, NUTAG_WITH_THIS_MSG(de->data->e_msg), TAG_END());
|
nua_respond(nh, SIP_200_OK, NUTAG_WITH_THIS_MSG(de->data->e_msg), TAG_END());
|
||||||
|
} else {
|
||||||
|
nua_respond(nh, SIP_202_ACCEPTED, NUTAG_WITH_THIS_MSG(de->data->e_msg), TAG_END());
|
||||||
|
}
|
||||||
|
|
||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "sending pnp NOTIFY for %s to provision to %s\n", uri, profile->pnp_prov_url);
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "sending pnp NOTIFY for %s to provision to %s\n", uri, profile->pnp_prov_url);
|
||||||
|
|
||||||
@ -3956,11 +3959,19 @@ void sofia_presence_handle_sip_i_subscribe(int status,
|
|||||||
if (mod_sofia_globals.debug_presence > 0) {
|
if (mod_sofia_globals.debug_presence > 0) {
|
||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Responding to SUBSCRIBE with 202 Accepted\n");
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Responding to SUBSCRIBE with 202 Accepted\n");
|
||||||
}
|
}
|
||||||
nua_respond(nh, SIP_202_ACCEPTED,
|
if (sofia_test_pflag(profile, PFLAG_SUBSCRIBE_RESPOND_200_OK)) {
|
||||||
SIPTAG_TO(sip->sip_to),
|
nua_respond(nh, SIP_200_OK,
|
||||||
TAG_IF(new_contactstr, SIPTAG_CONTACT_STR(new_contactstr)),
|
SIPTAG_TO(sip->sip_to),
|
||||||
NUTAG_WITH_THIS_MSG(de->data->e_msg),
|
TAG_IF(new_contactstr, SIPTAG_CONTACT_STR(new_contactstr)),
|
||||||
SIPTAG_SUBSCRIPTION_STATE_STR(sstr), SIPTAG_EXPIRES_STR(exp_delta_str), TAG_IF(sticky, NUTAG_PROXY(sticky)), TAG_END());
|
NUTAG_WITH_THIS_MSG(de->data->e_msg),
|
||||||
|
SIPTAG_SUBSCRIPTION_STATE_STR(sstr), SIPTAG_EXPIRES_STR(exp_delta_str), TAG_IF(sticky, NUTAG_PROXY(sticky)), TAG_END());
|
||||||
|
} else {
|
||||||
|
nua_respond(nh, SIP_202_ACCEPTED,
|
||||||
|
SIPTAG_TO(sip->sip_to),
|
||||||
|
TAG_IF(new_contactstr, SIPTAG_CONTACT_STR(new_contactstr)),
|
||||||
|
NUTAG_WITH_THIS_MSG(de->data->e_msg),
|
||||||
|
SIPTAG_SUBSCRIPTION_STATE_STR(sstr), SIPTAG_EXPIRES_STR(exp_delta_str), TAG_IF(sticky, NUTAG_PROXY(sticky)), TAG_END());
|
||||||
|
}
|
||||||
|
|
||||||
switch_safe_free(new_contactstr);
|
switch_safe_free(new_contactstr);
|
||||||
switch_safe_free(sticky);
|
switch_safe_free(sticky);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user