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

Problem bei SIP-Registrierung

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von Max, 4 Nov. 2004.

  1. Max

    Max Neuer User

    Registriert seit:
    27 Sep. 2004
    Beiträge:
    171
    Zustimmungen:
    0
    Punkte für Erfolge:
    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...
     
  2. rollo

    rollo IPPF-Promi

    Registriert seit:
    5 Juli 2004
    Beiträge:
    8,281
    Zustimmungen:
    1
    Punkte für Erfolge:
    38
    Ort:
    JO30SK
    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
     
  3. Max

    Max Neuer User

    Registriert seit:
    27 Sep. 2004
    Beiträge:
    171
    Zustimmungen:
    0
    Punkte für Erfolge:
    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...
     
  4. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    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.
     
  5. rollo

    rollo IPPF-Promi

    Registriert seit:
    5 Juli 2004
    Beiträge:
    8,281
    Zustimmungen:
    1
    Punkte für Erfolge:
    38
    Ort:
    JO30SK
    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
     
  6. Max

    Max Neuer User

    Registriert seit:
    27 Sep. 2004
    Beiträge:
    171
    Zustimmungen:
    0
    Punkte für Erfolge:
    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 <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 $?
    

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

    Max Neuer User

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

    Was ist denn nun der Vorteil von diesem IP-Update-Skript gegenüber der Verwendung von DynDNS? - Ist DynDNS nicht so zuverlässig?? Oder weshalb sollte man lieber das Skript anstelle von DynDNS benutzen?
     
  8. rollo

    rollo IPPF-Promi

    Registriert seit:
    5 Juli 2004
    Beiträge:
    8,281
    Zustimmungen:
    1
    Punkte für Erfolge:
    38
    Ort:
    JO30SK
    Das habe mich anfangs auch gefragt ;)

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

    jo
     
  9. Max

    Max Neuer User

    Registriert seit:
    27 Sep. 2004
    Beiträge:
    171
    Zustimmungen:
    0
    Punkte für Erfolge:
    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!!
     
  10. maikd

    maikd Neuer User

    Registriert seit:
    22 Sep. 2004
    Beiträge:
    39
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Wilchingen (SH)
    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