summaryrefslogtreecommitdiff
path: root/res/res_pjsip_session.c
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2013-12-01 21:13:20 +0000
committerJoshua Colp <jcolp@digium.com>2013-12-01 21:13:20 +0000
commit177e7861a2ca6bb6f0845469366755d01746e1b1 (patch)
tree6df0d2bd34d07f228e7906b65226d5f00b7477b3 /res/res_pjsip_session.c
parent88c840db50b948e0556168dddffd4f417e6b0b34 (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.c13
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;