Mit VT ein Telefonat aufzeichnen

Hallo, ich habe hier noch ein Script, ich weiß jetzt nur nicht mehr, ob es von Tondose oder NickTheRipper kam. Dieses Script war bzw. ist ja dafür gedacht, einen ankommenden Anruf in mAirlist zu signalisieren. Ok, eigentlich könnte ich den Großteil davon entfernen bei mir, da ich mittlerweile mit Velleman K8055n und Signallampe arbeite, aber mir geht es vielmehr um den Part mit dem Voicetrack.

Bei Anrufannahme möchte ich das Gespräch aufzeichnen um es ggf. später noch einmal in die Sendung einzubauen. So also, Anruf kommt rein, Anruf wird entgegen genommen und VT soll sich öffnen und die Aufnahme starten. Im Umkehrschluss soll natürlich VT die Aufnahme beenden wenn dr Anruf auch beendet wird. Soweit so gut.

Mal funktioniert es und mal nicht. In einer meiner letzten Sendungen, vor 3 oder 4 Wochen war das, gleiches Szenario. Anruf kommt rein, Anruf angenommen, VT öffnet sich, VT startet Aufnahme und beim Beenden hing sich VT erst auf, dann kurze Zeit später ganz mAirlist bis hin zum kompletten Programmabsturz. Sowas ist natürlich mehr als ungünstig in einer laufenden Sendung. Nun weiß ich allerdings nicht, ob es vielleicht am Script liegt oder etwas anderes die Ursache war/ist oder ob es gar eine elegantere Möglichkeit gibt, das Gespräche aufzuzeichnen.

Achso, jetzt fehlt natürlich noch das Script, welches wie schon erwähnt von hier stammt nur entsprechend angepasst.

Danke schonmal und Lg

// Script für Phoner/PhonerLite um in mAirlist den Status eines Anrufs zu signalisieren.


const
  PATH = 'C:\Phone\';
  FILENAME = 'ring.txt';

var
  sl: TStringList;
  FOLDER: String;

procedure UpdateButton;
begin
  sl := TStringList.Create;
  try
    sl.LoadFromFile(PATH + FILENAME);
    if copy(sl.Text, 1, 1) = '1' then
    begin
ExecuteCommand('PHONE FONTCOLOR #FF0000');
ExecuteCommand('PHONE BACKGROUNDCOLOR #FF0000');
ExecuteCommand('PHONE TEXT Incoming Call');
ExecuteCommand('PHONE FONTSIZE 20');
ExecuteCommand('VT OPEN');
if trunc(now * 24 * 60 * 60 * 2) mod 2 = 0 then
  ExecuteCommand('PHONE BACKGROUNDCOLOR #FFFF00')
	else
	ExecuteCommand('PHONE FONTCOLOR #FFFF00');
    end
    else if copy(sl.Text, 1, 1) = '0' then
    begin
    ExecuteCommand('PHONE BACKGROUNDCOLOR #FFFF00');
	ExecuteCommand('PHONE FONTCOLOR #000000');
    ExecuteCommand('PHONE TEXT to phone');
    ExecuteCommand('PHONE FONTSIZE 20');
    ExecuteCommand('PHONEAIRCHECK FONTCOLOR #FFFFFF');
    ExecuteCommand('PHONEAIRCHECK BACKGROUNDCOLOR #FF0000');
    ExecuteCommand('PHONEAIRCHECK FONTSIZE 16');
    ExecuteCommand('VT RECORD START');
     end
    else
    begin
    ExecuteCommand('PHONE BACKGROUNDCOLOR #FFFFFF');
    ExecuteCommand('PHONE FONTCOLOR #000000');
    ExecuteCommand('PHONE TEXT Phone');
    ExecuteCommand('PHONEAIRCHECK BACKGROUNDCOLOR #FFFFFF');
    ExecuteCommand('PHONEAIRCHECK FONTCOLOR #000000');
    ExecuteCommand('VT RECORD STOP');
    ExecuteCommand('VT SAVE');
    end;
  finally
    
    ExecuteCommand('VT CANCEL');
    sl.Free;
  end;
end;
procedure OnLoad;
begin
  UpdateButton;
  EnableTimer(500);
end;
procedure OnTimer;
begin
UpdateButton;
end;
begin
end.

Ich lese da das Stichwort “PhonerLite”, und da kommt mir spontan @NickTheRipper in den Sinn. Der hatte sich mal tiefer damit auseinandergesetzt.

Wenn Du auf das Buttongeblinke verzichten kannst, dann laß den ganzen Quatsch doch mal weg und probiere es damit:

const
  PATH = 'C:\Phone\';
  FILENAME = 'ring.txt';

var
  sl: TStringList;
  FOLDER: String;

procedure UpdateButton;
begin
  sl := TStringList.Create;
  try
    sl.LoadFromFile(PATH + FILENAME);
    if copy(sl.Text, 1, 1) = '1' then
        ExecuteCommand('VT OPEN')
    else if copy(sl.Text, 1, 1) = '0' then
      ExecuteCommand('VT RECORD START')
    else
      ExecuteCommand('VT SAVE');
  finally   
    ExecuteCommand('VT CANCEL');
    sl.Free;
  end;
end;

procedure OnLoad;
begin
  UpdateButton;
  EnableTimer(500);
end;

procedure OnTimer;
begin
  UpdateButton;
end;

begin
end.

Wenn Du genau hinschaust, siehst Du den Befehl VT CANCEL, falls ring.txt nicht 0 oder 1 ist. Da würde ich anfangen zu suchen. Daß mAirList abstürzen sollte, kann ich aus diesem Code so nicht erkennen.

Hi @UliNobbe,

das hattest Du richtig in Erinnerung, das ich mich mit dem Thema ausführlich auseinander gesetzt habe. Vor allem in Verbindung mit Phoner.

Allerdings habe ich es unterlassen in Mairlist die automatische Aufnahme von Telefonaten einzubinden.

Hintergrund ist die DSGVO. Sprich der Datenschutz. Die DSGVO besagt ja, daß es die ausdrückliche Zustimmung des Anrufers benötigt. Daher ist es bei mir so gelöst, das ich manuell über einen Button die Aufnahme von zwei Rekordern starte und nicht automatisch bei Anruf. Dabei wird der Moderator und der Anrufer in zwei getrennte Spuren aufgenommen.

Erst mit Zustimmung vom Anrufer starte ich die Aufnahme und lasse dann vom Anrufer noch einmal die Zustimmung bestätigen.

Daher hat für mich das Automatisieren auch Grenzen. Vor allem der rechtliche Aspekt ist manchmal nicht zu unterschätzen und kann bei Nichtbeachtung fürchterlich nach hinten los gehen.

Nachmittagliche Grüße
Nick

1 Like

Guter Aspekt, danke. Das war aber auch schon vor der DSGVO so.

Andererseits: Wer im Sender anruft und damit rechnen muss, dass er live ins Programm geschaltet wird, muss ebenso damit rechnen, dass das aufgezeichnet wird (die Juristen nennen das “billigend in Kauf nehmen”) - vor allem, da die Aufzeichnung des Programms bei terrestrischen Sendern ohnehin verpflichtend ist.

Okay, das Vorgespräch selbst nicht, das stimmt, aber das wird wohl auch nicht gesendet.
Lösung: Vor direkter Gesprächsannahme einen Hinweis ansagen lassen, dass das Gespräch zu möglichen Sendezwecken aufgezeichnet wird. Würde ich bei einem Musikwunsch (= Anrufbeantworter) ja auch nicht anders machen.

So habe ich es früher™ auch immer gemacht und würde es heute nach wie vor so machen. Damit habe ich die Zustimmung auch immer gleich auf dem Rohmaterial.

Zurück zur Technik:

Interessant, wie? Zwei Aircheck-Recorder?

Hi Uli,

richtig, ich nutze zwei Aircheck-Recorder die ich auf unterschiedliche Ausgänge der Soundkarte horchen lasse.

Jedes Signal muss bei mir eine Mehrkanal Soundkarte mit angeschlossener Patchbay durchlaufen, bevor es das Mischpult erreicht und natürlich müssen da die Signale auch wieder beim Verlassen des Mischpultes durch. Und natürlich auch bevor das gesamte Signal in den Livestream geht.

So können die Signale überall und flexibel geroutet und abgegriffen werden.

Durch die Patchbay kannst Du dann sogar ein Signal auf mehrere Ein- und Ausgänge routen, wobei die Software der Soundkarte für das Routing auch allerhand bietet.

Theoretisch bräuchte ich die Patchbay daher garnicht, aber mit der arbeite ich schon seit vielen Jahren und mit umstecken von ein paar Kabeln bin ich schneller, als ich das in der Software der Soundkarte konfiguriert habe.

Nachmittagliche Grüße
Nick

Eingänge. Bitte nur auf Eingänge verteilen! Niemals mehrere Ausgänge auf einen Eingang stecken!

[Werbung]

Der Aircheck Recorder ist ab der Advanced Edition verfügbar.

Ein Crossgrade auf mAirList Advanced ist möglich; hierzu bitte eine Anfrage per Mail an sales@mairlist.com schicken.

[/Werbung]

So sieht der Aircheck Recorder im Werkzeuge-Fenster aus:

Aircheck-Recorder als Werkzeug

Hi Tondose,

da hast Du recht. Ich denke, wer den Umgang und das Prinzip mit einer Patchbay kennt, dem muss man das nicht extra vermitteln.

Dieses Grundverständnis setzte ich natürlich mit meiner Aussage voraus.

Nachmittagliche Grüße
Nick

Klar, ich wollte nur eventuelle Nachahmer vor Schaden bewahren, da Dein Text etwas mißverständlich formuliert ist.

1 Like

Ich rolle das Feld mal von hinten auf

Da ich das Airlite nutze, habe ich eh schon die Advanced Edition.

Zum Thema DSGVO. Das ist natürlich vollkommen richtig, ich habe es bisher immer so gehalten, da ich keine Ansage davor geschaltet habe, dass ich dem Anrufer sage, dass ich das Gespräch aufzeichne und ob er/sie damit einverstanden ist. Wenn ja, ok, wenn nein, habe ich VT einfach beendet.

Ich werde dass mal noch mit dem Script testen, wie von Tondose vorgeschlagen und dennoch schonmal das ganze mit dem Aircheck Recorder ins Auge fassen und mich mehr damit beschäftigen.

Danke allen erstmal

Lg