Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Anruf bei Event über Fritzbox

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Zitat von PiLlhipp Beitrag anzeigen
    Hi Kharim
    Könntest du mir erklären, welche Schritte du gemacht hast?
    Mein Ziel war es lediglich, das Telefon klingeln zu lassen und
    bei abheben einen Infotext sprechen zu lassen.
    Zu viel Aufwand kam bei mir aber nicht in Frage.
    Exakt das habe ich umgesetzt....nur mit wenig Aufwand ist das leider nicht möglich.
    Ich versuch das Ganze mal kurz zusammen zu fassen - bei Interesse gerne mehr:

    - Linux (keine Ahnung ob man Linphone auch im Windows per Batch ansprechen kann)
    - SIP Server (zb Fritz-Box)
    - Excec Binding zum Start eines externen Scripts (Damit ein Switch Item - wie oben beschrieben - zum Scriptstarten)
    - Linphone
    - Script zum durchführen des Calls

    Im Grunde habe ich auch nur die Anleitung oben befolgt - nur eben kein sipcmd (Fehler) sondern Linphone als Client....
    Das Einzige, was nicht so einfach ist, ist ein Script das entsprechend eine wav abspielt, sobald abgenommen wurde.
    Kann da aber auch gerne meins mal zur Verfügung stellen (hat aber momentan noch kleine Fehler)

    Kommentar


      #17
      Gerade die Einbindung und Konfiguration von linphone auf dem Raspi2 würde mich für meine Klingelfunktion interessieren.
      Soweit ich das sehe, gibt es ja einen Daemon (linphonecsh), welcher dann per Script angesprochen werden kann.
      Idealerweise würde man ihn beim Systemstart starten, initialisieren und am Registrar (z.B. Fritzbox) registrieren.
      Das sollte dann auhh bedeutend schneller funktionieren als mit sipcmd, da die Registrierung immer
      recht viel Zeit in Anspruch nimmt.
      Dann wäre nur noch der Call abzusetzen bzw. ggf ein Hangup nach n Sekunden zu schicken.
      Gefunden habe ich da was unter http://martinverges.blogspot.de/2012...nux-shell.html
      Nur klappt bei mir was mit dem registrieren nicht, status ist danach immer -1. Somit klappt auch ein call nicht.

      Leider funktioniert sipcmd bei mir nicht mehr, nach dem Anruf stürzt es ab und damit klingelt das Telefon dann ewig weiter,
      sehr unschön für eine Türklingel ;-)..
      Siehe hierzu auch https://github.com/tmakkonen/sipcmd/issues/28
      Die quick&dirty-Lösung dort gefällt mir nicht so wirklich, weswegen ich eine Alternative suche.
      Vermutlich wird sipcmd auch nicht mehr gepflegt, da hat sich länger nichts mehr getan


      Wie gesagt wäre ich da für ein paar Details empfänglich.

      Gruß,
      Babbe
      Zuletzt geändert von Babbe; 07.06.2015, 19:49.

      Kommentar


        #18
        @PiLlhipp:

        So... Also ich habe noch mal alles kontrolliert... Ich habe nichts weiter getan als in meiner Anleitung beschrieben.

        Was natürlich sein kann das ich durch vorherige Tests / Basteleien etwas installiert habe was benötigt wird. Kann ich mir aber eigentlich nicht vorstellen.
        Wenn du das Programm in der Shell starten kannst, und trotzdem der Ton nicht richtig wieder gegeben wird, habe ich auch keine andere Idee mehr.
        Vielleicht schreibst du mal ein Issue in das sipcmd Git. Vielleicht kann dir der Autor weiterhelfen.
        Kontrolliere noch mal die Log Dateien, Berechtigungen usw.

        @Kharim:
        Den Fehler könnstest du vielleicht mal im Git von sipcmd posten.

        Ich bastel gerade an einer Lösung die per ZoneMinder mit FaceRecognition ein Event im openhab auslöst - also Beispielsweise die Haustür öffnet oder per KFZ Kennzeichen die Garage öffnet :-) Spannende Geschichte das - und echt nicht einfach *g* (https://github.com/ZoneMinder/ZoneMinder/issues/630)

        Ich weiss das ist keine große Hilfe, aber immerhin eine Antwort *ggg*

        Kommentar


          #19
          Hi whopperg und Kharim

          Danke für eure Hilfe!
          Leider komme ich nicht weiter. Sipcmd wäre sooo gut und einfach,
          wenn doch herauszufinden wäre, woran es liegt das keine Sounds abgespielt
          werden. Habe mir die Finger Wund gesucht und bin auch kein Einzelfall.
          Bald habe ich wieder etwas Zeit und werde es erneut versuchen.
          Sollte ich Erfolg haben, werde ich das hier veröffentlichen.

          Gruß

          Kommentar


            #20
            Zitat von Babbe Beitrag anzeigen
            Gerade die Einbindung und Konfiguration von linphone auf dem Raspi2 würde mich für meine Klingelfunktion interessieren.
            Soweit ich das sehe, gibt es ja einen Daemon (linphonecsh), welcher dann per Script angesprochen werden kann.
            Idealerweise würde man ihn beim Systemstart starten, initialisieren und am Registrar (z.B. Fritzbox) registrieren.
            Das sollte dann auhh bedeutend schneller funktionieren als mit sipcmd, da die Registrierung immer
            recht viel Zeit in Anspruch nimmt.
            Dann wäre nur noch der Call abzusetzen bzw. ggf ein Hangup nach n Sekunden zu schicken.
            Gefunden habe ich da was unter http://martinverges.blogspot.de/2012...nux-shell.html
            Nur klappt bei mir was mit dem registrieren nicht, status ist danach immer -1. Somit klappt auch ein call nicht.

            Wie gesagt wäre ich da für ein paar Details empfänglich.

            Gruß,
            Babbe
            Ahoi,

            aaalso....
            Installation von linphone klassisch über apt-get install
            Danach hab ich eben oben genanntes Script ebenfalls gefunden und auseinander genommen (ging bei mir auch nicht)
            Ergebnis:

            Code:
            ########################################
            
            SIP_HOST='Fritz.box'
            SIP_USER='6XX'
            SIP_PASS='XXX'
            CALL='xxxxxxxxx'
            CALL2='xxxxxxxxx'
            
            ########################################
            get_phone_state () {
            linphonecsh status register 2>/dev/null 1>&2
            if [ $? -eq $1 ]; then
             true
            else
             false
            fi
            }
            get_call_state () {
            linphonecsh status hook 2>/dev/null 1>&2
            if [ $? -eq $1 ]; then
             true
            else
             false
            fi
            }
            
            
            ## Starting Phone client ...
            linphonecsh init
            while get_phone_state 255; do sleep 0.2; done
            
            
            if get_phone_state 0; then
            # Register Client on SIP Server ...
            linphonecsh register --host ${SIP_HOST} --username ${SIP_USER} --password ${SIP_PASS}
            fi
            
            while ! get_phone_state 1; do sleep 0.2; done
            
            # Einbindung wav zur Soundausgabe
            linphonecsh generic "soundcard use files"
            
            
            # Calling Number: ${CALL} ..
            linphonecsh dial ${CALL}
            while get_call_state 4; do sleep 0.2; done
            # Ringing on remote site ...
            
            # t Zählvariable t2 Rufzeit in s
            t=0
            t2=30
            
            while [ $t -lt $t2 ]; do
            
            if get_call_state 32; then
            # Wiedergabe wav
            linphonecsh generic "play /opt/openhab/etc/sipcalls/Badfenster.wav"
            sleep 10 #wav Länge
            t=40
            fi
            sleep 1
            t=$((t+1))
            done
            
            # Cleaning up ...
            linphonecsh generic terminate 2>&1 1>/dev/null
            
            #########################################################
            
            # Calling Number: ${CALL2} ...
            linphonecsh dial ${CALL2}
            while get_call_state 4; do sleep 0.2; done
            # Ringing on remote site ...
            
            # t Zählvariable t2 Rufzeit in s
            t=0
            t2=30
            
            while [ $t -lt $t2 ]; do
            
            if get_call_state 32; then
            # Wiedergabe wav
            linphonecsh generic "play /opt/openhab/etc/sipcalls/Badfenster.wav"
            sleep 10 #wav Länge
            t=40
            fi
            sleep 1
            t=$((t+1))
            done
            
            # Cleaning up ...
            linphonecsh generic terminate 2>&1 1>/dev/null
            
            #################################
            
            echo "Exiting Daemon ..."
            linphonecsh exit
            echo
            sudo service xrdp restart
            exit 0
            Du müsst ja eigentlich nur die Wiedergabe der wav raus nehmen und auf einen Call runter brechen.....
            Das restart xrdp brauch ich momentan, da nach diesen Script meine xrdp nicht mehr funktioniert - warum auch immer...

            Grüße,
            Kharim

            Kommentar


              #21
              Hallo zusammen,
              ich bin ueber das Thema gestolpert und wollte es auch gleich mal ausprobieren hab allerdings noch Probleme.
              Installiert habe ich alles wir oben beschrieben hat auch soweit funktioniert und die sipcmd ist im Verzeichniss /bin.

              Mein System ist ein Rasberry Pi2. Soundkarte habe ich mit einer wave Datei und aplay geteste. wave wird sauber abgespielt.

              Nun zu meinem Problem.

              Code:
              sipcmd -u 622 -c pwd -P sip -w fritz.box -x "c622;h"
              
              Starting sipcmd
              in debug mode
              Manager
              Init
              initialising SIP endpoint...
              Listening for SIP signalling on 0.0.0.0:TestChanAudio
              TestChanAudio
              5060
              SIP listener up
              registered as sip:622@fritz.box
              Created LocalEndPoint
              Main
              ## Call ##
              TestPhone::Main: calling "622" using gateway "fritz.box" at Sun Jun 28 13:56:26 2015
              
              Setting up a call to: sip:622@fritz.box
              LocalEndpoint::MakeConnection
              LocalEndpointCreateConnection
              LocalConnection
              OnIncomingConnection: token=L86e2d7532
              connection set up to sip:622@fritz.box
              TestPhone::Main: calling "sip:622@fritz.box" for 0
              TestPhone::Main: calling "sip:622@fritz.box" for 0
              OnOpenMediaStream
              recording media from sip
              CreateMediaStream
              TestChannel[ Call[Cbfe65a141]-EP<local>[L86e2d7532] - 0x6fe311f0 ]
              OnOpenMediaStream
              streaming media to local
              TestChannel::Write
              Ich habe yum testen die wave Datei erstmal weggelassen. Aber auch mit wave Datei funktioniert es nicht.

              Das Telefon klingelt einfach nicht.

              Einen Fehler kann ich so nicht erkennen. Hat jemand noch eine Idee.


              Vielen Dank schonmal.

              Gruesse
              Tom

              Kommentar


                #22

                registered as sip:622@fritz.box
                connection set up to sip:622@fritz.box T
                estPhone::Main: calling "sip:622@fritz.box"

                Du äh....rufst die Leitung an, mit der du selbst an der Fb angemeldet bist!
                Sprich du rufst dich selbst an.

                Kharim

                Kommentar


                  #23
                  Ok. Dann habe ich das wohl komplett falsch verstanden. Wenn ich es jetzt richtig verstanden habe, dann müsste es jetzt wie folgt aussehen.

                  Code:
                   
                   sipcmd -u 622 -c pwd -P sip -w fritz.box -x "c621;h"
                  Bei c621 dann das DECT-Telefon ist welches klingen soll, richtig? :-) Grüße Tom PS: Kann erst heute Abend testen.

                  Kommentar


                    #24
                    Hey,

                    finde diese Funktion sehr interessant. Frage mich gerade nur wie ich diese unter Windows ans laufen bekommen könnte. Hat jemand da einen Tipp für mich?

                    Kommentar


                      #25
                      Hallo,

                      ich beschäftige mich auch gerade mit diesem Thema. Der letzte Beitrag ist schon 4 Monate her, aber ich hoffe jemand kann mir dennoch helfen.
                      Mit folgendem Code ruft der Pi über die FritzBox Nummern an.

                      Code:
                      /opt/sipcmd/sipcmd -P sip -u 621 -c 1234 -a PiPhone -w 192.168.178.1 -x "c0049151xxxxxxxxx;ws3000;vtest.wav;h"
                      Sipcmd (oder vielleicht die FritzBox?) scheint nur 10 Sekunden zu wählen, was man auch in der CLI beobachten kann.
                      Beim Anruf eines internen Telefons klappt das ganz gut, da die Wählzeit für die Nummer **1 sehr kurz ist und ca 7 Sekunden zum Klingeln übrig sind.

                      Da ich das ganze aber am Bewegungsmelder installiert habe, soll der Pi mich auf meinem Handy anrufen. Es klingeln auch. Allerdings nach der langen Wählzeit plus Rufaufbauzeit bleibt von den 10 Sekunden nicht viel Zeit übrig. Das Resultat ist, mein Handy klingelt entweder 1 mal, 2 mal, oder teilweise gar nicht.

                      Kann man die Wählzeit ändern?

                      Kommentar


                        #26
                        Gibt es schon Neuigkeiten bezüglich der wav-Datei???

                        ich habe folgendes Script

                        sipcmd -P sip -u 623 -c ******* -a Heizung -w fritz.box -x "c017****;vtestfile.wav" -p 5061

                        Die WAV-Datei ist 8kHz, 16 bit, mono, 8 Sekunden lang.

                        Ich höre jedoch gar nichts weder Rauschen noch sonst was.

                        Hat jemand eine Idee??

                        Desweiteren steht nach absenden des Befehls: Speicherzugriffsfehler

                        Zuletzt geändert von bass; 20.06.2016, 14:15.

                        Kommentar


                          #27
                          Hallo zusammen,

                          den Segfault konnte ich noch beheben:
                          https://github.com/tmakkonen/sipcmd/issues/28

                          einfach wie beschrieben in der channels.cpp die Zeile mit dem CollectAverage auskommentieren, dann lief es bei mir stabil...

                          Was den Ton angeht bin ich aber auch noch nicht weiter... habe schon 8bit 16kHz/8kHz mono ausprobiert aber immer kommt am Ende des Anrufs nur ein komisches extrem kurzes Rauschen/"Wirrwar" (nichts verständliches) aus dem Hörer... Ist da irgendwer schon weiter gekommen?

                          Viele Grüße
                          Thilo

                          Kommentar


                            #28
                            Zitat von roderich Beitrag anzeigen
                            Hallo zusammen,
                            . Ist da irgendwer schon weiter gekommen?
                            Moin moin,
                            Der Speicherzugriffsfehler tritt nicht auf wenn der Befehl mit sudo sipcmd ...
                            eingegeben wird.

                            Auf einem Raspi3 habe ich mal sipcmd installiert, wie hier Anfangs beschrieben.

                            Mein Kommando:
                            pi@moutere-2 ~/eSpeak $ sipcmd -u 620 -c GEHEIM -P sip -w 192.168.20.3 -x "c**610;ws500;v/home/pi/eSpeak/guten_Tag-8khz.wav;h"

                            Der Effekt:
                            Das Telefon klingelt, die Datei ist jedoch nicht zu höhren :-(

                            hier mall das ganze Ergebnis:
                            Anhang: SIPCMD.txt

                            vielleicht hat inzwischen jemand eine Lösung gefunden?




                            Angehängte Dateien

                            Kommentar


                              #29
                              alle im Urlaub ?

                              Kommentar


                                #30
                                Ohne da Programm selbst getestet zu haben: Es gab den Tipp im Netz, dass die wave-Datei 8-bit codiert sein muss.

                                Kommentar

                                Lädt...
                                X