summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2005-08-15 14:57:58 +0000
committerMark Spencer <markster@digium.com>2005-08-15 14:57:58 +0000
commit3b12e184736a27581bbb8d3d38de9d75796729d5 (patch)
tree018130cc3f6b5f9c7df2977af0d0f92f399b2818 /channels
parent4e153882d7c50e5f114966e4c6730bb2cf246f55 (diff)
Fix PRI against masquerade
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rwxr-xr-xchannels/chan_zap.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 3b135e279..2474c10d6 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -2992,17 +2992,6 @@ static enum ast_bridge_result zt_bridge(struct ast_channel *c0, struct ast_chann
p0 = c0->tech_pvt;
p1 = c1->tech_pvt;
-#ifdef PRI_2BCT
- q931c0 = p0->call;
- q931c1 = p1->call;
- if (p0->transfer && p1->transfer
- && q931c0 && q931c1
- && !triedtopribridge) {
- pri_channel_bridge(q931c0, q931c1);
- triedtopribridge = 1;
- }
-#endif
-
if (op0 == p0)
i0 = zt_get_index(c0, p0, 1);
if (op1 == p1)
@@ -3027,6 +3016,18 @@ static enum ast_bridge_result zt_bridge(struct ast_channel *c0, struct ast_chann
res = AST_BRIDGE_RETRY;
goto return_from_bridge;
}
+
+#ifdef PRI_2BCT
+ q931c0 = p0->call;
+ q931c1 = p1->call;
+ if (p0->transfer && p1->transfer
+ && q931c0 && q931c1
+ && !triedtopribridge) {
+ pri_channel_bridge(q931c0, q931c1);
+ triedtopribridge = 1;
+ }
+#endif
+
to = -1;
who = ast_waitfor_n(priority ? c0_priority : c1_priority, 2, &to);
if (!who) {