Every so often, and it seems that it happens only when a call is in progress, all 24 Zap channels get reset. All channels are opened and then timeout. This causes the in-progress calls to terminate. There are no corresponding Red/Yellow alarms on wither the PBX or Asterisk although we do receive a fair amount of Blue Alarms. The Asterisk server is connected to a legacy PBX through a Digium TE110P. Here are some configurations: /etc/zaptel.conf loadzone = us defaultzone = us span=1,1,0,d4,ami e&m=1-24 /etc/asterisk/zapata.conf [trunkgroups] [channels] musiconhold=default busydetect=1 busycount=7 relaxdtmf=yes callwaiting=yes callwaitingcallerid=yes threewaycalling=yes transfer=yes cancallforward=yes echocancel=yes echocancelwhenbridged=yes callgroup=1 pickupgroup=1 rxgain=-5 txgain=3 immediate=yes signalling=em_w context=zap-incoming group = 1 channel => 1-24 Here is the console output of what happens when the channels reset: -- Starting simple switch on 'Zap/1-1' -- Starting simple switch on 'Zap/2-1' -- Starting simple switch on 'Zap/3-1' -- Starting simple switch on 'Zap/4-1' -- Starting simple switch on 'Zap/5-1' -- Starting simple switch on 'Zap/6-1' -- Starting simple switch on 'Zap/7-1' -- Starting simple switch on 'Zap/8-1' -- Starting simple switch on 'Zap/9-1' -- Starting simple switch on 'Zap/10-1' -- Starting simple switch on 'Zap/11-1' -- Starting simple switch on 'Zap/12-1' -- Starting simple switch on 'Zap/13-1' -- Starting simple switch on 'Zap/14-1' -- Starting simple switch on 'Zap/15-1' -- Starting simple switch on 'Zap/16-1' -- Starting simple switch on 'Zap/17-1' -- Starting simple switch on 'Zap/18-1' -- Starting simple switch on 'Zap/19-1' -- Starting simple switch on 'Zap/20-1' -- Starting simple switch on 'Zap/21-1' -- Starting simple switch on 'Zap/22-1' -- Starting simple switch on 'Zap/23-1' -- Executing Set("Zap/1-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/1-1", "") in new stack -- Executing Set("Zap/2-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/2-1", "") in new stack -- Executing Set("Zap/3-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/3-1", "") in new stack -- Executing Set("Zap/4-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/4-1", "") in new stack -- Executing Set("Zap/5-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/5-1", "") in new stack -- Executing Set("Zap/6-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/6-1", "") in new stack -- Executing Set("Zap/7-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/7-1", "") in new stack -- Executing Set("Zap/8-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/8-1", "") in new stack -- Executing Set("Zap/9-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/9-1", "") in new stack -- Executing Set("Zap/10-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/10-1", "") in new stack -- Executing Set("Zap/11-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/11-1", "") in new stack -- Executing Set("Zap/12-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/12-1", "") in new stack -- Executing Set("Zap/13-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/13-1", "") in new stack -- Executing Set("Zap/14-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/14-1", "") in new stack -- Executing Set("Zap/15-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/15-1", "") in new stack -- Executing Set("Zap/16-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/16-1", "") in new stack -- Executing Set("Zap/17-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/17-1", "") in new stack -- Executing Set("Zap/18-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/18-1", "") in new stack -- Executing Set("Zap/19-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/19-1", "") in new stack -- Executing Set("Zap/20-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/20-1", "") in new stack -- Executing Set("Zap/21-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/21-1", "") in new stack -- Executing Set("Zap/22-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/22-1", "") in new stack -- Executing Set("Zap/23-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/23-1", "") in new stack == Spawn extension (zap-incoming, s, 2) exited non-zero on 'Zap/1-1' -- Hungup 'Zap/1-1' -- Timeout on Zap/19-1, going to 't' -- Executing Hangup("Zap/19-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/19-1' -- Hungup 'Zap/19-1' -- Timeout on Zap/18-1, going to 't' -- Executing Hangup("Zap/18-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/18-1' -- Hungup 'Zap/18-1' -- Timeout on Zap/17-1, going to 't' -- Executing Hangup("Zap/17-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/17-1' -- Hungup 'Zap/17-1' -- Timeout on Zap/16-1, going to 't' -- Executing Hangup("Zap/16-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/16-1' -- Hungup 'Zap/16-1' -- Timeout on Zap/15-1, going to 't' -- Executing Hangup("Zap/15-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/15-1' -- Hungup 'Zap/15-1' -- Timeout on Zap/4-1, going to 't' -- Executing Hangup("Zap/4-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/4-1' -- Hungup 'Zap/4-1' -- Timeout on Zap/6-1, going to 't' -- Executing Hangup("Zap/6-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/6-1' -- Hungup 'Zap/6-1' -- Timeout on Zap/7-1, going to 't' -- Executing Hangup("Zap/7-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/7-1' -- Hungup 'Zap/7-1' -- Timeout on Zap/8-1, going to 't' -- Executing Hangup("Zap/8-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/8-1' -- Hungup 'Zap/8-1' -- Timeout on Zap/9-1, going to 't' -- Executing Hangup("Zap/9-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/9-1' -- Hungup 'Zap/9-1' -- Timeout on Zap/14-1, going to 't' -- Executing Hangup("Zap/14-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/14-1' -- Hungup 'Zap/14-1' -- Timeout on Zap/22-1, going to 't' -- Executing Hangup("Zap/22-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/22-1' -- Hungup 'Zap/22-1' -- Timeout on Zap/23-1, going to 't' -- Executing Hangup("Zap/23-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/23-1' -- Hungup 'Zap/23-1' -- Timeout on Zap/5-1, going to 't' -- Executing Hangup("Zap/5-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/5-1' -- Hungup 'Zap/5-1' -- Timeout on Zap/3-1, going to 't' -- Executing Hangup("Zap/3-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/3-1' -- Timeout on Zap/10-1, going to 't' -- Executing Hangup("Zap/10-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/10-1' -- Timeout on Zap/11-1, going to 't' -- Executing Hangup("Zap/11-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/11-1' -- Timeout on Zap/12-1, going to 't' -- Executing Hangup("Zap/12-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/12-1' -- Timeout on Zap/13-1, going to 't' -- Executing Hangup("Zap/13-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/13-1' -- Timeout on Zap/20-1, going to 't' -- Executing Hangup("Zap/20-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/20-1' -- Timeout on Zap/21-1, going to 't' -- Executing Hangup("Zap/21-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/21-1' -- Timeout on Zap/2-1, going to 't' -- Executing Hangup("Zap/2-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/2-1' -- Hungup 'Zap/3-1' -- Hungup 'Zap/10-1' -- Hungup 'Zap/11-1' -- Hungup 'Zap/12-1' -- Hungup 'Zap/13-1' -- Hungup 'Zap/20-1' -- Hungup 'Zap/21-1' -- Hungup 'Zap/2-1' -- Saved useragent "CSCO/7" for peer 3213 -- Starting simple switch on 'Zap/1-1' -- Starting simple switch on 'Zap/2-1' -- Starting simple switch on 'Zap/3-1' -- Starting simple switch on 'Zap/4-1' -- Starting simple switch on 'Zap/5-1' -- Starting simple switch on 'Zap/6-1' -- Starting simple switch on 'Zap/7-1' -- Starting simple switch on 'Zap/8-1' -- Starting simple switch on 'Zap/9-1' -- Starting simple switch on 'Zap/10-1' -- Starting simple switch on 'Zap/11-1' -- Starting simple switch on 'Zap/12-1' -- Starting simple switch on 'Zap/13-1' -- Starting simple switch on 'Zap/14-1' -- Starting simple switch on 'Zap/15-1' -- Starting simple switch on 'Zap/16-1' -- Starting simple switch on 'Zap/17-1' -- Starting simple switch on 'Zap/18-1' -- Starting simple switch on 'Zap/19-1' -- Starting simple switch on 'Zap/20-1' -- Starting simple switch on 'Zap/21-1' -- Starting simple switch on 'Zap/22-1' -- Starting simple switch on 'Zap/23-1' -- Executing Set("Zap/1-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/1-1", "") in new stack -- Executing Set("Zap/2-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/2-1", "") in new stack -- Executing Set("Zap/3-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/3-1", "") in new stack -- Executing Set("Zap/4-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/4-1", "") in new stack -- Executing Set("Zap/5-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/5-1", "") in new stack -- Executing Set("Zap/6-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/6-1", "") in new stack -- Executing Set("Zap/7-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/7-1", "") in new stack -- Executing Set("Zap/8-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/8-1", "") in new stack -- Executing Set("Zap/9-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/9-1", "") in new stack -- Executing Set("Zap/10-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/10-1", "") in new stack -- Executing Set("Zap/11-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/11-1", "") in new stack -- Executing Set("Zap/12-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/12-1", "") in new stack -- Executing Set("Zap/13-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/13-1", "") in new stack -- Executing Set("Zap/14-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/14-1", "") in new stack -- Executing Set("Zap/15-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/15-1", "") in new stack -- Executing Set("Zap/16-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/16-1", "") in new stack -- Executing Set("Zap/17-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/17-1", "") in new stack -- Executing Set("Zap/18-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/18-1", "") in new stack -- Executing Set("Zap/19-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/19-1", "") in new stack -- Executing Set("Zap/20-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/20-1", "") in new stack -- Executing Set("Zap/21-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/21-1", "") in new stack -- Executing Set("Zap/22-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/22-1", "") in new stack -- Executing Set("Zap/23-1", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5 -- Executing WaitExten("Zap/23-1", "") in new stack -- Timeout on Zap/22-1, going to 't' -- Executing Hangup("Zap/22-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/22-1' -- Hungup 'Zap/22-1' -- Timeout on Zap/5-1, going to 't' -- Executing Hangup("Zap/5-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/5-1' -- Hungup 'Zap/5-1' -- Timeout on Zap/23-1, going to 't' -- Executing Hangup("Zap/23-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/23-1' -- Hungup 'Zap/23-1' -- Timeout on Zap/4-1, going to 't' -- Executing Hangup("Zap/4-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/4-1' -- Hungup 'Zap/4-1' -- Timeout on Zap/3-1, going to 't' -- Executing Hangup("Zap/3-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/3-1' -- Hungup 'Zap/3-1' -- Timeout on Zap/21-1, going to 't' -- Executing Hangup("Zap/21-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/21-1' -- Hungup 'Zap/21-1' -- Timeout on Zap/2-1, going to 't' -- Executing Hangup("Zap/2-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/2-1' -- Hungup 'Zap/2-1' -- Timeout on Zap/20-1, going to 't' -- Executing Hangup("Zap/20-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/20-1' -- Hungup 'Zap/20-1' -- Timeout on Zap/1-1, going to 't' -- Executing Hangup("Zap/1-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/1-1' -- Hungup 'Zap/1-1' -- Timeout on Zap/6-1, going to 't' -- Executing Hangup("Zap/6-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/6-1' -- Hungup 'Zap/6-1' -- Timeout on Zap/7-1, going to 't' -- Executing Hangup("Zap/7-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/7-1' -- Hungup 'Zap/7-1' -- Timeout on Zap/8-1, going to 't' -- Executing Hangup("Zap/8-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/8-1' -- Hungup 'Zap/8-1' -- Timeout on Zap/9-1, going to 't' -- Executing Hangup("Zap/9-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/9-1' -- Hungup 'Zap/9-1' -- Timeout on Zap/10-1, going to 't' -- Executing Hangup("Zap/10-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/10-1' -- Hungup 'Zap/10-1' -- Timeout on Zap/16-1, going to 't' -- Executing Hangup("Zap/16-1", "") in new stack == Spawn extension (zap-incoming, t, 1) exited non-zero on 'Zap/16-1'