Hello,
I’m trying to make Asterisk work without using the root account.
Everything works fine, except from the MeetMe application. I’m trying paging calls (with or without automatic answer) ; it works when Asterisk runs as root.
When Asterisk runs as “asterisk”, I call the paging extension, I hear a beep while the targets ring for approximately 1/2 second, and then everything stops : my phone is hanged up, then targets stop ringing (otherwise, Asterisk works well and other calls aren’t affected, in this case “everything” doesn’t mean “the whole Asterisk instance”).
It seems Asterisk cannot access the DAHDI pseudo-device. On the Asterisk console and in the logs, I get :
[Oct 28 11:08:07] WARNING[5172]: app_meetme.c:864 build_conf: Unable to open pseudo device
(this line appears exactly when “everything stops”).
When I activate all options (debug,notice,warning,error,verbose,dtmf) for messages in logger.conf, I get these lines in the logs :
==> 05198101 automatically answers :
[Oct 28 11:31:24] VERBOSE[6588] netsock.c: == Using SIP RTP CoS mark 5
[Oct 28 11:31:24] VERBOSE[6636] pbx.c: – Executing [05198902@from_postes_maitres_198:1] Page(“SIP/05198000-13fb9888”, “SIP/05198101&SIP/05198202”) in new stack
[Oct 28 11:31:24] VERBOSE[6636] netsock.c: == Using SIP RTP CoS mark 5
[Oct 28 11:31:24] VERBOSE[6636] dial.c: – Called 05198101
[Oct 28 11:31:24] VERBOSE[6636] netsock.c: == Using SIP RTP CoS mark 5
[Oct 28 11:31:24] VERBOSE[6636] dial.c: – Called 05198202
[Oct 28 11:31:24] VERBOSE[6636] file.c: – <SIP/05198000-13fb9888> Playing ‘beep.gsm’ (language ‘en’)
[Oct 28 11:31:24] VERBOSE[6637] dial.c: – SIP/05198101-13fba4f8 is ringing
[Oct 28 11:31:24] VERBOSE[6638] dial.c: – SIP/05198202-13fc2238 is ringing
[Oct 28 11:31:24] VERBOSE[6637] dial.c: – SIP/05198101-13fba4f8 answered
[Oct 28 11:31:24] WARNING[6637] app_meetme.c: Unable to open pseudo device
[Oct 28 11:31:25] WARNING[6636] app_meetme.c: Unable to open pseudo device
[Oct 28 11:31:25] VERBOSE[6636] pbx.c: == Spawn extension (from_postes_maitres_198, 05198902, 1) exited non-zero on ‘SIP/05198000-13fb9888’
==> 05198101 is disconnected :
[Oct 28 11:32:04] VERBOSE[6588] netsock.c: == Using SIP RTP CoS mark 5
[Oct 28 11:32:04] VERBOSE[6673] pbx.c: – Executing [05198902@from_postes_maitres_198:1] Page(“SIP/05198000-13fc7f88”, “SIP/05198101&SIP/05198202”) in new stack
[Oct 28 11:32:04] VERBOSE[6673] netsock.c: == Using SIP RTP CoS mark 5
[Oct 28 11:32:04] VERBOSE[6673] dial.c: – Called 05198101
[Oct 28 11:32:04] VERBOSE[6673] netsock.c: == Using SIP RTP CoS mark 5
[Oct 28 11:32:04] VERBOSE[6673] dial.c: – Called 05198202
[Oct 28 11:32:04] VERBOSE[6673] file.c: – <SIP/05198000-13fc7f88> Playing ‘beep.gsm’ (language ‘en’)
[Oct 28 11:32:04] VERBOSE[6675] dial.c: – SIP/05198202-13fc1e48 is ringing
[Oct 28 11:32:04] WARNING[6673] app_meetme.c: Unable to open pseudo device
[Oct 28 11:32:04] VERBOSE[6673] pbx.c: == Spawn extension (from_postes_maitres_198, 05198902, 1) exited non-zero on ‘SIP/05198000-13fc7f88’
However, the permissions are ok on the device files :
[asterisk@pamplemus ~]$ ls -lh /dev/dahdi/
total 0
crw-rw-rw- 1 asterisk asterisk 196, 254 Aug 24 11:45 channel
crw-rw-rw- 1 asterisk asterisk 196, 0 Aug 24 11:45 ctl
crw-rw-rw- 1 asterisk asterisk 196, 255 Aug 24 11:45 pseudo
crw-rw-rw- 1 asterisk asterisk 196, 253 Aug 24 11:45 timer
crw-rw-rw- 1 asterisk asterisk 196, 250 Aug 24 11:45 transcode
(I have also tried a “chmod a+x” on them but it doesn’t change anything)
The tested extension is the following :
exten => 05198902,1,Page(SIP/05198101&SIP/05198202)
Phones connected with 05198101 and 05198202 work correctly otherwise.
I’m using Asterisk 1.6.1.6 with DAHDI 2.2.0.2, both compiled from sources, on a x86_64 RHEL 5.4 server.
Line 864 of app_meetme.c corresponds to the “unable to open pseudo device” error related the the /dev/dahdi/pseudo file opening and an ioctl on this file.
Trying cat or echo on /dev/dahdi/pseudo doesn’t give a “permission denied” error, I assume the file is correctly opened, and the error comes from the ioctl. My skills don’t go that far, and I don’t know which further investigations I can do, that’s why I post this message.
Could someone help me investigate this problem ? Thanks