diff options
author | Joshua Colp <jcolp@digium.com> | 2013-12-01 21:13:20 +0000 |
---|---|---|
committer | Joshua Colp <jcolp@digium.com> | 2013-12-01 21:13:20 +0000 |
commit | 177e7861a2ca6bb6f0845469366755d01746e1b1 (patch) | |
tree | 6df0d2bd34d07f228e7906b65226d5f00b7477b3 /res/res_pjsip_session.c | |
parent | 88c840db50b948e0556168dddffd4f417e6b0b34 (diff) |
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
Diffstat (limited to 'res/res_pjsip_session.c')
-rw-r--r-- | res/res_pjsip_session.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c index 065f40d4e..7ffc88961 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; |