pjsip_sip_uri *dlg_info_uri;
pjsip_sip_uri *dlg_contact_uri;
int restricted;
+ const char *pjsip_from_domain;
if (!session->channel || session->saved_from_hdr) {
return;
pj_strdup2(dlg_pool, &dlg_info_uri->host, session->endpoint->fromdomain);
}
+ /*
+ * Channel variable for compatibility with chan_sip SIPFROMDOMAIN
+ */
+ ast_channel_lock(session->channel);
+ pjsip_from_domain = pbx_builtin_getvar_helper(session->channel, "SIPFROMDOMAIN");
+ if (!ast_strlen_zero(pjsip_from_domain)) {
+ ast_debug(3, "From header domain reset by channel variable SIPFROMDOMAIN (%s)\n", pjsip_from_domain);
+ pj_strdup2(dlg_pool, &dlg_info_uri->host, pjsip_from_domain);
+ }
+ ast_channel_unlock(session->channel);
+
/* We need to save off the non-anonymized From for RPID/PAI generation (for domain) */
session->saved_from_hdr = pjsip_hdr_clone(dlg_pool, dlg_info);
ast_sip_add_usereqphone(session->endpoint, dlg_pool, session->saved_from_hdr->uri);