Commiting chan_zap.c patch for 2bct
authorMatthew Fredrickson <creslin@digium.com>
Wed, 2 Mar 2005 16:09:27 +0000 (16:09 +0000)
committerMatthew Fredrickson <creslin@digium.com>
Wed, 2 Mar 2005 16:09:27 +0000 (16:09 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5119 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_zap.c

index d1729ea..a235626 100755 (executable)
@@ -2626,6 +2626,11 @@ static int zt_bridge(struct ast_channel *c0, struct ast_channel *c1, int flags,
        int oi1, oi2, i1 = -1, i2 = -1, t1, t2;
        int os1 = -1, os2 = -1;
        struct ast_channel *oc1, *oc2;
+#ifdef PRI_2BCT
+       int triedtopribridge = 0;
+       q931_call *q931c0 = NULL, *q931c1 = NULL;
+#endif
+
 
        /* if need DTMF, cant native bridge */
        if (flags & (AST_BRIDGE_DTMF_CHANNEL_0 | AST_BRIDGE_DTMF_CHANNEL_1))
@@ -2793,6 +2798,15 @@ static int zt_bridge(struct ast_channel *c0, struct ast_channel *c1, int flags,
                ast_mutex_lock(&c1->lock);
                p0 = c0->pvt->pvt;
                p1 = c1->pvt->pvt;
+
+#ifdef PRI_2BCT
+               q931c0 = p0->call;
+               q931c1 = p1->call;
+               if (q931c0 && q931c1 && !triedtopribridge) {
+                       pri_channel_bridge(q931c0, q931c1);
+                       triedtopribridge = 1;
+               }
+#endif
                if (op0 == p0)
                        i1 = zt_get_index(c0, p0, 1);
                if (op1 == p1)