Problem bei SIP-Registrierung

Max

Neuer User
Mitglied seit
27 Sep 2004
Beiträge
171
Punkte für Reaktionen
0
Punkte
0
Hallo,

mein Asterisk hat anscheinend irgendwie ein Problem bei der SIP-Registrierung. Ich hab mehrer SIP-Accounts für Asterisk konfiguiert. Wird Asterisk neu gestartet funktionieren alle Accounts einwandfrei. Nach einer bestimmten Zeit (dies kann ein Tag, eine Woche,... sein) zeigt zwar Asterisk immer noch eine erfolgreiche Registierung an, aber es werden keine Anrufe mehr entgegen genommen.

Hat jemand von euch ein ähnliches Problem?? - Leider lässt sich aus den Logfiles überhaupt keine Regel erkennen, ab wann bzw. nach welcher Aktion das passiert.

Nach einem Neustart von Asterisk funktioniert alles wieder einwandfrei. Nur bis wann....

Hat jemand schon mal solch ein Verhalten festgestellt? - Gibt es irgendwelche Lösungen? Ich denke da vielleicht an ein Skript, dass die SIP-Registierung gescheit überprüft, etc. Ich hab da leider nicht so viel Ahnung von.

Bitte schreib mir doch, wenn euch was einfällt.

Mfg,
Max

PS: Es muss nicht immer so sein, dass gleich alle SIP-Accounts nicht mehr funktionieren. Sehr häufig passiert es, dass nur einer nicht mehr (trotz Registrierung) nicht mehr benutzbar ist. Manchmal fallen aber auch gleich mehere oder alle aus. Wirklich merkwürdig...
 

rollo

IPPF-Promi
Mitglied seit
5 Jul 2004
Beiträge
8,288
Punkte für Reaktionen
1
Punkte
38
Könnte es sein, dass das immer dann passiert, wenn die IP wechselt?

Dazu gibt es hier im Forum ein script, dass die aktuelle IP checkt und bei Bedarf * neu startet.

jo
 

Max

Neuer User
Mitglied seit
27 Sep 2004
Beiträge
171
Punkte für Reaktionen
0
Punkte
0
Hallo Rollo,

danke für Deinen Tipp. Das Skript ist eine ganz gute Idee:

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

Weiß aber nicht, ob es die Lösung für mein Problem ist. Zum einen benutze ich in meiner sip.conf keine IP-Nummer, sondern ein dyndns-Eintrag. Außerdem würde es mich dann wundern, dass manchmal auch nur ein oder zwei SIP-Accounts nicht funktionieren. Sollte was mit der IP-Adresse bzw. dem DynDns-Eintrag nicht stimmen, dann sollten doch immer alle nicht funktionieren. Was meinst Du?

Das Skript kann ich ausserdem leider nicht benutzen. Ich hab nämlich immer noch dieses Problem:

Ich kann mich nicht remote mit meinem laufenden Asterisk verbinden: http://www.ip-phone-forum.de/forum/viewtopic.php?t=6121

Probleme über Probleme...
 

betateilchen

Grandstream-Guru
Mitglied seit
30 Jun 2004
Beiträge
12,882
Punkte für Reaktionen
0
Punkte
0
Richte doch erstmal den Asterisk so ein, daß Du ohne screen arbeiten kannst. Dann solltest Du die Sache mit dem Remote-Connect gelöst bekommen.

Und wenn das alles funktioniert, kannst Du darüber nachdenken, den Asterisk per Skripte zu "steuern". Vorher macht das m.E. keinen Sinn.
 

rollo

IPPF-Promi
Mitglied seit
5 Jul 2004
Beiträge
8,288
Punkte für Reaktionen
1
Punkte
38
Ich hatte, bevor ich das script benutzte auch einen Dyndns eintrag. Es schadet aber nicht, da die IP reinzusetzen, da das script sie ja immer durch die aktuelle ersetzt.

jo
 

Max

Neuer User
Mitglied seit
27 Sep 2004
Beiträge
171
Punkte für Reaktionen
0
Punkte
0
Hallo Betateilchen,

ich benutze gar kein 'screen' um Asterisk zu starten. Ich starte Asterisk mit dem richtigen Startupskript. Beim Quellcode von Asterisk liegt unter dem Verzeichnis 'redhat' ein Beispielskript. Dieses hab ich leicht abgeändert:

1) Benutzer & Gruppe geändert.
2) ZAPHFC vor dem Start laden. Nach dem Beenden wieder entladen..

Das gesamte Skript kann ich hier auch mal anhängen.
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 $?

Wieso funktioniert das nun mit dem Remote-Connect nicht? Liegt es eventuell an Firewall-Einstellungen? Oder was kann es sein?
 

rollo

IPPF-Promi
Mitglied seit
5 Jul 2004
Beiträge
8,288
Punkte für Reaktionen
1
Punkte
38
Das habe mich anfangs auch gefragt ;)

Das script reagiert einfach schneller und man ist nicht von Dyndns abhängig.

jo
 

Max

Neuer User
Mitglied seit
27 Sep 2004
Beiträge
171
Punkte für Reaktionen
0
Punkte
0
Okay, das klingt doch schon mal ganz gut. Sobald ich mein Problem mit dem Remote-Connect gelöst habe, werde ich auch auf das Skript umsteigen.

Hatte jemand schon mal das gleiche Problem bei der Remote-Verbindung zu Asterisk:

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

Ich bin für Tipps in allen Richtigungen dankbar!!
 

maikd

Neuer User
Mitglied seit
22 Sep 2004
Beiträge
39
Punkte für Reaktionen
0
Punkte
0
Hallo Max,

Das gleiche Problem habe ich mit meinem * auch, teilweise funktioniert ein Anbieter, dann gehen mal 2 oder 3 nicht oder gar keiner. Dachte am Anfang auch, das es mit der IP zu tun haben könnte, konnte sich aber nicht bestätigen, da mein Router zum Glück nur alle 2-3 Monate eine neue IP vom Provider bekommt.

Ich hab es schon mit DynDNS oder fixer IP probiert, kein Erfolg ;-(

Ich lass es Dich aber wissen wenn ich was herausgefunden habe.

de Maik
 

3CX PBX - GRATIS
Linux / Win / Cloud

Neueste Beiträge

Statistik des Forums

Themen
232,857
Beiträge
2,027,427
Mitglieder
350,956
Neuestes Mitglied
Paul457