From 2c031e4b9145f38907dc1eba4685adfb61b3ce4b Mon Sep 17 00:00:00 2001 From: Brian West Date: Fri, 26 Feb 2016 17:44:11 -0600 Subject: [PATCH] FS-8879 #resolve [SIP UPDATE and attended transfer] --- src/mod/endpoints/mod_sofia/mod_sofia.c | 40 ++++--------------------- src/mod/endpoints/mod_sofia/mod_sofia.h | 1 + 2 files changed, 6 insertions(+), 35 deletions(-) diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.c b/src/mod/endpoints/mod_sofia/mod_sofia.c index 2a742be19f..9f5cd56af7 100644 --- a/src/mod/endpoints/mod_sofia/mod_sofia.c +++ b/src/mod/endpoints/mod_sofia/mod_sofia.c @@ -1777,41 +1777,11 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi TAG_IF(!zstr(tech_pvt->route_uri), NUTAG_PROXY(tech_pvt->route_uri)), TAG_IF(!zstr_buf(message), SIPTAG_HEADER_STR(message)), TAG_IF(!zstr(tech_pvt->user_via), SIPTAG_VIA_STR(tech_pvt->user_via)), TAG_END()); - } else if ((ua && (switch_stristr("aastra", ua) && !switch_stristr("Intelligate", ua)))) { - snprintf(message, sizeof(message), "P-Asserted-Identity: \"%s\" ", name, number, tech_pvt->profile->sipip); - - sofia_set_flag_locked(tech_pvt, TFLAG_UPDATING_DISPLAY); - nua_update(tech_pvt->nh, - NUTAG_SESSION_TIMER(tech_pvt->session_timeout), - NUTAG_SESSION_REFRESHER(tech_pvt->session_refresher), - TAG_IF(call_info, SIPTAG_CALL_INFO_STR(call_info)), - TAG_IF(!zstr(tech_pvt->route_uri), NUTAG_PROXY(tech_pvt->route_uri)), - TAG_IF(!zstr_buf(message), SIPTAG_HEADER_STR(message)), - TAG_IF(!zstr(tech_pvt->user_via), SIPTAG_VIA_STR(tech_pvt->user_via)), TAG_END()); - } else if ((ua && (switch_stristr("cisco/spa50", ua) || switch_stristr("cisco/spa525", ua)))) { - snprintf(message, sizeof(message), "P-Asserted-Identity: \"%s\" ", name, number, tech_pvt->profile->sipip); - - sofia_set_flag_locked(tech_pvt, TFLAG_UPDATING_DISPLAY); - nua_update(tech_pvt->nh, - NUTAG_SESSION_TIMER(tech_pvt->session_timeout), - NUTAG_SESSION_REFRESHER(tech_pvt->session_refresher), - TAG_IF(call_info, SIPTAG_CALL_INFO_STR(call_info)), - TAG_IF(!zstr(tech_pvt->route_uri), NUTAG_PROXY(tech_pvt->route_uri)), - TAG_IF(!zstr_buf(message), SIPTAG_HEADER_STR(message)), - TAG_IF(!zstr(tech_pvt->user_via), SIPTAG_VIA_STR(tech_pvt->user_via)), TAG_END()); - } else if ((ua && (switch_stristr("Yealink", ua)))) { - snprintf(message, sizeof(message), "P-Asserted-Identity: \"%s\" ", name, number, tech_pvt->profile->sipip); - - sofia_set_flag_locked(tech_pvt, TFLAG_UPDATING_DISPLAY); - nua_update(tech_pvt->nh, - NUTAG_SESSION_TIMER(tech_pvt->session_timeout), - NUTAG_SESSION_REFRESHER(tech_pvt->session_refresher), - TAG_IF(call_info, SIPTAG_CALL_INFO_STR(call_info)), - TAG_IF(!zstr(tech_pvt->route_uri), NUTAG_PROXY(tech_pvt->route_uri)), - TAG_IF(!zstr_buf(message), SIPTAG_HEADER_STR(message)), - TAG_IF(!zstr(tech_pvt->user_via), SIPTAG_VIA_STR(tech_pvt->user_via)), TAG_END()); - } else if ((ua && (switch_stristr("Panasonic", ua)))) { - snprintf(message, sizeof(message), "P-Asserted-Identity: \"%s\" ", name, number, tech_pvt->profile->sipip); + } else if (ua && ((switch_stristr("aastra", ua) && !switch_stristr("Intelligate", ua)) || + (switch_stristr("cisco/spa50", ua) || switch_stristr("cisco/spa525", ua)) || + switch_stristr("Yealink", ua) || + switch_stristr("Panasonic", ua))) { + snprintf(message, sizeof(message), "P-Asserted-Identity: \"%s\" ", name, number, tech_pvt->profile->printable_sipip); sofia_set_flag_locked(tech_pvt, TFLAG_UPDATING_DISPLAY); nua_update(tech_pvt->nh, diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.h b/src/mod/endpoints/mod_sofia/mod_sofia.h index dc06647151..582c69e534 100644 --- a/src/mod/endpoints/mod_sofia/mod_sofia.h +++ b/src/mod/endpoints/mod_sofia/mod_sofia.h @@ -598,6 +598,7 @@ struct sofia_profile { char *sdp_username; char *sipip; + char *printable_sipip; char *extsipip; char *url; char *public_url;