[Gelöst] Unable to connect to remote asterisk

Max

Neuer User
Mitglied seit
27 Sep 2004
Beiträge
171
Punkte für Reaktionen
0
Punkte
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
 

betateilchen

Grandstream-Guru
Mitglied seit
30 Jun 2004
Beiträge
12,882
Punkte für Reaktionen
0
Punkte
0
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.
 

TinTin

Aktives Mitglied
Mitglied seit
6 Mai 2004
Beiträge
1,864
Punkte für Reaktionen
0
Punkte
0
asterisk -rc geht auch nicht ?

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

Mich stoerte bei anderen Loesungen, dass man nicht alle Informationen im CLI angezeigt bekommt, wenn man sich mit "asterisk -rc" mit einem im Hintergrund laufenden Asterisk verbunden hat - zumindest habe ich in diesen Faellen immer weniger Informationen gesehen als direkt auf der CLI, ganz egal, wieviele "-v" ich beim Aufruf mit angehaengt habe.

Daher habe ich den Weg ueber "screen" gewaehlt. Asterisk laeuft auch damit im Hintergrund, aber ich kann mich direkt mit der jeweiligen "Konsole" von Asterisk verbinden, wenn ich "screen -x" eingebe. Wenn ich fertig bin, druecke ich einfach "CTRL+A" und danach noch "D", und ich bin wieder am Prompt - Asterisk laeuft weiterhin im Hintergrund.
 

Max

Neuer User
Mitglied seit
27 Sep 2004
Beiträge
171
Punkte für Reaktionen
0
Punkte
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??
 

Max

Neuer User
Mitglied seit
27 Sep 2004
Beiträge
171
Punkte für Reaktionen
0
Punkte
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 <[email protected]>
#
# 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 <[email protected]>
# - 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??
 

inion

Neuer User
Mitglied seit
28 Okt 2004
Beiträge
33
Punkte für Reaktionen
0
Punkte
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)
 

inion

Neuer User
Mitglied seit
28 Okt 2004
Beiträge
33
Punkte für Reaktionen
0
Punkte
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......
 

Max

Neuer User
Mitglied seit
27 Sep 2004
Beiträge
171
Punkte für Reaktionen
0
Punkte
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...
 

inion

Neuer User
Mitglied seit
28 Okt 2004
Beiträge
33
Punkte für Reaktionen
0
Punkte
0
na schön. dann sind ja alle wieder glücklich ;)

cya
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,832
Beiträge
2,027,217
Mitglieder
350,920
Neuestes Mitglied
askmeforit79