I'd like to suggest more flexibility as to /dev ownerships. Some systems may require/prefer, say, mISDN to be root:dialout and have asterisk user as part of the dialout group.
Maybe one could simply specify user:group in /etc/amportal.conf with something like:
AMPDEVUSER=root
AMPDEVGROUP=dialout
in freepbx_engine, chown_asterisk():
...
# Ensure that various hardware devices are owned correctly.
[ -e /dev/zap ] && chown -R $AMPDEVUSER:$AMPDEVGROUP /dev/zap
[ -e /dev/capi20 ] && chown -R $AMPDEVUSER:$AMPDEVGROUP /dev/capi20
[ -e /dev/misdn ] && chown -R $AMPDEVUSER:$AMPDEVGROUP /dev/misdn
[ -e /dev/mISDN ] && chown -R $AMPDEVUSER:$AMPDEVGROUP /dev/mISDN
[ -e /dev/dsp ] && chown -R $AMPDEVUSER:$AMPDEVGROUP /dev/dsp
...