[asterisk-bugs] [Asterisk 0018837]: [patch] Deadlock with attended transfer of SIP call
Asterisk Bug Tracker
noreply at bugs.digium.com
Mon Feb 21 03:37:42 CST 2011
A NOTE has been added to this issue.
======================================================================
https://issues.asterisk.org/view.php?id=18837
======================================================================
Reported By: alecdavis
Assigned To:
======================================================================
Project: Asterisk
Issue ID: 18837
Category: Core/RTP
Reproducibility: always
Severity: minor
Priority: normal
Status: ready for testing
Asterisk Version: 1.8.2.3
JIRA:
Regression: No
Reviewboard Link:
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Request Review:
======================================================================
Date Submitted: 2011-02-17 19:25 CST
Last Modified: 2011-02-21 03:37 CST
======================================================================
Summary: [patch] Deadlock with attended transfer of SIP call
Description:
3 SIP phones.
A calls B, and B answers on line 1.
B puts A on hold by selecting line2.
B calls C, and C answers.
B initiates transfer of line1 to line2, phone uses REFER.
======================================================================
Relationships ID Summary
----------------------------------------------------------------------
has duplicate 0018468 SIP crash on transfer
has duplicate 0018734 Combination dtmfmode=info, directmedia=...
======================================================================
----------------------------------------------------------------------
(0132221) Irontec (reporter) - 2011-02-21 03:37
https://issues.asterisk.org/view.php?id=18837#c132221
----------------------------------------------------------------------
We only use SIP channels (gateways, providers...) but I understand that the
patch (rtp_engine.c) will be like:
--- main/rtp_engine.c (revision 306862)
+++ main/rtp_engine.c (working copy)
@@ -1202,10 +1202,15 @@
cs[1] = cs[2];
}
- if (glue0->update_peer(c0, NULL, NULL, NULL, 0, 0)) {
+ if (ast_test_flag(c0, AST_FLAG_ZOMBIE)) {
+ ast_debug(1, "Channel '%s' Zombie cleardown from bridge\n", c0->name);
+ else if (glue0 != ast_rtp_instance_get_glue(c0->tech->type)) {
+ ast_log(LOG_WARNING, "Channel c0->'%s' technology changed, in
bridge with c1->'%s'\n", c0->name, c1->name);
+ } else if (glue0->update_peer(c0, NULL, NULL, NULL, 0, 0)) {
ast_log(LOG_WARNING, "Channel '%s' failed to break RTP bridge\n",
c0->name);
}
- if (glue1->update_peer(c1, NULL, NULL, NULL, 0, 0)) {
+
+ if (ast_test_flag(c1, AST_FLAG_ZOMBIE)) {
+ ast_debug(1, "Channel '%s' Zombie cleardown from bridge\n", c1->name);
+ } else if (glue1->update_peer(c1, NULL, NULL, NULL, 0, 0)) {
ast_log(LOG_WARNING, "Channel '%s' failed to break RTP bridge\n",
c1->name);
}
It's OK???
Issue History
Date Modified Username Field Change
======================================================================
2011-02-21 03:37 Irontec Note Added: 0132221
======================================================================
More information about the asterisk-bugs
mailing list