Monitor()

Schneidet das Gespräch auf dem aktuellen Channel mit (zwei Dateien)

Monitor([Format[,Basisname[,Optionen]]])

Startet die Audio-Aufzeichnung des aktuellen Channels. Die auf dem Channel eingehenden und ausgehenden Sprachpakete werden in seperaten Dateien aufgezeichnet, bis der Channel aufgelegt oder die Überwachung durch die StopMonitor()-Anwendung beendet wird.

Format gibt das Dateiformat (= Dateiendung) an. Ohne Angabe wird wav verwendet.

Basisname gibt den Basis-Dateinamen an (also ohne Dateiendung). Ohne Angabe wird der Name aus dem Channelnamen und einer Nummer zusammengesetzt, z.B. IAX2[foo@bar]-3. Das eingehende Audio wird in Basisname-in.Format, das ausgehende in Basisname-out.Format im Verzeichnis /var/spool/asterisk/monitor/ gespeichert.

Eine der beiden Optionen kann angegeben werden:

m

Nach dem Beenden der Aufnahme werden die Dateien für In und Out in eine gemischt und die ursprünglichen Dateien gelöscht. Dazu muss das Programm soxmix aus dem Paket sox installiert sein[57]. Falls die Variable ${MONITOR_EXEC} definiert ist, wird statt soxmix die angegebene Anwendung ausgeführt, und die ursprünglichen Dateien für beide Richtungen nicht automatisch gelöscht[58]. soxmix (bzw. ${MONITOR_EXEC}) werden drei Parameter übergeben, die beiden Aufzeichnungsdateien und der Dateiname für die zu erstellende gemischte Datei, welcher dem Basisnamen ohne -in/-out entspricht. Ist ${MONITOR_EXEC_ARGS} gesetzt, werd der Inhalt als zusätzliche Argumente an ${MONITOR_EXEC} übergeben.

[Wichtig]

Bei der Verwendung von soxmix ist zu beachten, dass soxmix ohne explizite Angabe der Dateitypen diese aus den Endungen erkennt. gsm und wav bereiten z.B. keine Probleme, aber für die Formate alaw und ulaw werden als Endungen al bzw. ul erwartet. Lesen Sie also ggf. die Anleitung von sox (/soxmix) und verwenden Sie ${MONITOR_EXEC_ARGS} oder benutzen Sie ein kleines Wrapper-Skript als ${MONITOR_EXEC}, das die Datei-Parameter liest und soxmix mit Angabe der Typen aufruft.

[Anmerkung]

Wenn Sie eine kombinierte Aufzeichnung wollen, ist meist MixMonitor() die bessere Alternative, da es die Kanäle direkt während der Aufnahme mischt und dadurch Lastspitzen am Ende der Aufzeichnung vermeidet.

b
Startet die Aufnahme erst, nachdem ein Anruf zu einem anderen Channel verbunden wurde, also nachdem z.B. durch Dial() tatsächlich ein Gespräch zustande kommt.

Gibt 0 bei Erfolg zurück oder -1 bei einem Fehler (Überwachungsdateien konnten nicht geöffnet werden, Channel wird bereits aufgezeichnet, ...)

; das Gespräch aufzeichnen und hinterher die Audio-Kanäle mixen:
exten => 123,1,Answer()
exten => 123,n,Monitor(gsm,,mb)
exten => 123,n,SayDigits(123456789)
exten => 123,n,Hangup()

; wie oben aber mit einem eigenen Wrapper, der soxmix aufruft:
exten => 123,1,Answer()
exten => 123,n,Set(MONITOR_EXEC=/pfad/zu/mein-soxmix-wrapper.sh)
exten => 123,n,Monitor(gsm,,mb)
exten => 123,n,SayDigits(123456789)
exten => 123,n,Hangup()
[Wichtig]

Stellen Sie vor dem Mitschneiden von Gesprächen sicher, dass die rechtlichen Voraussetzungen erfüllt sind. Meist müssen beide Teilnehmer von der Aufzeichnung informiert sein.[59]

[Anmerkung]

Einige Anwender, die viele (50-500) Gespräche gleichzeitig aufnehmen, berichten von stark verbesserter Performance, wenn man auf eine RAM-Disk aufzeichnet (weniger Such-Operationen) und die Dateien erst nach Gesprächsende auf die Festplatte (lokal oder gemountet) kopiert.

[Anmerkung]

Interner Hilfetext zu dieser Applikation in Asterisk 1.4: 

  -= Info about application 'Monitor' =- 

[Synopsis]
Monitor a channel

[Description]
Monitor([file_format[:urlbase]|[fname_base]|[options]]):
Used to start monitoring a channel. The channel's input and output
voice packets are logged to files until the channel hangs up or
monitoring is stopped by the StopMonitor application.
  file_format  optional, if not set, defaults to "wav"
  fname_base   if set, changes the filename used to the one specified.
  options:
    m   - when the recording ends mix the two leg files into one and
          delete the two leg files.  If the variable MONITOR_EXEC is set
, the
          application referenced in it will be executed instead of
          soxmix and the raw leg files will NOT be deleted automatically
.
          soxmix or MONITOR_EXEC is handed 3 arguments, the two leg file
s
          and a target mixed file name which is the same as the leg file
 names
          only without the in/out designator.
          If MONITOR_EXEC_ARGS is set, the contents will be passed on as
          additional arguements to MONITOR_EXEC
          Both MONITOR_EXEC and the Mix flag can be set from the
          administrator interface

    b   - Don't begin recording unless a call is bridged to another chan
nel

Returns -1 if monitor files can't be opened or if the channel is already
monitored, otherwise 0.

Differenz zum internen Hilfetext in Asterisk 1.2: 

- keine - 

Siehe auch. ChangeMonitor(), StopMonitor(), PauseMonitor(), UnpauseMonitor(), MixMonitor(), Record()



[57] http://sox.sourceforge.net/, siehe Beschreibung in musiconhold.conf, mindestens Version 12.17.7, Ihre installierte Version erfahren Sie mit soxmix -help

[58] abhängig von der Asterisk-Version; ältere Versionen löschen nicht automatisch