libresurf
20/08/2014, 17h21
Bonjour,
jusqu'à maintenant j'utilisais Asterisk en mode switch SIP (VoIP) derrière un conteneur LXC (http://fr.wikipedia.org/wiki/Lxc) sans aucun problème (Debian Wheezy 7).
Or je viens d’acquérir une carte analogique Digium A4B (http://www.digium.com/en/products/telephony-cards/analog/4-port) avec un module FXO pour pouvoir relier mon IPBX au service téléphonique.
Cette dernière utilise le driver DAHDI wcaxx et accède donc au hardware via les fichiers devices /dev/dahdi/*.
D'après plusieurs discussions sur les forums, il faut paramétrer son conteneur LXC pour partager avec l'hôte ces fichiers devices :
http://asteriskfaqs.org/2011/06/08/asterisk-users/lxc-and-dahdi.html
En suivant ce post, j'ai donc rajouté au fichier de configuration de mon conteneur /srv/lxc/asterisk/config:
lxc.cgroup.devices.allow = c 196:0 rwm # /dev/dahdi/ctl
lxc.cgroup.devices.allow = c 196:253 rwm # /dev/dahdi/timer
lxc.cgroup.devices.allow = c 196:254 rwm # /dev/dahdi/channel
lxc.cgroup.devices.allow = c 196:255 rwm # /dev/dahdi/pseudo
Je précise que mon fichier /etc/fstab est bien configuré pour supporter cgroup :
root@astuce:~# cat /etc/fstab
# /etc/fstab: static file system information.
#
[...]
# Utilisation de cgroup pour LXC
cgroup /sys/fs/cgroup cgroup defaults 0 0
Je relance mon conteneur asterisk, me connecte par ssh et vérifie le répertoire /dev :
root@asterisk:~# ls -ltr /dev/dahdi
ls: impossible d'accéder à /dev/dahdi: Aucun fichier ou dossier de ce type
root@asterisk:~#
alors que sur l'hôte, j'ai bien :
root@server:~# ls -ltr /dev/dahdi
total 0
crw-rw---T 1 root root 196, 253 août 20 10:16 timer
crw-rw---T 1 root root 196, 255 août 20 10:16 pseudo
crw-rw---T 1 root root 196, 0 août 20 10:16 ctl
crw-rw---T 1 root root 196, 254 août 20 10:16 channel
drwxr-xr-x 3 root root 60 août 20 10:16 chan
lrwxrwxrwx 1 root root 12 août 20 10:16 4 -> chan/001/004
lrwxrwxrwx 1 root root 12 août 20 10:16 3 -> chan/001/003
lrwxrwxrwx 1 root root 12 août 20 10:16 2 -> chan/001/002
lrwxrwxrwx 1 root root 12 août 20 10:16 1 -> chan/001/001
root@server:~#
Donc la liaison des fichiers devices entre l'hôte et le conteneur ne se fait pas.
Est-ce que quelqu'un parmi vous a déjà été confronté à ce problème et a su le corriger ?
Merci d'avance, car je bloque depuis une bonne journée !!!
jusqu'à maintenant j'utilisais Asterisk en mode switch SIP (VoIP) derrière un conteneur LXC (http://fr.wikipedia.org/wiki/Lxc) sans aucun problème (Debian Wheezy 7).
Or je viens d’acquérir une carte analogique Digium A4B (http://www.digium.com/en/products/telephony-cards/analog/4-port) avec un module FXO pour pouvoir relier mon IPBX au service téléphonique.
Cette dernière utilise le driver DAHDI wcaxx et accède donc au hardware via les fichiers devices /dev/dahdi/*.
D'après plusieurs discussions sur les forums, il faut paramétrer son conteneur LXC pour partager avec l'hôte ces fichiers devices :
http://asteriskfaqs.org/2011/06/08/asterisk-users/lxc-and-dahdi.html
En suivant ce post, j'ai donc rajouté au fichier de configuration de mon conteneur /srv/lxc/asterisk/config:
lxc.cgroup.devices.allow = c 196:0 rwm # /dev/dahdi/ctl
lxc.cgroup.devices.allow = c 196:253 rwm # /dev/dahdi/timer
lxc.cgroup.devices.allow = c 196:254 rwm # /dev/dahdi/channel
lxc.cgroup.devices.allow = c 196:255 rwm # /dev/dahdi/pseudo
Je précise que mon fichier /etc/fstab est bien configuré pour supporter cgroup :
root@astuce:~# cat /etc/fstab
# /etc/fstab: static file system information.
#
[...]
# Utilisation de cgroup pour LXC
cgroup /sys/fs/cgroup cgroup defaults 0 0
Je relance mon conteneur asterisk, me connecte par ssh et vérifie le répertoire /dev :
root@asterisk:~# ls -ltr /dev/dahdi
ls: impossible d'accéder à /dev/dahdi: Aucun fichier ou dossier de ce type
root@asterisk:~#
alors que sur l'hôte, j'ai bien :
root@server:~# ls -ltr /dev/dahdi
total 0
crw-rw---T 1 root root 196, 253 août 20 10:16 timer
crw-rw---T 1 root root 196, 255 août 20 10:16 pseudo
crw-rw---T 1 root root 196, 0 août 20 10:16 ctl
crw-rw---T 1 root root 196, 254 août 20 10:16 channel
drwxr-xr-x 3 root root 60 août 20 10:16 chan
lrwxrwxrwx 1 root root 12 août 20 10:16 4 -> chan/001/004
lrwxrwxrwx 1 root root 12 août 20 10:16 3 -> chan/001/003
lrwxrwxrwx 1 root root 12 août 20 10:16 2 -> chan/001/002
lrwxrwxrwx 1 root root 12 août 20 10:16 1 -> chan/001/001
root@server:~#
Donc la liaison des fichiers devices entre l'hôte et le conteneur ne se fait pas.
Est-ce que quelqu'un parmi vous a déjà été confronté à ce problème et a su le corriger ?
Merci d'avance, car je bloque depuis une bonne journée !!!