From: Joshua Colp Date: Sun, 1 Dec 2013 21:12:37 +0000 (+0000) Subject: res_pjsip_session: Apply fromuser and fromdomain to all requests as documented. X-Git-Tag: 12.0.0~88 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7026284b5aeadedd012899a31883b8c7e0e2dd50;p=thirdparty%2Fasterisk.git res_pjsip_session: Apply fromuser and fromdomain to all requests as documented. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403271 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c index 065f40d4e7..7ffc88961e 100644 --- a/res/res_pjsip_session.c +++ b/res/res_pjsip_session.c @@ -936,6 +936,19 @@ void ast_sip_session_send_request_with_cb(struct ast_sip_session *session, pjsip ast_sip_mod_data_set(tdata->pool, tdata->mod_data, session_module.id, MOD_DATA_ON_RESPONSE, on_response); + if (!ast_strlen_zero(session->endpoint->fromuser) || + !ast_strlen_zero(session->endpoint->fromdomain)) { + pjsip_fromto_hdr *from = pjsip_msg_find_hdr(tdata->msg, PJSIP_H_FROM, tdata->msg->hdr.next); + pjsip_sip_uri *uri = pjsip_uri_get_uri(from->uri); + + if (!ast_strlen_zero(session->endpoint->fromuser)) { + pj_strdup2(tdata->pool, &uri->user, session->endpoint->fromuser); + } + if (!ast_strlen_zero(session->endpoint->fromdomain)) { + pj_strdup2(tdata->pool, &uri->host, session->endpoint->fromdomain); + } + } + handle_outgoing_request(session, tdata); pjsip_inv_send_msg(session->inv_session, tdata); return;