[asterisk-bugs] [Asterisk 0016862]: [regression] One-legged Transfer (INVITE / Replaces) not working anymore
Asterisk Bug Tracker
noreply at bugs.digium.com
Fri Feb 19 13:54:40 CST 2010
A NOTE has been added to this issue.
======================================================================
https://issues.asterisk.org/view.php?id=16862
======================================================================
Reported By: pwalker
Assigned To: dvossel
======================================================================
Project: Asterisk
Issue ID: 16862
Category: Channels/chan_sip/Transfers
Reproducibility: always
Severity: block
Priority: normal
Status: assigned
Asterisk Version: SVN
JIRA: SWP-939
Regression: Yes
Reviewboard Link:
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Request Review:
======================================================================
Date Submitted: 2010-02-18 07:57 CST
Last Modified: 2010-02-19 13:54 CST
======================================================================
Summary: [regression] One-legged Transfer (INVITE / Replaces)
not working anymore
Description:
It seems that the "One legged Transfer" (INVITE with replaces: header) is
not working anymore in newer Versions of the 1.4 Branch.
The function has been working up to Asterisk 1.4.26.3, but doesn't
starting from 1.4.27.1 (including latest stable 1.4.29 and 1.4.30-rc2).
(With exactely the same configuration.)
Scenario:
- 10013 ("Test3") calls 10012 ("Test2")
- 10014 ("Test4") tries to pick up the call
Result:
- On phone 10012, the call is ended
- 10013 seems to answer / pick up the call, but there's no connection (no
audio)
- 10014 keeps playing the Ring-back Tone
======================================================================
Relationships ID Summary
----------------------------------------------------------------------
related to 0015151 [patch] Deadlock On One-legged Transfer...
======================================================================
----------------------------------------------------------------------
(0118299) pwalker (reporter) - 2010-02-19 13:54
https://issues.asterisk.org/view.php?id=16862#c118299
----------------------------------------------------------------------
Quick fix to get one legged transfers working:
In channels/chan_sip.c - handle_invite_replaces(), bring back in some of
the lines which were removed in SVN Revision 219303 (
http://svnview.digium.com/svn/asterisk?revision=219303&view=revision )
- at the end of the function, where stuff is being unlocked (approx. @
Line 14452) add the line
ast_channel_unlock(p->owner); /* Unlock new owner */
(btw: is "ast_channel_unlock(c);" really correct there?)
- a bit more up in the function, after "Invite/Replaces: preparing to
masquerade ..." (approx. Line 14414), add
/* Unlock PVT */
ast_mutex_unlock(&p->refer->refer_call->lock);
WARNING: This might break other things, e.g. especially attended /
semi-attended transfers!!! But the one-legger / Pick Up works with no Locks
left.
Issue History
Date Modified Username Field Change
======================================================================
2010-02-19 13:54 pwalker Note Added: 0118299
======================================================================
More information about the asterisk-bugs
mailing list