/dev/zap/channel: Permission denied

When Asterisk runs not as root, the phones are dead. I see errors in the log file:

egrep '(WAR|ER).*chan.Perm’ /var/log/asterisk/me | tail -2 | cut -c 19-

WARNING[2754] chan_zap.c: Unable to open ‘/dev/zap/channel’: Permission denied
ERROR[2754] chan_zap.c: Unable to open channel 1: Permission denied

asterisk -V

Asterisk 1.4.0

uname -srmpi

Linux 2.6.19-1.2911.fc6 i686 i686 i386

sestatus

SELinux status: disabled

The permissions in /dev/zap might be related to the problem:

ls -l /dev/zap

total 0
crw------- 1 root root 196, 1 Feb 24 23:22 1
crw------- 1 root root 196, 2 Feb 24 23:22 2
crw------- 1 root root 196, 3 Feb 24 23:22 3
crw------- 1 root root 196, 4 Feb 24 23:22 4
crw------- 1 root root 196, 254 Feb 24 23:22 channel
crw------- 1 root root 196, 0 Feb 24 23:22 ctl
crw------- 1 root root 196, 255 Feb 24 23:22 pseudo
crw------- 1 root root 196, 253 Feb 24 23:22 timer
crw-rw---- 1 asterisk asterisk 196, 250 Feb 24 23:22 transcode

Why is only transcode permitted to asterisk?

grep ‘GROUP=“asterisk”’ /etc/udev/rules.d/z*.rules | cut -d , -f 1

KERNEL=="zapctl"
KERNEL=="zaptranscode"
KERNEL=="zaptimer"
KERNEL=="zapchannel"
KERNEL=="zappseudo"
KERNEL==“zap[0-9]*”

Curious whether zaptel.rules was consulted, I tried modifying its transcode rule. After rebooting, I saw the modification in effect. Evidently the rule for zaptranscode is working, but something is going wrong with the rest of the rules in zaptel.rules. Perhaps they are not matching?

Please advise.

yes it looks like permissions…it should be…

[root@asterisk1 ~]# cd /dev/zap
[root@asterisk1 zap]# ls -al
total 0
drwxr-xr-x 2 asterisk asterisk 220 Feb 24 09:06 .
drwxr-xr-x 10 root root 5420 Feb 24 09:06 …
crw-rw---- 1 asterisk asterisk 196, 1 Feb 24 09:06 1
crw-rw---- 1 asterisk asterisk 196, 2 Feb 24 09:06 2
crw-rw---- 1 asterisk asterisk 196, 3 Feb 24 09:06 3
crw-rw---- 1 asterisk asterisk 196, 4 Feb 24 09:06 4
crw-rw---- 1 asterisk asterisk 196, 254 Feb 24 09:06 channel
crw-rw---- 1 asterisk asterisk 196, 0 Feb 24 09:06 ctl
crw-rw---- 1 asterisk asterisk 196, 255 Feb 24 09:06 pseudo
crw-rw---- 1 asterisk asterisk 196, 253 Feb 24 09:06 timer
crw-rw---- 1 asterisk asterisk 196, 250 Feb 24 09:06 transcode
[root@asterisk1 zap]#

udev rules…

zaptel devices with ownership/permissions for running as non-root

KERNEL=“zapctl”, NAME=“zap/ctl”, OWNER=“asterisk”, GROUP=“asterisk”, MODE="0660"
KERNEL=“zaptimer”, NAME=“zap/timer”, OWNER=“asterisk”, GROUP=“asterisk”, MODE="0660"
KERNEL=“zapchannel”, NAME=“zap/channel”, OWNER=“asterisk”, GROUP=“asterisk”, MODE="0660"
KERNEL=“zappseudo”, NAME=“zap/pseudo”, OWNER=“asterisk”, GROUP=“asterisk”, MODE="0660"
KERNEL=“zaptranscode”, NAME=“zap/transcode”, OWNER=“asterisk”, GROUP=“asterisk”, MODE="0660"
KERNEL=“zap[0-9]*”, NAME=“zap/%n”, OWNER=“asterisk”, GROUP=“asterisk”, MODE=“0660”