mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-03-13 12:40:17 +00:00
Force rport on ADTRAN TA Devices
ADTRAN Total Access devices do not support sending the rport parameter in the Via header. This allows us to detect the device and force rport when using the "safe" parameter, enabling the device to be used behind NAT. FS-6823 #resolve
This commit is contained in:
parent
6bfc05b81e
commit
afb00b2ecc
@ -3188,7 +3188,9 @@ int agent_check_request_via(nta_agent_t *agent,
|
||||
else if (agent->sa_server_rport == 2 ||
|
||||
(agent->sa_server_rport == 3 && sip && sip->sip_user_agent &&
|
||||
sip->sip_user_agent->g_string &&
|
||||
(!strncasecmp(sip->sip_user_agent->g_string, "Polycom", 7) || !strncasecmp(sip->sip_user_agent->g_string, "KIRK Wireless Server", 20)))) {
|
||||
(!strncasecmp(sip->sip_user_agent->g_string, "Polycom", 7) ||
|
||||
!strncasecmp(sip->sip_user_agent->g_string, "KIRK Wireless Server", 20) ||
|
||||
!strncasecmp(sip->sip_user_agent->g_string, "ADTRAN_Total_Access", 19)))) {
|
||||
rport = su_sprintf(msg_home(msg), "rport=%u", ntohs(from->su_port));
|
||||
msg_header_replace_param(msg_home(msg), v->v_common, rport);
|
||||
}
|
||||
|
@ -1499,7 +1499,9 @@ uint8_t sofia_reg_handle_register_token(nua_t *nua, sofia_profile_t *profile, nu
|
||||
if (!is_tcp && !is_tls && (zstr(network_ip) || !switch_check_network_list_ip(network_ip, profile->local_network)) &&
|
||||
profile->server_rport_level >= 2 && sip->sip_user_agent &&
|
||||
sip->sip_user_agent->g_string &&
|
||||
( !strncasecmp(sip->sip_user_agent->g_string, "Polycom", 7) || !strncasecmp(sip->sip_user_agent->g_string, "KIRK Wireless Server", 20) )) {
|
||||
( !strncasecmp(sip->sip_user_agent->g_string, "Polycom", 7) ||
|
||||
!strncasecmp(sip->sip_user_agent->g_string, "KIRK Wireless Server", 20) ||
|
||||
!strncasecmp(sip->sip_user_agent->g_string, "ADTRAN_Total_Access", 19) )) {
|
||||
if (sip && sip->sip_via) {
|
||||
const char *host = sip->sip_via->v_host;
|
||||
const char *c_port = sip->sip_via->v_port;
|
||||
|
Loading…
x
Reference in New Issue
Block a user