mirror of
https://github.com/Jeuners/Logpy-AgentOne.git
synced 2026-09-09 15:02:33 +02:00
Nimmt Anrufe einer Hausarztpraxis entgegen, transkribiert sie lokal, kategorisiert das Anliegen und legt es strukturiert ab. Keine Patientendaten verlassen den Rechner: Spracherkennung, Sprachmodell und Sprachsynthese laufen lokal, im Datenpfad steht kein Cloud-Dienst. Aufbau: - FreeSWITCH nimmt über einen SIP-Trunk an, spielt die Ansage und nimmt auf. - pipe.watch erkennt fertige Aufnahmen und schiebt sie durch die Pipe. - whisper.cpp transkribiert, ein lokales Sprachmodell (Ollama) ordnet in Kategorie und Dringlichkeit ein — mit erzwungenem JSON-Schema. - Ablage lokal, optional Nextcloud (WebDAV) und ein Deck-Board. - Leitstand (pipe.server): Board mit Eingang/In Bearbeitung/Rückfragen/Erledigt, Aufnahmen zum Anhören, Verlauf und Ampeln für alle beteiligten Dienste. Zugangsdaten und Anrufdaten liegen außerhalb des Repositorys (.env, ablage/, telefon/). Konfiguration siehe .env.example, Einrichtung siehe README.
19 lines
1,020 B
Smarty
19 lines
1,020 B
Smarty
<include>
|
|
<!-- Anrufbeantworter der Praxis: annehmen, Ansage, aufnehmen, auflegen.
|
|
Die Aufnahme landet im Eingang der Pipe; der Dateiname traegt Zeit und
|
|
Rufnummer (CLIP), damit pipe.watch beides uebernehmen kann. -->
|
|
<extension name="praxis_anrufbeantworter">
|
|
<condition field="destination_number" expression="^.*$">
|
|
<action application="set" data="record_stereo=false"/>
|
|
<action application="set" data="RECORD_ANSWER_REQ=true"/>
|
|
<action application="answer"/>
|
|
<!-- kurze Pause, sonst schneidet die Gegenstelle den Anfang der Ansage ab -->
|
|
<action application="sleep" data="700"/>
|
|
<action application="playback" data="@@PROJEKT@@/telefon/ansage.wav"/>
|
|
<!-- record: <datei> <max_sekunden> <stille_schwelle> <stille_sekunden> -->
|
|
<action application="record"
|
|
data="@@PROJEKT@@/telefon/eingang/${strftime(%Y%m%d-%H%M%S)}_${caller_id_number}.wav 120 200 4"/>
|
|
<action application="hangup"/>
|
|
</condition>
|
|
</extension>
|
|
</include>
|