Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  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.1k

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

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

IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox

Geplant Angeheftet Gesperrt Verschoben JavaScript
209 Beiträge 47 Kommentatoren 41.5k Aufrufe 41 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    martin
    schrieb am zuletzt editiert von
    #81

    Irgendwo ist da der Wurm drin.
    Kannst du mir sagen wo ich per Filezilla die 3 Dateien finde. Dann kann ich die mal in Windows kopieren und dir per E-mail schicken.
    Ich glaube so komme ich nicht weiter.
    Muss der Benutzername (manager) und das Secret-Passwort dann auch in der FritzBox geändert werden?

    StuebiS 1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      martin
      schrieb am zuletzt editiert von
      #82

      So, habe alle Dateien nochmal neu gemacht.
      Jetzt ruft er an.
      ABER er sagt seinen Text nicht, sondern piept 5x und legt dann auf.

      alt text

      StuebiS 1 Antwort Letzte Antwort
      0
      • M martin

        Irgendwo ist da der Wurm drin.
        Kannst du mir sagen wo ich per Filezilla die 3 Dateien finde. Dann kann ich die mal in Windows kopieren und dir per E-mail schicken.
        Ich glaube so komme ich nicht weiter.
        Muss der Benutzername (manager) und das Secret-Passwort dann auch in der FritzBox geändert werden?

        StuebiS Offline
        StuebiS Offline
        Stuebi
        schrieb am zuletzt editiert von
        #83

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

        Irgendwo ist da der Wurm drin.
        Kannst du mir sagen wo ich per Filezilla die 3 Dateien finde. Dann kann ich die mal in Windows kopieren und dir per E-mail schicken.
        Ich glaube so komme ich nicht weiter.
        Muss der Benutzername (manager) und das Secret-Passwort dann auch in der FritzBox geändert werden?

        nein, das sind zwei verschiedene Dinge! Eigentlich hatte ich gehofft es in der README gut zu erklären. Muss mir da noch etwas überlegen.

        ioBroker auf Synology DS216+II im Docker Container

        1 Antwort Letzte Antwort
        0
        • M martin

          So, habe alle Dateien nochmal neu gemacht.
          Jetzt ruft er an.
          ABER er sagt seinen Text nicht, sondern piept 5x und legt dann auf.

          alt text

          StuebiS Offline
          StuebiS Offline
          Stuebi
          schrieb am zuletzt editiert von Stuebi
          #84

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

          So, habe alle Dateien nochmal neu gemacht.
          Jetzt ruft er an.
          ABER er sagt seinen Text nicht, sondern piept 5x und legt dann auf.

          alt text

          Das sieht doch schon einmal gut aus. Gebe mal nicht /root/tmp an sondern nur /tmp ein.
          Das muss so in der extension.ael stehen (ist auch so, wenn Du es kopiert hast) und in ioBroker Asterisk gibst Du dann nur /tmp ein.
          Klappt es dann? Denke das Asterisk keine Berechtigung hat um auf die Dateien in /root/tmp zuzugreifen

          ioBroker auf Synology DS216+II im Docker Container

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            martin
            schrieb am zuletzt editiert von martin
            #85

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

            uch so, wenn Du es kopiert hast) und in ioBrok

            Jetzt läufts.
            VIELEN DANK FÜR DEINE TOLLE HILFE.
            Manchmal ist es für mich als Linux-Deppen schon schwierig.
            Dafür ist jetzt die Freude umso größer dass es endlich läuft.

            1 Antwort Letzte Antwort
            0
            • 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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • StuebiS Offline
                StuebiS Offline
                Stuebi
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  martin
                  schrieb am zuletzt editiert von
                  #88

                  Sehr gut.
                  Das erspart jede Menge Arbeit.

                  StuebiS 1 Antwort Letzte Antwort
                  0
                  • M martin

                    Sehr gut.
                    Das erspart jede Menge Arbeit.

                    StuebiS Offline
                    StuebiS Offline
                    Stuebi
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • L Online
                      L Online
                      Linedancer
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #92

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

                          –

                          Ciao, Gerhard

                          StuebiS 1 Antwort Letzte Antwort
                          0
                          • L Linedancer

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

                            StuebiS Offline
                            StuebiS Offline
                            Stuebi
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              martin
                              schrieb am zuletzt editiert von
                              #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 Antworten Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  0
                                  • M Offline
                                    M Offline
                                    martin
                                    schrieb am zuletzt editiert von
                                    #97

                                    VIELEN DANK!
                                    Jetzt bleibt der Ordner sauber.

                                    StuebiS 1 Antwort Letzte Antwort
                                    0
                                    • M martin

                                      VIELEN DANK!
                                      Jetzt bleibt der Ordner sauber.

                                      StuebiS Offline
                                      StuebiS Offline
                                      Stuebi
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      0
                                      • T Offline
                                        T Offline
                                        TemPeck
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          557

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe