[asterisk-dev] [Code Review] 3913: chan_pjsip: Attended transfer does not update connected line name.
rmudgett
reviewboard at asterisk.org
Tue Aug 19 11:07:00 CDT 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3913/
-----------------------------------------------------------
(Updated Aug. 19, 2014, 11:07 a.m.)
Status
------
This change has been marked as submitted.
Review request for Asterisk Developers.
Changes
-------
Committed in revision 421400
Bugs: AFS-98
https://issues.asterisk.org/jira/browse/AFS-98
Repository: Asterisk
Description
-------
A calls B
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 callerid_tag string to party id information from enabled trust_inbound endpoint in caller_id_incoming_request().
Diffs
-----
/branches/13/res/res_pjsip_session.c 421122
/branches/13/res/res_pjsip_caller_id.c 421122
/branches/13/channels/chan_pjsip.c 421122
Diff: https://reviewboard.asterisk.org/r/3913/diff/
Testing
-------
Attended transfer gives correct party id information to all parties involved.
Blind transfer gives correct party id information to all parties involved.
Thanks,
rmudgett
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140819/9c314b3f/attachment.html>
More information about the asterisk-dev
mailing list