From 177e7861a2ca6bb6f0845469366755d01746e1b1 Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Sun, 1 Dec 2013 21:13:20 +0000 Subject: [PATCH] res_pjsip_session: Apply fromuser and fromdomain to all requests as documented. ........ Merged revisions 403271 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403272 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_pjsip_session.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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;