Bei Anruf VDR

  • Hallo zusammen,


    hatte nun schon öfter das Problem, daß ich bei meiner Freundin war und eine Sendung aufnhemen wollte.
    Das große Problem ist nur, meine Freundin hat kein Internet...
    Also was liegt näher als kurz das Handy zu zücken und den VDR per telefon zu instruieren...
    Ich bin gerade dabei (!), mein Skript zu erstellen


    Das ganze läuft so ab:

    • Anruf entgegennehmen
    • Eingabe des VDR-Pins
    • Wechsel in den Timer Modus
    • Programm auswahl
    • Zeit eingabe
    • Vorlesen lassen was auf diesem Kanal um diese Zeit kommt
    • Bestätigen
    • Auflegen


    Die Anrufverwaltung übernimmt capisuite
    Sprachnachrichten werden mit mbrola (die bisher einzige deutsche/freie/linuxfähige Sprachausgabe die mir bekannt ist) erstellt.
    (das blöde mit mbrola ist nur, dass es ein wenig tricky zu installieren ist)
    Danach soll das skript den vdr programmieren (letzteres Befindet sich noch in der entwicklung)
    Wenn es jemand interessiert, mach ich den Code natürlich gerne öffentlich. Das Problem dabei ist nur, ich hab mein incoming-skript schon ein wenig aufgebohrt, das könnte vielleicht ein wenig unübersichtlich werden.
    Außerdem hab' ich noch ein wenig ge-sau-igelt was die konfiguration anbelangt (es gibt nämlich keine - alles bisher noch hardgecodet)
    Wie siehts aus ? Wollt Ihr's trotzdem sehen ?

    Man kämpft nicht für Freiheit indem man sie aufgibt

    Einmal editiert, zuletzt von claus007 ()

  • sicherlich! :)


    vl kann ja der eine oder andere mit verbesserungen des versauten codes unterstützung leisten.


    also bitte her damit ;)


    lg :walter

    wer rechtschreibfehler findet, darf sie behalten.
    VIA EPIA-MII 12000 - 512 MB RAM - 120GB - Nexus-S 2.3 - Hauppauge WinTV NOVA-T USB
    Debian/SID - vdr-1.4.5-1 (selbst kompiliert)

  • Würde mich auch interessieren. Ausserdem passt die Anbindung an capisuite auch super (weniger kompliziert als asterisk ;) Andererseits wäre auch SMS im Festnetz eine nützliche Angelegenheit für diesen Zweck ( http://www.voip-info.org/wiki-Asterisk+cmd+Sms ) (Sende Aufnahme an 5 mal die 6 ;) :D :unsch ... also doch wieder Asterisk ;)

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • hmm ist SMS im festnetz nicht nur bei ISDN anschlüssen möglich?! bilde mir ein sowas gehört zu haben?


    lg :walter

    wer rechtschreibfehler findet, darf sie behalten.
    VIA EPIA-MII 12000 - 512 MB RAM - 120GB - Nexus-S 2.3 - Hauppauge WinTV NOVA-T USB
    Debian/SID - vdr-1.4.5-1 (selbst kompiliert)

  • Also werde mal versuchen eine kleine Anleitung zu fabrizieren,
    bitte nicht böse sein wenn die über mehrere Antworten geht....


    [list=1]
    [*]Capisuite installieren/konfigurieren
    [*]sox installieren
    [*]Mbrola installieren (siehe Link oben) (das ist ein wenig tricky) (ich habe die Stimme "de3" gewählt)
    [*]Verzeichnis in capisuite spool verzeichnis erstellen: /var/spool/capisuite/voice/
    [*]Wenn alles läuft - benötigt ihr folgendes Skript um die Sprachdateien zu erstellen: ( bei mir heisst es cs_gen_la und liegt in /usr/bin )


    Für Debug zwecke lösche ich die wav und pho dateien nicht
    [/list=1]

  • Als nächstes müßt ihr die Datei /usr/lib/capisuite/incoming.py modifizieren
    An dieser Stelle sei darauf hingewiesen, dass es sich um python handelt ;d.h. die Einrückungen müssen stimmen! das ist aber auch so ziemlich das einzige.


    Also:
    [list=1]
    [*]Zunächst mal in der Haupt-Ablaufsteuerung rumschmieren:

    Code
    dtmf_list=capisuite.read_DTMF(call,0)
                    if (dtmf_list=="X"):
                            if (os.access(filename,os.R_OK)):
                                    os.unlink(filename)
                            faxIncoming(call,call_from,call_to,curr_user,config,1)
                    elif (dtmf_list!="" and pin!=""):
                            dtmf_list+=capisuite.read_DTMF(call,3) # wait 5 seconds for input
                            count=1


    Neu / Geändert

    Code
    while (count<3 and pin!=dtmf_list and dtmf_list!="0000"):  # try again if input was wrong / 0000 mit eurer pin ersetzen


    Code
    capisuite.log("wrong PIN entered...",1,call)
                                    capisuite.audio_send(call,cs_helpers.getAudio(config,curr_user,"beep.la"))
                                    dtmf_list=capisuite.read_DTMF(call,3)
                                    count+=1
                            if (pin==dtmf_list):
                                    if (os.access(filename,os.R_OK)):
                                            os.unlink(filename)
                                    capisuite.log("Starting remote inquiry...",1,call)
                                    remoteInquiry(call,udir,curr_user,config)


    Neu eingefügt

    Code
    if (dtmf_list=="0000"): #das ist auch eure ping
                                    vdr_call(call)


    Code
    (cause,causeB3)=capisuite.disconnect(call)
                    capisuite.log("connection finished with cause 0x%x,0x%x" % (cause,causeB3),1,call)


    [/list=1]


    Geht das so zu lesen oder gibt's ne bessere Möglichkeit zur sichtbar machung ?

    Man kämpft nicht für Freiheit indem man sie aufgibt

    Einmal editiert, zuletzt von claus007 ()

  • Zitat

    Original von claus007


    Geht das so zu lesen oder gibt's ne bessere Möglichkeit zur sichtbar machung ?


    hmm andere möglichkeit wär ein diff file um änderungen vorzunehmen. das würd dann auch das einrückungsproblem von python entschärfen .. da ich selber python programmiere kenn ich die probleme :)


    lg :walter

    wer rechtschreibfehler findet, darf sie behalten.
    VIA EPIA-MII 12000 - 512 MB RAM - 120GB - Nexus-S 2.3 - Hauppauge WinTV NOVA-T USB
    Debian/SID - vdr-1.4.5-1 (selbst kompiliert)

  • Habe meinen Eintrag mal geändert, denke mal so ist es besser lsebar
    Jetzt kommt eh nur noch ein separates modul und ein paar zeilen die an das skript hintendran gehangen werden


    (Und ? Hat schon jemand die Sprachausgabe installiert ?)
    PS Ich kann Euch auch die ganzen Dateien hochladen

    Man kämpft nicht für Freiheit indem man sie aufgibt

    Einmal editiert, zuletzt von claus007 ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!