aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-08-15 14:57:58 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-08-15 14:57:58 +0000
commit99d7df931522ef02444c841be565e24addba5b1f (patch)
tree018130cc3f6b5f9c7df2977af0d0f92f399b2818
parent39e38ba578a8ac0c829c7009605c2a5f7f2c22ef (diff)
Fix PRI against masquerade
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6335 f38db490-d61c-443f-a65b-d21fe96a405b
-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) {