aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-07-16 22:15:30 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-07-16 22:15:30 +0000
commit0de00a6d8791a7a60d2a50cfa654c0a0d49af359 (patch)
tree71a78ef7bac199fd1af599c136b27763f1611379
parent2fded68e1385400463f8a7c877826ecff6a1cb54 (diff)
Don't look for bearers when there are none.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3451 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-xchannels/chan_zap.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index c5ece9505..ab46673f5 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -544,6 +544,12 @@ static struct zt_pvt {
#endif
} *iflist = NULL, *ifend = NULL;
+#ifdef ZAPATA_PRI
+#define GET_CHANNEL(p) ((p)->bearer ? (p)->bearer->channel : p->channel)
+#else
+#define GET_CHANNEL(p) ((p)->channel)
+#endif
+
struct zt_pvt *round_robin[32];
#ifdef ZAPATA_PRI
@@ -1143,7 +1149,7 @@ static int update_conf(struct zt_pvt *p)
for (x=0;x<MAX_SLAVES;x++) {
if (p->slaves[x]) {
if (useslavenative)
- conf_add(p, &p->slaves[x]->subs[SUB_REAL], SUB_REAL, p->bearer ? p->bearer->channel : p->channel);
+ conf_add(p, &p->slaves[x]->subs[SUB_REAL], SUB_REAL, GET_CHANNEL(p));
else {
conf_add(p, &p->slaves[x]->subs[SUB_REAL], SUB_REAL, 0);
needconf++;
@@ -1153,7 +1159,7 @@ static int update_conf(struct zt_pvt *p)
/* If we're supposed to be in there, do so now */
if (p->inconference && !p->subs[SUB_REAL].inthreeway) {
if (useslavenative)
- conf_add(p, &p->subs[SUB_REAL], SUB_REAL, slave->bearer ? slave->bearer->channel : slave->channel);
+ conf_add(p, &p->subs[SUB_REAL], SUB_REAL, GET_CHANNEL(slave));
else {
conf_add(p, &p->subs[SUB_REAL], SUB_REAL, 0);
needconf++;
@@ -1162,7 +1168,7 @@ static int update_conf(struct zt_pvt *p)
/* If we have a master, add ourselves to his conference */
if (p->master) {
if (isslavenative(p->master, NULL)) {
- conf_add(p->master, &p->subs[SUB_REAL], SUB_REAL, p->master->bearer ? p->master->bearer->channel : p->master->channel);
+ conf_add(p->master, &p->subs[SUB_REAL], SUB_REAL, GET_CHANNEL(p->master));
} else {
conf_add(p->master, &p->subs[SUB_REAL], SUB_REAL, 0);
}