gelöst: ISDN Telefon nach abheben kein Ton

CLauinger

Neuer User
Mitglied seit
27 Jan 2005
Beiträge
94
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich betreibe meine Asterisk mit mISDN , habe 3 ISDN Telefone draufgeschaltet.
Wenn ich * mit "asterisk -vvvvvvvgc" starte, bekomme ich ein Freizeichen wenn ich ein Telefon abnehme.
Wenn ich es mit "/etc/init.d/asterisk start" starte, bleibt mein Telefon stumm.

Woran liegt das ?

Gruss

Christian
 
startet asterisk denn auch wirklich, wenn du es über /etc/init.d startest?
d.h. zuerst mal /etc/init.d/asterisk start machen, danach mit asterisk -rvvv zur asterisk-Konsole verbinden. Dann solltest Du sehen, was los ist -- evtl. ist auch das init-skript fehlerhaft, so dass asterisk gar nicht startet?
 
Ja asterisk startet über init.d, das ist Fakt.
asterisk -rvvv zur Console tut nach dem init.d script auch.

Im init.d Script steht user=asterisk, wenn ich "*" von Hand starte bin ich root.
Auf was muss der User asterisk denn Rechte bekommen das beim Abheben auch dieser Ton kommt ?
 
Hi,

der sollte auf alles unter /dev/zap Zugriff haben.
Und dann legt der ja noch logfiles und .pid wenn Du den einmal als root gestartet hast darf er das meist nicht mehr. Also auch da drauf achten, daß die dem User asterisk gehören.
 
OK hab alles dem User asterisk ge-chown-ed.
/dev/mISDN auch, /dev/zap hab ich nicht, benutzte mISDN.

Testen kann ichs erst am Montag im Büro, habs über ssh gemacht !!!
Danke schonmal, melde mich falls es immer noch nicht tut !
 
Ne hat leider nicht getan, ich höre immer noch nix wenn ich ein Telefon abhebe und "*" als user asterisk gestartet wurde.

Was kann ich noch tun ?

Gruss
 
Moin,

klingt aber trotz alledem nach Berechtigungsproblemen. Funktioniert der ISDN-Kram denn sonst?
Ich hab hier nur CAPI und zaphfc am Laufen kann das so leider nicht nachvollziehen. Was Du aber nochmal nachgucken kannst ist, welche devices asterisk offen hat wenn Du via root startest (lsof |grep asterisk |grep \/dev\/) und wenn Du via init.d startest. Die Auswertung dann einfach mal vergleichen und gucken obs Differenzen gibt oder wo er als nicht-root keine Rechte hat.
 
Vermutlich debian.

Hi !

Vermutlich betreibst Du eine debian-Distribution - in /etc/default/asterisk musst Du den Eintrag
AST_REALTIME=no setzen

Damit wird dem asterisk die Option -p nicht gesetzt, das ist nämlich nur für root funktional

Gruss,
Fred
 
HI,

der lsof |grep asterisk |grep /dev/ bringt folgende Ausgaben:

Asterisk als root:
asterisk 4770 root 0u CHR 136,0 2 /dev/pts/0
asterisk 4770 root 1u CHR 136,0 2 /dev/pts/0
asterisk 4770 root 2u CHR 136,0 2 /dev/pts/0
asterisk 4770 root 8u CHR 46,0 115953 /dev/mISDN

Asterisk als asterisk:
asterisk 4857 asterisk 0u CHR 1,3 114493 /dev/null
asterisk 4857 asterisk 1u CHR 1,3 114493 /dev/null
asterisk 4857 asterisk 2u CHR 1,3 114493 /dev/null
asterisk 4857 asterisk 8u CHR 46,0 115953 /dev/mISDN
mpg123 4861 asterisk 0u CHR 1,3 114493 /dev/null
mpg123 4861 asterisk 2u CHR 1,3 114493 /dev/null

Code:
Hier das init.d Script:
#! /bin/sh
#
# asterisk      start the asterisk PBX
# (c) Mark Purcell <[email protected]>
# May be distributed under the terms of this General Public License
#
# Based on:
#
# skeleton      example file to build /etc/init.d/ scripts.
#               This file should be used to construct scripts for /etc/init.d.
#
#               Written by Miquel van Smoorenburg <[email protected]>.
#               Modified for Debian GNU/Linux
#               by Ian Murdock <[email protected]>.
#
# Version:      @(#)skeleton  1.9  26-Feb-2001  [email][email protected][/email]
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=asterisk
USER=$NAME
DESC="Asterisk PBX"
PIDFILE="/var/run/asterisk/asterisk.pid"

# by default: use real-time priority
PARAMS=""
AST_REALTIME="yes"
RUNASTERISK="no"
MODULEINIT=""
if [ -r /etc/default/asterisk ]; then . /etc/default/asterisk; fi

if [ "$RUNASTERISK" != "yes" ];then
        echo "Asterisk not yet configured. Edit /etc/default/asterisk first."
        exit 1
fi

if [ "$AST_REALTIME" != "no" ]
then
  PARAMS="$PARAMS -p"
fi

if [ "x$USER" = "x" ]
then
  echo "Error: empty USER name"
  exit 1
fi
if [ `id -u "$USER"` = 0 ]
then
  echo "Starting as root not supported."
  exit 1
fi
PARAMS="$PARAMS -U $USER"
if [ "x$RUNASTSAFE" = "xyes" ];then
        DAEMON=/usr/sbin/safe_asterisk
        REALDAEMON=/usr/sbin/asterisk
else
        DAEMON=/usr/sbin/asterisk
fi

test -x $DAEMON || exit 0

set -e

case "$1" in
  start)
        echo -n "Starting $DESC: "
        start-stop-daemon --start --pidfile "$PIDFILE" --exec $DAEMON -- $PARAMS
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        if [ "$RUNASTSAFE" = "yes" ];then
                # hopefully this will work. Untested
                $REALDAEMON -rx 'stop now' > /dev/null  || true
        else
                # Try gracefully
                $DAEMON -rx 'stop now' > /dev/null 2>&1 || true
        fi
        echo -n "$NAME"
        # giving a small grace time to shut down cleanly.
        sleep 2
        if [ "$RUNASTSAFE" = "yes" ];then
                start-stop-daemon --quiet --oknodo --stop --exec $DAEMON
        fi
        # just making sure it's really, really dead.
        # KILL is necessary just in case there's an asterisk -r in the background
        start-stop-daemon --stop --quiet --oknodo --retry=0/2/TERM/2/KILL/5 --exec $DAEMON
        echo "."
        ;;
  reload)
        echo "Reloading $DESC configuration files."
        $DAEMON -rx 'reload'
        ;;
  logger-reload)
        $DAEMON -rx 'logger reload'
        ;;
  extensions-reload)
        echo "Reloading $DESC configuration files."
        $DAEMON -rx 'extensions reload'
        ;;
  restart|force-reload)
        $0 stop
        $0 start
        ;;
  *)
        N=/etc/init.d/$NAME
        # echo "Usage: $N {start|stop|restart|reload|logger-reload|extensions-reload|force-reload}" >&2
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.