.titleBar { margin-bottom: 5px!important; }

gelöst: ISDN Telefon nach abheben kein Ton

Dieses Thema im Forum "Asterisk ISDN mit Bristuff (hfc, zaptel)" wurde erstellt von CLauinger, 15 Apr. 2005.

  1. CLauinger

    CLauinger Neuer User

    Registriert seit:
    27 Jan. 2005
    Beiträge:
    94
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ettlingen
    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
     
  2. rajo

    rajo Admin-Team

    Registriert seit:
    31 März 2004
    Beiträge:
    1,958
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    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?
     
  3. CLauinger

    CLauinger Neuer User

    Registriert seit:
    27 Jan. 2005
    Beiträge:
    94
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ettlingen
    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 ?
     
  4. jl_de

    jl_de Neuer User

    Registriert seit:
    9 Apr. 2005
    Beiträge:
    146
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Dipl.-Inf.
    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.
     
  5. CLauinger

    CLauinger Neuer User

    Registriert seit:
    27 Jan. 2005
    Beiträge:
    94
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ettlingen
    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 !
     
  6. CLauinger

    CLauinger Neuer User

    Registriert seit:
    27 Jan. 2005
    Beiträge:
    94
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ettlingen
    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
     
  7. jl_de

    jl_de Neuer User

    Registriert seit:
    9 Apr. 2005
    Beiträge:
    146
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Dipl.-Inf.
    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.
     
  8. dc6iq

    dc6iq Neuer User

    Registriert seit:
    18 Apr. 2005
    Beiträge:
    1
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  9. CLauinger

    CLauinger Neuer User

    Registriert seit:
    27 Jan. 2005
    Beiträge:
    94
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ettlingen
    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 <msp@debian.org>
    # 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 <miquels@cistron.nl>.
    #               Modified for Debian GNU/Linux
    #               by Ian Murdock <imurdock@gnu.ai.mit.edu>.
    #
    # Version:      @(#)skeleton  1.9  26-Feb-2001  [email]miquels@cistron.nl[/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
    
     
  10. CLauinger

    CLauinger Neuer User

    Registriert seit:
    27 Jan. 2005
    Beiträge:
    94
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ettlingen
    und siehe da: es moved !

    Danke vielmals !!!