Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox

Scheduled Pinned Locked Moved JavaScript
209 Posts 47 Posters 42.3k Views 41 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • BluefoxB Bluefox

    Участник @Stuebi написал в IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:

    manager.conf

    Vielleicht kann man den Adapter so erweitern, dass man einen Pfad zu manager.conf eingeben kann, dann werden die Einstellungen von dort gelesen.

    StuebiS Offline
    StuebiS Offline
    Stuebi
    wrote on last edited by
    #86

    @Bluefox sagte in IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:

    Участник @Stuebi написал в IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:

    manager.conf

    Vielleicht kann man den Adapter so erweitern, dass man einen Pfad zu manager.conf eingeben kann, dann werden die Einstellungen von dort gelesen.

    Ich habe den Adapter jetzt angepaßt. Für die Fritzbox Konfiguration können jetzt die Asterisk Config Files aus ioBroker erstellt werden. Diese müssen dann nur noch von /tmp/ (dort werden diese erstellt) in das Verzeichnis /etc/asterisk kopiert werden.
    Am liebsten würde ich die Dateien gleich im /etc/asterisk Verzeichnis erstellen. Nur benötige ich dafür root Berechtigungen oder die von Asterisk.
    Vielleicht hast Du noch eine Idee wie man die Config Dateien aus ioBroker dort hinbekommt?

    VG
    Stübi

    ioBroker auf Synology DS216+II im Docker Container

    1 Reply Last reply
    0
    • StuebiS Offline
      StuebiS Offline
      Stuebi
      wrote on last edited by Stuebi
      #87

      Um die Konfiguration des Adapters zu vereinfachen, kann man ab Version 1.0.5 (steht heute über GitHub und Morgen über npm zur Verfügung).
      Nun können die Asterisk Konfigurationsdateien automatisch aus ioBroker erstellt werden.
      Dafür sind alle notwendigen Felder zur füllen und die Checkbox "create asterisk config files (once)" aktiviert werden. Beim ersten Start des Adapters werden die Asterisk Config Files im Verzeichnis /tmp/ erstellt. Diese müssen noch umbenannt und in das /etc/asterisk Verzeichnis verschoben werden.

      Ich habe die Anleitung hier angepasst: https://forum.iobroker.net/topic/16460/iobroker-und-voip-sip-calls-mit-asterisk-fritzbox

      ioBroker auf Synology DS216+II im Docker Container

      1 Reply Last reply
      0
      • M Offline
        M Offline
        martin
        wrote on last edited by
        #88

        Sehr gut.
        Das erspart jede Menge Arbeit.

        StuebiS 1 Reply Last reply
        0
        • M martin

          Sehr gut.
          Das erspart jede Menge Arbeit.

          StuebiS Offline
          StuebiS Offline
          Stuebi
          wrote on last edited by
          #89

          @martin said in IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:

          Sehr gut.
          Das erspart jede Menge Arbeit.

          das hoffe ich! ich bin gespannt auf die erste Installation

          ioBroker auf Synology DS216+II im Docker Container

          1 Reply Last reply
          0
          • L Online
            L Online
            Linedancer
            wrote on last edited by
            #90

            Sehr schöner Adapter, danke dafür. Leider hab ich noch etwas Probleme. Der Adapter vebindet sich mit dem asterisk server und ist grün. Im Log (Debug level) steht:

            asterisk.0	2019-03-01 14:56:41.879	debug	Management Events: {"event":"Registry","privilege":"system,all","channeltype":"SIP","username":"xxxxxx","domain":"192.168.1.1","status":"Request Sent"}
            

            wobei die IP Adresse falsch ist. die muss 192.168.178.1 heissen.
            sowohl in der adapter Config und in der sip.conf steht die richtige drin, im Log ist sie trotzdem falsch.
            Wo kann ich hier den Hebel noch ansetzen?

            –

            Ciao, Gerhard

            StuebiS 1 Reply Last reply
            0
            • L Linedancer

              Sehr schöner Adapter, danke dafür. Leider hab ich noch etwas Probleme. Der Adapter vebindet sich mit dem asterisk server und ist grün. Im Log (Debug level) steht:

              asterisk.0	2019-03-01 14:56:41.879	debug	Management Events: {"event":"Registry","privilege":"system,all","channeltype":"SIP","username":"xxxxxx","domain":"192.168.1.1","status":"Request Sent"}
              

              wobei die IP Adresse falsch ist. die muss 192.168.178.1 heissen.
              sowohl in der adapter Config und in der sip.conf steht die richtige drin, im Log ist sie trotzdem falsch.
              Wo kann ich hier den Hebel noch ansetzen?

              StuebiS Offline
              StuebiS Offline
              Stuebi
              wrote on last edited by
              #91

              @Linedancer , hallo kannst Du mir bitte einmal Deine sip.conf und Screenshots von Deiner Asterisk ioBroker Konfiguration unter Instanzen an thorsten@stueben.de zuschicken. Passwörter bitte schwärzen, Rest so lassen.

              Hast Du die Asterisk Konfigurationsdateien manuell erstellt oder durch ioBroker erstellen lassen?

              VG
              Stübi

              ioBroker auf Synology DS216+II im Docker Container

              L 1 Reply Last reply
              0
              • StuebiS Stuebi

                @Linedancer , hallo kannst Du mir bitte einmal Deine sip.conf und Screenshots von Deiner Asterisk ioBroker Konfiguration unter Instanzen an thorsten@stueben.de zuschicken. Passwörter bitte schwärzen, Rest so lassen.

                Hast Du die Asterisk Konfigurationsdateien manuell erstellt oder durch ioBroker erstellen lassen?

                VG
                Stübi

                L Online
                L Online
                Linedancer
                wrote on last edited by
                #92

                @Stuebi
                Mail ist unterwegs, danke für deinen Support

                –

                Ciao, Gerhard

                StuebiS 1 Reply Last reply
                0
                • L Linedancer

                  @Stuebi
                  Mail ist unterwegs, danke für deinen Support

                  StuebiS Offline
                  StuebiS Offline
                  Stuebi
                  wrote on last edited by
                  #93

                  @Linedancer sagte in IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:

                  @Stuebi
                  Mail ist unterwegs, danke für deinen Support

                  Antwort auch

                  ioBroker auf Synology DS216+II im Docker Container

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    martin
                    wrote on last edited by
                    #94

                    Gibt es die Möglichkeit im Skript mit einzubauen, dass er die erstellte Datei nach erfolgreicher Abarbeitung des Skriptes wieder löscht?
                    Da sammelt sich ja einiges an Dateien an.

                    StuebiS 2 Replies Last reply
                    0
                    • M martin

                      Gibt es die Möglichkeit im Skript mit einzubauen, dass er die erstellte Datei nach erfolgreicher Abarbeitung des Skriptes wieder löscht?
                      Da sammelt sich ja einiges an Dateien an.

                      StuebiS Offline
                      StuebiS Offline
                      Stuebi
                      wrote on last edited by
                      #95

                      @martin , ich muss mal sehen ob ich irgendwie herausbekommen, wann ein Anruf erfolgreich beendet wurde über Events.
                      Aber was ich machen kann, ist bei jedem Start der Instanz alle alten Dateien zu löschen. Hilft das schon?

                      ioBroker auf Synology DS216+II im Docker Container

                      1 Reply Last reply
                      0
                      • M martin

                        Gibt es die Möglichkeit im Skript mit einzubauen, dass er die erstellte Datei nach erfolgreicher Abarbeitung des Skriptes wieder löscht?
                        Da sammelt sich ja einiges an Dateien an.

                        StuebiS Offline
                        StuebiS Offline
                        Stuebi
                        wrote on last edited by
                        #96

                        @martin, ich habe eben etwas experimentiert . Du kannst folgendes in Deine /etc/asterisk/extensions.ael einbauen ( h => { ..... } ):

                        context default {
                                1000 => {
                                Goto(ael-antwort,s,1);
                                }
                        }
                        
                        context ael-ansage {
                                _. => {
                                Answer();
                                Wait(1);
                                        Read(dtmf,${file}&beep,0,s,${repeat},1);
                                        if ("${dtmf}"  != "") {
                                                SayDigits(${dtmf});
                                        }
                                        Hangup();
                                }
                        
                                h =>  {
                                        NoOp(/bin/rm ${file}.*);
                                        System(/bin/rm ${file}.*);
                                }
                        }
                        
                        context ael-antwort {
                                s  => {
                                        Answer();
                                        Wait(1);
                                        Set(repeat=5);
                                        Read(dtmf,/tmp/asterisk_dtmf&beep,0,s,${repeat},1);
                                        if ("${dtmf}"  != "") {
                                                SayDigits(${dtmf});
                                        }
                                        Hangup();
                                }
                        }
                        

                        ioBroker auf Synology DS216+II im Docker Container

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          martin
                          wrote on last edited by
                          #97

                          VIELEN DANK!
                          Jetzt bleibt der Ordner sauber.

                          StuebiS 1 Reply Last reply
                          0
                          • M martin

                            VIELEN DANK!
                            Jetzt bleibt der Ordner sauber.

                            StuebiS Offline
                            StuebiS Offline
                            Stuebi
                            wrote on last edited by
                            #98

                            @martin , werde ich in der nächsten Version bei Textnachrichten berücksichtigen.
                            Wird eine Audiodatei statt Text vorgegeben, bleibt die Datei bestehen.

                            ioBroker auf Synology DS216+II im Docker Container

                            1 Reply Last reply
                            0
                            • T Offline
                              T Offline
                              TemPeck
                              wrote on last edited by
                              #99

                              Hallo!

                              Ich habe eben ein Update von 1.0.1. auf 1.0.6 gemacht, seitdem funktionieren die Anrufe nicht mehr und es gibt folgenden Fehler im Log:


                              2019-03-27 17:50:05.059 - info: asterisk.0 Start dialing
                              2019-03-27 17:50:05.064 - error: asterisk.0 Error while dialing (1). Error: {"response":"Error","actionid":"7505cffe-eea8-eee4-5289-b60c7711e803","message":"Extension does not exist."}, Result: {"parameter":{"telnr":"+XXXXX","callerid":"+XXXXXX","text":"Einbruchalarm","extension":"XXXXX","audiofile":"/tmp/audio_10953344","delete":"delete"},"options":{"action":"originate","channel":"SIP/XXXX/XXXXX","context":"ael-ansage","exten":"XXXXX","priority":1,"timeout":60000,"variable":{"repeat":5,"file":"/tmp/audio_10953344","del":"delete"},"callerid":"XXXX"},"guid":"7505cffe-eea8-eee4-5289-b60c7711e803","result":{"response":"Error","actionid":"7505cffe-eea8-eee4-5289-b60c7711e803","message":"Extension does not exist."}}
                              2019-03-27 17:50:05.066 - info: javascript.0 script.js.Sicherheit.Kamera.test_asterisk: Result: {"result":{"parameter":{"telnr":"+XXXXX","callerid":"+XXXXX","text":"Einbruchalarm","extension":"XXXX","audiofile":"/tmp/audio_10953344","delete":"delete"},"options":{"action":"originate","channel":"SIP/XXXX/XXXXX","context":"ael-ansage","exten":"XXXXXX","priority":1,"timeout":60000,"variable":{"repeat":5,"file":"/tmp/audio_10953344","del":"delete"},"callerid":"XXXXXX"},"guid":"7505cffe-eea8-eee4-5289-b60c7711e803","result":{"response":"Error","actionid":"7505cffe-eea8-eee4-5289-b60c7711e803","message":"Extension does not exist."}},"error":{"response":"Error","actionid":"7505cffe-eea8-eee4-5289-b60c7711e803","message":"Extension does not exist."}}

                              Meine Nummern hab ich im Log natürlich gerade durch XXXXX ersetzt.

                              Da ich unter Proxmox arbeite habe ich vorher ein Snapshot erstellt und hab den Zustand wiederhergestellt. Unter 1.0.1 läuft es nun wieder.

                              Nun meine Frage: Was hätte ich im Skript oder sonst wo anpassen müssen?
                              Aus dem Log werde ich leider nicht schlau...

                              Das Script, was gestartet wurde, sieht wie folgt aus:

                              var number   = "HANDYNUMMER";
                              var callerid = 'FESTNETZNUMMER'; // optional, if not set anonymous call
                              var msg      = "Einbruchalarm"; 
                              
                              // call telephone nummber 040 666-7766 and play text message as audio
                              sendTo('asterisk.0', "dial", { telnr: number, callerid: callerid, text:  msg},  (res) => {
                                    console.log('Result: ' + JSON.stringify(res));
                              });  
                              
                              StuebiS 1 Reply Last reply
                              0
                              • T TemPeck

                                Hallo!

                                Ich habe eben ein Update von 1.0.1. auf 1.0.6 gemacht, seitdem funktionieren die Anrufe nicht mehr und es gibt folgenden Fehler im Log:


                                2019-03-27 17:50:05.059 - info: asterisk.0 Start dialing
                                2019-03-27 17:50:05.064 - error: asterisk.0 Error while dialing (1). Error: {"response":"Error","actionid":"7505cffe-eea8-eee4-5289-b60c7711e803","message":"Extension does not exist."}, Result: {"parameter":{"telnr":"+XXXXX","callerid":"+XXXXXX","text":"Einbruchalarm","extension":"XXXXX","audiofile":"/tmp/audio_10953344","delete":"delete"},"options":{"action":"originate","channel":"SIP/XXXX/XXXXX","context":"ael-ansage","exten":"XXXXX","priority":1,"timeout":60000,"variable":{"repeat":5,"file":"/tmp/audio_10953344","del":"delete"},"callerid":"XXXX"},"guid":"7505cffe-eea8-eee4-5289-b60c7711e803","result":{"response":"Error","actionid":"7505cffe-eea8-eee4-5289-b60c7711e803","message":"Extension does not exist."}}
                                2019-03-27 17:50:05.066 - info: javascript.0 script.js.Sicherheit.Kamera.test_asterisk: Result: {"result":{"parameter":{"telnr":"+XXXXX","callerid":"+XXXXX","text":"Einbruchalarm","extension":"XXXX","audiofile":"/tmp/audio_10953344","delete":"delete"},"options":{"action":"originate","channel":"SIP/XXXX/XXXXX","context":"ael-ansage","exten":"XXXXXX","priority":1,"timeout":60000,"variable":{"repeat":5,"file":"/tmp/audio_10953344","del":"delete"},"callerid":"XXXXXX"},"guid":"7505cffe-eea8-eee4-5289-b60c7711e803","result":{"response":"Error","actionid":"7505cffe-eea8-eee4-5289-b60c7711e803","message":"Extension does not exist."}},"error":{"response":"Error","actionid":"7505cffe-eea8-eee4-5289-b60c7711e803","message":"Extension does not exist."}}

                                Meine Nummern hab ich im Log natürlich gerade durch XXXXX ersetzt.

                                Da ich unter Proxmox arbeite habe ich vorher ein Snapshot erstellt und hab den Zustand wiederhergestellt. Unter 1.0.1 läuft es nun wieder.

                                Nun meine Frage: Was hätte ich im Skript oder sonst wo anpassen müssen?
                                Aus dem Log werde ich leider nicht schlau...

                                Das Script, was gestartet wurde, sieht wie folgt aus:

                                var number   = "HANDYNUMMER";
                                var callerid = 'FESTNETZNUMMER'; // optional, if not set anonymous call
                                var msg      = "Einbruchalarm"; 
                                
                                // call telephone nummber 040 666-7766 and play text message as audio
                                sendTo('asterisk.0', "dial", { telnr: number, callerid: callerid, text:  msg},  (res) => {
                                      console.log('Result: ' + JSON.stringify(res));
                                });  
                                
                                StuebiS Offline
                                StuebiS Offline
                                Stuebi
                                wrote on last edited by Stuebi
                                #100

                                @TemPeck, Dein Skript ist okay. die Konfiguration hat sich seit 1.0.1 sher geändert. Hintergrund, Bugfixing, einfachere Konfiguration und neue Anforderungen.
                                Am einfachsten ist es, Du installierst die Version 1.0.6 und füllst nochmals nach der Anleitung https://github.com/schmupu/ioBroker.asterisk/blob/master/docs/SIP_FRITZBOX.md die Felder in der Asterisk Konfiguration aus. Anschließend "Asterisk Konfiguration erstellen (einmalig)" anklicken und speichern/schließen. Nun werden die Asterisk Konfigurationsfiles im Verzeichnis /tmp/ abgelegt. Diese wie folgt kopieren:

                                sudo mv /tmp/extensions.ael /etc/asterisk/extensions.ael
                                sudo mv /tmp/manager.conf /etc/asterisk/manager.conf
                                sudo mv /tmp/sip_fritzbox.conf /etc/asterisk/sip.conf
                                sudo mv /tmp/rtp.conf /etc/asterisk/rtp.conf
                                

                                Jetzt Asterisk (sudo /etc/init.d/asterisk restart) und die ioBroker Asterisk Instanz neu starten!

                                Alternativ kannst Du auch wie hier beschrieben vorgehen: https://github.com/schmupu/ioBroker.asterisk/blob/master/docs/PJSIP_FRITZBOX.md . Bitte dann die /etc/asterisk/sip.conf löschen, da jetzt die pjsip.conf genutzt wird.

                                ioBroker auf Synology DS216+II im Docker Container

                                T 1 Reply Last reply
                                0
                                • StuebiS Stuebi

                                  @TemPeck, Dein Skript ist okay. die Konfiguration hat sich seit 1.0.1 sher geändert. Hintergrund, Bugfixing, einfachere Konfiguration und neue Anforderungen.
                                  Am einfachsten ist es, Du installierst die Version 1.0.6 und füllst nochmals nach der Anleitung https://github.com/schmupu/ioBroker.asterisk/blob/master/docs/SIP_FRITZBOX.md die Felder in der Asterisk Konfiguration aus. Anschließend "Asterisk Konfiguration erstellen (einmalig)" anklicken und speichern/schließen. Nun werden die Asterisk Konfigurationsfiles im Verzeichnis /tmp/ abgelegt. Diese wie folgt kopieren:

                                  sudo mv /tmp/extensions.ael /etc/asterisk/extensions.ael
                                  sudo mv /tmp/manager.conf /etc/asterisk/manager.conf
                                  sudo mv /tmp/sip_fritzbox.conf /etc/asterisk/sip.conf
                                  sudo mv /tmp/rtp.conf /etc/asterisk/rtp.conf
                                  

                                  Jetzt Asterisk (sudo /etc/init.d/asterisk restart) und die ioBroker Asterisk Instanz neu starten!

                                  Alternativ kannst Du auch wie hier beschrieben vorgehen: https://github.com/schmupu/ioBroker.asterisk/blob/master/docs/PJSIP_FRITZBOX.md . Bitte dann die /etc/asterisk/sip.conf löschen, da jetzt die pjsip.conf genutzt wird.

                                  T Offline
                                  T Offline
                                  TemPeck
                                  wrote on last edited by
                                  #101

                                  @Stuebi Wunderbar, danke für den Support, es läuft nun alles in der neuesten Version.

                                  Für mich einer der wichtigsten Adapter, da ich jederzeit "alarmiert" werden kann. Top und vielen Dank für die Arbeit an diesem Adapter!!

                                  StuebiS 1 Reply Last reply
                                  0
                                  • BluefoxB Offline
                                    BluefoxB Offline
                                    Bluefox
                                    wrote on last edited by
                                    #102

                                    Gibt es die Möglichkeit auf DTMF zu reagieren?

                                    StuebiS 1 Reply Last reply
                                    0
                                    • BluefoxB Bluefox

                                      Gibt es die Möglichkeit auf DTMF zu reagieren?

                                      StuebiS Offline
                                      StuebiS Offline
                                      Stuebi
                                      wrote on last edited by Stuebi
                                      #103

                                      @Bluefox sagte in IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:

                                      Gibt es die Möglichkeit auf DTMF zu reagieren?

                                      Ja das geht. Man kann zum Beispiel Asterisk anrufen und Und den dann DTMF in iobroker auswerten.
                                      Es geht auch umgekehrt, ioBroker ruft dich über Asterix an und der Angerufene gibt dann ein DTMF Code ein

                                      guss
                                      stübi

                                      ioBroker auf Synology DS216+II im Docker Container

                                      1 Reply Last reply
                                      0
                                      • T TemPeck

                                        @Stuebi Wunderbar, danke für den Support, es läuft nun alles in der neuesten Version.

                                        Für mich einer der wichtigsten Adapter, da ich jederzeit "alarmiert" werden kann. Top und vielen Dank für die Arbeit an diesem Adapter!!

                                        StuebiS Offline
                                        StuebiS Offline
                                        Stuebi
                                        wrote on last edited by
                                        #104

                                        @TemPeck sagte in IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:

                                        @Stuebi Wunderbar, danke für den Support, es läuft nun alles in der neuesten Version.

                                        Für mich einer der wichtigsten Adapter, da ich jederzeit "alarmiert" werden kann. Top und vielen Dank für die Arbeit an diesem Adapter!!

                                        Super, danke das freut mich

                                        ioBroker auf Synology DS216+II im Docker Container

                                        1 Reply Last reply
                                        0
                                        • K Offline
                                          K Offline
                                          Kai103
                                          wrote on last edited by
                                          #105

                                          Ich muss mich hier noch mal reinhängen, ursprünglich war ich Kai102, aber irgendwie hat es mich bei der Forumsumstellung zerschossen. Habe nun zum Herbst wieder mal angefangen mich mit Asterisk zu beschäftigten und hänge ziemlich an dem "Standardproblem"Cound not connect to Asterisk Manager! T. Die drei Dateien sind entsprechend angepasst, mir ist aber aufgefallen, dass ich nach dem Befehl asterisk -rvvvvv die Fehlermeldung bekomme :
                                          Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?). Stimmt, bzw. stimmt nicht, asterisk.ctl gibt es, die ist aber leer..... Jemand ein Tip ?

                                          StuebiS 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          964

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe