diff options
author | Richard Mudgett <rmudgett@digium.com> | 2014-08-19 16:16:03 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2014-08-19 16:16:03 +0000 |
commit | 83a9b91da9baff92324aa04c14c54af92f0cde90 (patch) | |
tree | ad604fbeddb586338460f46b47b3f7590d36c7d0 /res/res_pjsip_session.c | |
parent | c4c9d4ad6c7b889d911b78b5c3ef676974e01e90 (diff) |
chan_pjsip: Fix attended transfer connected line name update.
A calls B
B answers
B SIP attended transfers to C
C answers, B and C can see each other's connected line information
B completes the transfer
A has number but no name connected line information about C
while C has the full information about A
I examined the incoming and outgoing party id information handling of
chan_pjsip and found several issues:
* Fixed ast_sip_session_create_outgoing() not setting up the configured
endpoint id as the new channel's caller id. This is why party A got
default connected line information.
* Made update_initial_connected_line() use the channel's CALLERID(id)
information. The core, app_dial, or predial routine may have filled in or
changed the endpoint caller id information.
* Fixed chan_pjsip_new() not setting the full party id information
available on the caller id and ANI party id. This includes the configured
callerid_tag string and other party id fields.
* Fixed accessing channel party id information without the channel lock
held.
* Fixed using the effective connected line id without doing a deep copy
outside of holding the channel lock. Shallow copy string pointers can
become stale if the channel lock is not held.
* Made queue_connected_line_update() also update the channel's
CALLERID(id) information. Moving the channel to another bridge would need
the information there for the new bridge peer.
* Fixed off nominal memory leak in update_incoming_connected_line().
* Added pjsip.conf callerid_tag string to party id information from
enabled trust_inbound endpoint in caller_id_incoming_request().
AFS-98 #close
Reported by: Mark Michelson
Review: https://reviewboard.asterisk.org/r/3913/
........
Merged revisions 421400 from http://svn.asterisk.org/svn/asterisk/branches/12
........
Merged revisions 421403 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421404 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/res_pjsip_session.c')
-rw-r--r-- | res/res_pjsip_session.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c index b161f0361..b85b457c7 100644 --- a/res/res_pjsip_session.c +++ b/res/res_pjsip_session.c @@ -1272,6 +1272,7 @@ struct ast_sip_session *ast_sip_session_create_outgoing(struct ast_sip_endpoint pjsip_inv_terminate(inv_session, 500, PJ_FALSE); return NULL; } + ast_party_id_copy(&session->id, &endpoint->id.self); if (ast_format_cap_count(req_caps)) { /* get joint caps between req_caps and endpoint caps */ |