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

[Gelöst] Unable to connect to remote asterisk

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von Max, 26 Okt. 2004.

  1. Max

    Max Neuer User

    Registriert seit:
    27 Sep. 2004
    Beiträge:
    171
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    ich weiß leider nicht, was ich falsch mache. Ich starte Asterisk als daemon (Benutzer asterisk / Gruppe asterisk), wie in diesem Thread beschrieben:

    http://www.ip-phone-forum.de/forum/viewtopic.php?t=3168

    Das klappt auch wunderbar. 'ps -ef | grep asterisk' liefert folgende Ausgabe:
    Code:
    root     32530     1  0 18:48 pts/1    00:00:00 /bin/sh /usr/sbin/safe_asterisk -U asterisk -G asterisk
    asterisk 32551 32530  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32563 32551  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32565 32563  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32566 32563  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32567 32563  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32568 32563  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32569 32563  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32570 32567  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32571 32563  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32572 32563  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32575 32563  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32576 32563  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32577 32563  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32578 32563  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32579 32563  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32580 32563  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32581 32563  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    asterisk 32582 32563  0 18:48 pts/1    00:00:00 asterisk -U asterisk -G asterisk -vvvg -c
    root     32596 32401  0 18:56 pts/1    00:00:00 grep asterisk
    
    Nun möchte ich mich jedoch, um Asterisk gescheit debuggen zu können von der Konsole aus damit 'verbinden'. Ich dachte hierfür wäre das Kommando 'asterisk -r'.

    Leider bekomme ich damit aber immer die Fehlermeldung:
    Unable to connect to remote asterisk

    Kann ich, wenn ich Asterisk als daemon starte vielleicht gar nicht mehr debuggen?? - Habt ihr irgendeine Idee, was ich falsch mache?? Funktioniert es bei euch?

    Vielen Dank im Voraus!
    Mfg,
    Max
     
  2. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    wenn Du den Asterisk vom User "asterisk" starten laesst kann sich auch nur dieser User mit dem Asterisk verbinden, also melde Dich als "asterisk" an und probiere das nochmal.
     
  3. Max

    Max Neuer User

    Registriert seit:
    27 Sep. 2004
    Beiträge:
    171
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ja, das hab ich mir auch schon mal gedacht gehabt. Aber selbst als Benutzer 'asterisk' bekomme ich immer die Fehlermeldung:
    Unable to connect to remote asterisk

    Woran könnte es denn noch liegen?
     
  4. TinTin

    TinTin Aktives Mitglied

    Registriert seit:
    6 Mai 2004
    Beiträge:
    1,864
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    asterisk -rc geht auch nicht ?

    Oder screen -x , wenn Du es so konfiguriert hast wie otaku in dem anderen thread es beschrieben hat ?

     
  5. Max

    Max Neuer User

    Registriert seit:
    27 Sep. 2004
    Beiträge:
    171
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Okay, sorry. Ich hatte mich ein bisschen missverständlich ausgedrückt. Ich benutze die 'redhat-Lösung', wie sie in dem oben genannten Thread beschrieben ist. D.h. ich verwendet das normale Skript, welches bei Asterisk mit dabei ist... (nicht die 'screen-Lösung').

    Mit 'asterisk -rc' gehts auch nicht. Immer die gleiche Fehlermeldung. Ich weiß wirklich nicht, woran es liegen könnte.

    Worüber würde man sich denn dann mit Asterisk verbinden? - Läuft das über einen bestimmten Port, den ich eventuell noch freischalten bzw. in irgendwelchen Konfigurationsfiles eintragen müsste??
     
  6. Max

    Max Neuer User

    Registriert seit:
    27 Sep. 2004
    Beiträge:
    171
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich werde hier mal mein Sartupskript, welches ich verwende um Asterisk zu starten, posten.

    Code:
    
    #!/bin/sh
    # $Id: asterisk,v 1.2 2004/07/18 20:24:07 Gregory Boehnlein <damin@nacs.net>
    #
    # asterisk    Starts, Stops and Reloads Asterisk.
    #
    # chkconfig: 2345 40 60
    # description: Asterisk PBX and telephony daemon.
    # processname: asterisk
    # pidfile: /var/run/asterisk.pid
    #
    # Sun Jul 18 2004 Gregory Boehnlein <damin@nacs.net>
    # - Updated Version to 1.2
    # - Added test for safe_asterisk
    # - Verified SIGTERM issued by "killproc" ensures "stop gracefully"
    # - Added support for -U and -G command line options
    # - Modified "reload" to call asterisk -rx 'reload'
    
    # Source function library.
    . /etc/rc.d/init.d/functions
    
    [ -x /usr/sbin/asterisk ] || exit 0
    [ -d /etc/asterisk ] || exit 0
    
    # Leave this set unless you know what you are doing.
    export LD_ASSUME_KERNEL=2.4.1
    
    # zaphfc module
    ZAPHFC_MODULE=/usr/lib/asterisk/zaphfc.ko
    
    # Full path to asterisk binary
    DAEMON=/usr/sbin/asterisk
    
    # Full path to safe_asterisk script
    SAFE_ASTERISK=/usr/sbin/safe_asterisk
    
    # Uncomment the following and set them to the user/groups that you
    # want to run Asterisk as. NOTE: this requires substantial work to
    # be sure that Asterisk's environment has permission to write the
    # files required  for  its  operation, including logs, its comm
    # socket, the asterisk database, etc.
    #AST_USER="asterisk"
    #AST_GROUP="asterisk"
    AST_USER="asterisk"
    AST_GROUP="asterisk"
    
    RETVAL=0
    
    start() {
            # load ZAPHFC
            modprobe zaptel
            insmod $ZAPHFC_MODULE modes=1 debug=0
            ztcfg -v
    
            # Start daemons.
            echo -n $"Starting asterisk: "
            if [ -f $SAFE_ASTERISK ] ; then
                    DAEMON=$SAFE_ASTERISK
            fi
            if [ $AST_USER ] ; then
                    ASTARGS="-U $AST_USER"
            fi
            if [ $AST_GROUP ] ; then
                    ASTARGS="`echo $ASTARGS` -G $AST_GROUP"
            fi
            daemon $DAEMON $ASTARGS
            RETVAL=$?
            [ $RETVAL -eq 0 ] && touch /var/lock/subsys/asterisk
            echo
            return $RETVAL
    }
    
    stop() {
            # Stop daemons.
            echo -n $"Shutting down asterisk: "
            killproc asterisk
            RETVAL=$?
            [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/asterisk
            echo
    
            # unload ZAPHFC module
            rmmod zaphfc zaptel
    
            return $RETVAL
    }
    
    restart() {
            stop
            start
    }
    
    reload() {
            $DAEMON -rx 'reload' > /dev/null 2> /dev/null
    }
    
    # See how we were called.
    case "$1" in
      start)
            start
            ;;
      stop)
            stop
            ;;
      restart)
            restart
            ;;
      reload)
            reload
            ;;
      condrestart)
            [ -f /var/lock/subsys/asterisk ] && restart || :
            ;;
      status)
            status asterisk
            ;;
      *)
            echo "Usage: asterisk {start|stop|restart|reload|condrestart|status}"
            exit 1
    esac
    
    exit $?
    
    Vielleicht kommt so einer drauf, was ich falsch machen. Asterisk startet problemlos. Leider kann ich mich nicht remote damit verbinden.

    Liegt es daran, dass

    a) ich Asterisk nicht alls root starte (kann eigentlich nicht sein; hab das gleiche Problem auch wenn ich mit root starte)
    b) irgendwelche Ports durch die Firewall gesperrt sind?

    Startet jemand von euch Asterisk auch mit dem Startupskript? Funktioniert das remote verbinden??
     
  7. inion

    inion Neuer User

    Registriert seit:
    28 Okt. 2004
    Beiträge:
    33
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    also ich kann keinen fehler finden. bisher hatte ich asterisk immer von hand gestartet. aber auch mit dem skript gehts (nach kleinen anpassungen an SuSE)
     
  8. Max

    Max Neuer User

    Registriert seit:
    27 Sep. 2004
    Beiträge:
    171
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @inion

    Und wenn Du Asterisk mit dem Skript startest, kannst Du Dich dann mit Asterisk remote verbinden???
     
  9. inion

    inion Neuer User

    Registriert seit:
    28 Okt. 2004
    Beiträge:
    33
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ja. ich kann keinen fehler finden ;)
    öhm. also. ja. es geht auch mit skript.
    aber ich weiss nicht, was "daemon" bei redhat macht.
    versuchs mal ohne.
    aber du sagtest auch, dass es auch nicht geht, wenn du * normal startest.
    wie verbindet er sich da? über socket?tcp? weiss nicht, also könnte es auch an deiner firewall liegen......
     
  10. Max

    Max Neuer User

    Registriert seit:
    27 Sep. 2004
    Beiträge:
    171
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Okay, ich bin dahintergekommen. Mein Problem war folgendes: Ich hab Asterisk als Benutzer Asterisk (Gruppe Asterisk) gestartet nd in der Konfigurationsdatei \etc\asterisk\asterisk.conf war ein Fehler drinnen.

    Das Verzeichnis, in dem das pid-File abgelegt werden soll, muss in meinem Fall so heissen:
    Code:
    astrundir => /var/run/asterisk
    
    Denn nur /var/run/asterisk ist für Benutzer Asterisk:Asterisk schreibbar.

    Zuvor stand
    Code:
    astrundir => /var/run
    
    in der Datei drinnen. Damit konnte er wohl nichts anfangen (weil die Schreibrechte fehlten), hat aber trotzdem Asterisk erfolgreich gestartet.

    Das Problem trat dann aber beim remote-connecten auf...
     
  11. inion

    inion Neuer User

    Registriert seit:
    28 Okt. 2004
    Beiträge:
    33
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    na schön. dann sind ja alle wieder glücklich ;)

    cya