Reza, This isn't any specific advice and you've probably already thought of it but I'll put it out there anyway.
Almost all of the problems that I've encountered running Asterisk as non-root are file system permission related. A lot of it is probably because I'm not a lifetime Linux user and some things aren't obvious to me. Often I would have things working just fine, then I would su and run a script, run asterisk or make some kind of change and the asterisk user would no longer have permission to some file. I particularly remember troubleshooting zaptel module load order and finding that /dev/zaptel wasn't accessible when running safe_asterisk. I have a great tool for dealing with this in windows. It's called filemon, I think it's from sysinternals. Basically, it records every attempted file system operation and the outcome. It was great on my Citrix servers especially which had no C drive. The system drive is M and the apps drive is N in my case. Lots of installers would ask me where I wanted to install, and I'd say 'n:\program files\NewApp'. The installer would happily go installing most of the stuff in the specified directory then try to write some file to c:\windows\system32. Somebody hard coded a path and it filemon always came through for me and showed me what the dumb installer was trying to do and where. So... That's a long way of saying, I hope there's a program for Linux that does something similar. It usually creates a huge pile of data but you can filter it and sift through and see which file operation is failing. Good Luck, Dave
