diff options
author | mattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-05-24 14:19:27 +0000 |
---|---|---|
committer | mattf <mattf@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-05-24 14:19:27 +0000 |
commit | a6556aaf726c63d981522a01d7ba3d6ca8cb8a01 (patch) | |
tree | 7562d180eab64b0e93f7f2da4b42da621cde0839 /channels | |
parent | 4c6cb8a9b80e3d5e4256c50e2740cafd2fe226b1 (diff) |
More updates for NFAS span/channel mapping
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5760 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-x | channels/chan_zap.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c index de9f0f4c1..81bb78bc9 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -7325,21 +7325,22 @@ static struct zt_pvt *pri_find_crv(struct zt_pri *pri, int crv) } -static int pri_find_principle(struct zt_pri *pri, int channel) +static int pri_find_principle(struct zt_pri *pri, int prichannel) { int x; - int span; + int span = PRI_SPAN(prichannel); int spanfd; - struct zt_params param; + ZT_PARAMS param; int principle = -1; - span = PRI_SPAN(channel); - channel = PRI_CHANNEL(channel); + int channel = PRI_CHANNEL(prichannel); - if (!PRI_EXPLICIT(channel)) { + /* For implicit channel selection, the channel specified is on the + * span with the active d channel */ + if (!PRI_EXPLICIT(prichannel)) { spanfd = pri_active_dchan_fd(pri); if (ioctl(spanfd, ZT_GET_PARAMS, ¶m)) return -1; - span = param.spanno - 1; + span = pris[param.spanno - 1].prilogicalspan; } for (x=0;x<pri->numchans;x++) { |