ELSA Support KnowledgeBase - Support Information
Dokument-Nr. 02.01.46.50   

Übersicht über die Voice-Funktionalität des ELSA MicroLink 56k


Voicemodems ermöglichen die Aufnahme und Wiedergabe von Sprache über eine Telefonleitung oder Mikrofon und Lautsprecher. Die Anwendungen reichen vom einfachen Anrufbeantwortern bis zu Voice-gestützten Bedienoberflächen für Mailboxen.

Datenfluß bei Aufnahme und Wiedergabe
 Aufnahme
(von Telefonleitung nach Host)
Wiedergabe
(von Host nach Telefonleitung)
TelefonleitungSprache
analog
Sprache
analog
DatenpumpeAbtasten mit 16 Bit bei 7200/11025Hz
16 Bit
ADPCM/PCM-Coder
2,4,8 Bit
in 16 Bit Register sammeln
16 Bit
Analog wandeln
16 Bit
ADPCM/PCM-Decoder
2,4,8 Bit
in Bitgruppen zerschneiden
16 Bit
Modemcontroller16 Bit -> 2 Byte
1Byte
Modem-Buffer
2 Byte -> 16 Bit
1Byte
Modem-Buffer
Host1 Byte
in Datei schreiben
1Byte
Datei lesen


Notwendige Übertragungsraten auf der Schnittstelle

In der rechnerischen Übertragungsrate in Spalte 3 sind die Start- und Stoppbits der asynchronen seriellen Übertragung nicht enthalten. Pro acht Bit sind ein Start- und Stoppbit zu addieren.
VerfahrenAuflösung Rechnerische Übertragungsrate für Voice-DatenNotwendige serielle Übertragungsrate
ADPCM2 Bit/Sample7200 1/s * 2 Bit = 14.400 Bit/s 19.200 Bit/s
ADPCM4 Bit/Sample7200 1/s * 4 Bit = 28.800 Bit/s 38.400 Bit/s
PCM8 Bit/Sample7200 1/s * 8 Bit = 57.600 Bit/s 115.200 Bit/s
PCM8 Bit/Sample11025 1/s * 8 Bit = 88.200 Bit/s 115.200 Bit/s


Stillekompression (Silence-Deletion)

Die Stillekompression, d.h. das Nicht-Kodieren von Sprachpausen, wird durch das Modem nicht unterstützt

Stilleerkennung (Silence-Detection)

Wird eine Stillephase erkannt, die eine vorgewählte Dauer (AT#VSP) überschreitet, wird das Ende der aufzunehmenden Nachricht angenommen, und der Modemcontroller meldet ein <dle> q zum Host, der dann die Voiceaufnahme beendet.

Byteorder

Bei der Aufnahme trennt der Modemcontroller 16 Bit Voicedaten in 2 Byte und schreibt sie nacheinander in den Modembuffer. Dabei werden zuerst die unteren und dann die oberen 8 Bit gespeichert. Da viele Anwendungsprogramme noch eine alte Norm verwenden, bei der die Reihenfolge des Abspeicherns umgekehrt ist, unterstützt das Modem beide Verfahren.

Setzt man das Bit 0 im Register S229 auf 0 (default), arbeitet das Modem nach der neuen, heute gültigen Norm. Setzt man das Bit 0 auf 1, so arbeitet es nach der alten Norm. Die Wiedergabe von Voicedateien, die nach der jeweils anderen Norm aufgenommen wurden, ist bei 2 und 4 Bit/Sample recht "kratzig", aber noch gut zu verstehen.

Übersicht Voice-Befehle nach Rockwell
BefehlZulässige Werte Erläuterung
#cls=<class>0,1,1.0,2,2.0,8 Auswahl Klasse:
p=0: Datenmodem
p=1: Fax Class 1 (TIA/EIA-578)
p=1.0: Fax Class 1.0 (T.31)
p=2: Fax Class 2 (Rockwell)
p=2.0: Fax Class 2.0 (TIA/EIA-592)
p=8: Voice Class (TIA/EIA/IS-101 oder Rockwell)
#mdl?-Anzeige Modemtyp
#mfr?-Anzeige Hersteller
#rev?-Anzeige Firmware
#vci?-Anzeige Kommpressionsmethode
#vbq?-Anzeige Puffergröße
#vls=<p>0,2,3,4 I/O-Gerät auswähle
p=0: Telefonleitung
p=2: Micro und Lautsprecher
p=3: nur Micro
p=4: Telefonleitung und Lautsprecher (Lautsprecher nur bei Aufnahme zugeschaltet)
#bdr=<p>0..6,8,16,24,48 Bitrate setzen (=p*2400), die automatische Bitratenerkennung bleibt eingeschaltet
#vsr=<p>7200,11025 Abtastrate; bei 11025 nur 8Bit/PCM; bei 11025 während Aufnahme und Wiedergabe keine DTMF-Ton-Erkennung
#vbs=<p>2,4,8 Auflösung (Bit/Sample), bei 2 und 4 ADPCM, bei 8 PCM
#vgt=<p>128..255 Wiedergabelautstärke
#vgr=<p>128..255 Aufnahmelautstärke
#vtx-Voice-Daten senden
#vrx-Voice-Daten empfangen
#vts=<p><p><p>...p
{p,m}
[f1,f2,m]
p=0-9,A-D,*,#,!
DTMF-Ton senden mit Dauer gemäß #vbt;
DTMF-Ton senden mit Dauer m [100ms];
Frequenzen f1 und f2 senden (300-3400Hz) mit Dauer m [100ms];
DTMF-Töne können auch mit ATDp erzeugt werden
#vbt=<p>0..40 [100ms] Dauer eines Piep- oder DTMF-Tones
#vsp=<p>0..255 [100ms] Ruheerkennungszeit; Erkennt das Modem in der Aufnahme eine Stillephase, die länger als #vsp ist, dann meldet es ein <dle>q zum Host
#vss=<p>0..3 Empfindlichkeit der Stilleerkennung
#vtd=<p1>,<p2>,<p3>... pn=0..3F hexAusblenden von dle-Meldungen
#vsd=<p>0Stille-Kompression aus; wird nicht unterstützt
#vra=<p>0..255 [100ms] "Ringback goes away" Timer; Das originate-Voice-Modem erkennt am Ausbleiben des Ringbacks (Intervallzeit > #vra), ob der Angerufene abgehoben hat.
#vrn=<p>0..255 [100ms] "Ringback never came" Timer; Das originate-Voice-Modem erkennt am Fehlen des Ringbacks (#vrn-Zeit abgelaufen), ob der Angerufene schon vor dem ersten Ringback abgehoben hat.
#vpp=<p>0Packet Protokoll (immer abgeschaltet)
#tl=<p>0000..7FFF hexAudio Output Transmit Level: Lautstärke für die Wiedergabe über Telefonleitung, Telefon oder Lautsprecher (Default: 7FFF hex)


Übersicht Voice-Befehle nach TIA/EIA/IS-101
BefehlZulässige Werte Erläuterung
+fclass=<class>0,1,1.0,2,2.0,8 Auswahl Klasse:
p=0: Datenmodem
p=1: Fax Class 1 (TIA/EIA-578)
p=1.0: Fax Class 1.0 (T.31)
p=2: Fax Class 2 (Rockwell)
p=2.0: Fax Class 2.0 (TIA/EIA-592)
p=8: Voice Class (TIA/EIA/IS-101 oder Rockwell)
+vls=<p>0,1,7,14 I/O-Gerät auswählen
p=0: auflegen
p=1: Telefonleitung
p=7: Micro und Lautsprecher (Lautsprecher nur bei Aufnahme zugeschaltet)
p=14: wie p=7
+vpr=<p>0..6,8,16,24,48 Bitrate setzen (=p*2400) Die automatische Bitratenerkennung bleibt eingeschaltet
+vgt=<p>128..174 Wiedergabelautstärke
+vgr=<p>128..255 Aufnahmelautstärke
+vtx-Voice-Daten senden
+vrx-Voice-Daten empfangen
+vts=<p><p><p>...p
{p,m}
[f1,f2,m]
p=0-9,A-D,*,#,!
DTMF-Ton senden mit Dauer gemäß +vtd;
DTMF-Ton senden mit Dauer m [10ms]
Frequenzen f1 und f2 senden (300-3400Hz) mit Dauer m [10ms]; DTMF-Töne können auch mit ATDp erzeugt werden
+vtd=<p>0..255 [10ms] Dauer eines Piep- oder DTMF-Tones
+vit=<p>0..60 [1s] Schnittstellen Inaktivitätstimer
+vip-Voice-Register auf Standardkonfiguration
+vem=<p>p=32Bit hexAusblenden von dle-Meldungen
+vsd=<sds>,<sdi>sds=0..143
sdi=10..200 [100ms]
sds = Empfindlichkeit der Stilleerkennung
sdi = Mindestdauer einer Sprachpause
Erkennt das Modem in der Aufnahme eine Stillephase die länger als <sdi> ist, dann meldet es ein <dle>q zum Host
+vsm=<cml>,<vsr>, <scs>,<sel> cml=129,131,132
vsr=7200,11025
scs=0,124..132
sel=0
Kompression
cml = Methode
   132 = 8 Bit PCM
   131 = 4 Bit ADPCM
   129 = 2 Bit ADPCM
vsr = Abtastrate
scs = Kompressionsempfindlichkeit
sel = Manipulation der Pausenlänge abgeschaltet
+vra=<p>0..255 [100ms] "Ringback goes away" Timer; Das originate-Voice-Modem erkennt am Ausbleiben des Ringbacks (Intervallzeit > +vra), ob der Angerufene abgehoben hat.
+vrn=<p>0..25 [1s] "Ringback never came" Timer; Das originate-Voice-Modem erkennt am Fehlen des Ringbacks(+vrn-Zeit abgelaufen), ob der Angerufene schon vor dem ersten Ringback abgehoben hat.
+vpp=<p>0 Paket Protokoll (immer abgeschaltet)
+vnh=<p>0..2 Automatic Hangup Control; Nach einem Rückfall von Voice auf eine erfolglose Fax- oder Datenverbindung wird das Modem nicht auflegen, wenn vorher +vnh=1 oder 2 gesetzt wurde, so daß es wieder auf Voice zurückfallen kann. Bei +vnh=2 wird das Modem sogar bei ATH nicht auflegen.



Modem-Rückmeldungen
RING Rufmeldung (nur nach Verwendung eines Rockwell-Befehls)
VCONVoice Online Command Mode
Das Modem wird mit ATA oder ATD an die Telefonleitung oder an Mikrofon und Lautsprecher geschaltet, oder es hat eine Aunahme oder Wiedergabe beendet und kehrt in den Voice Online Command Mode zurück (nur nach Verwendung eines Rockwell-Befehls)
OK Voice Online Command Mode
Das Modem wird mit ATA oder ATD an die Telefonleitung oder an Mikrofon und Lautsprecher geschaltet, oder es hat eine Aunahme oder Wiedergabe beendet und kehrt in den Voice Online Command Mode zurück (nur nach Verwendung eines IS101-Befehls)
CONNECTVoice Action Mode
Das Modem beginnt mit mit #/+VRX eine Aufnahme oder #/+VTX eine Wiedergabe.


dle-Sequenzen: Modem --> Host

Alle Ereignismeldungen vom Modem zum Host werden über dle-Sequenzen abgehandelt. Dem informationstragenden Byte wird ein <dle> (10 hex = 016 dez = ^p) vorangestellt. Die dle-Sequenz kann einzeln zum Host geschickt oder in den Datenstrom eingefügt werden. Daten-dles wurden vorher in ein <dle><dle> umgewandelt, um sie von anderen dle-Sequenzen zu unterscheiden.

Wenn das Modem ein Ereignis (z.B. Busy) erkannt hat, schickt es die zugehörige dle-Sequenz (<dle>b) zum Host, das Modem wird aber
nicht selbst reagieren (auflegen), sondern ist darauf angewiesen, daß das Anwenderprogramm die gerade laufende Voiceaktion beendet und auflegen läßt. Das ordnungsgemäße Verhalten des Voicemodems ist daher im Wesentlichen durch das Anwenderprogramm bestimmt.

Hinweis: Bei 11025 Hz (8 Bit/PCM) werden während Aufnahme und Wiedergabe keine DTMF-Töne erkannt.
<dle> bBesetztton (Busy)
<dle> dWählton (Dialtone)
<dle> rRufton (Ringback)
<dle> eRufton Datenmodem (1300 Hz)
<dle> cRufton Fax (1100 Hz)
<dle> aAntwortton Fax oder Daten (2100 Hz)
<dle> fAntwortton Daten Bell (2225 Hz)
<dle> qStille nach Sprechen (quiet)
<dle> sStille ohne vorangegengene Sprache (silence)
<dle> oBufferüberlauf wähernd der Aufnahme (overrun)
<dle> uBuffer leer während Wiedergabe (underrun)
<dle><dle>einzelnes <dle> (keine Meldung, sondern Daten)
<dle><etx>markiert das Ende eines Voicedatenblocks


Nach Verwendung eines Rockwell-Befehls aus {AT#CLS, AT#VLS, AT#VRX, AT#VTX}:
<dle> n DTMF-Ton n (0..9,A..D,*,#) erkannt (Nur bei 7200Hz Abtastrate!)


Nach Verwendung eines IS101-Befehls aus {AT+FCLASS, AT+VLS, AT+VRX, AT+VTX}:
<dle> n <dle> ~ DTMF-Ton n (0..9,A..D,*,#) erkannt (Nur bei 7200Hz Abtastrate!)
<dle> RRufmeldung (ring)


dle-Sequenzen: Host --> Modem

Mit diesen dle-Sequenzen steuert der Host das Modem während Aufnahme undWiedergabe.
<dle> uWiedergabe lauter
<dle> dWiedergabe leiser
<dle> pWiedergabepause
<dle> rFortfahren nach Pause
<dle><can>Aufnahme/Wiedergabe beenden (bei Wiedergabe: Puffer löschen); Bei Rockwell: anschliessend VCON, bei IS101: in +vtx bleiben) (Ctrl-P Ctrl-X)
<dle><etx>Aufnahme/Wiedergabe beenden (Ctrl-P Ctrl-C)
<dle><dle>einzelnes <dle> (keine Meldung, sondern Daten)
<dle><sub>zwei <dle>s (keine Meldung, sondern Daten)
<dle> ?Abfrage der freien Bufferkapazität


Beispiel: Das Modem arbeitet als Anrufbeantworter
HostModemAnrufer Kommentar
AT#CLS=8  Voice-Class setzen
AT#VLS=0  I/O-Kanal = Telefonleitung
  WähltVerbindung herstellen
 RING Ruf liegt an
AT#VBS=2  2 Bit/Abtastwert
AT#VSS=2  Stilleerkennung einschalten
AT#VSP=30  Modem soll ab 3s Stille melden
AT#VSD=1  Stillekompresssion an
ATA  Modem schaltet an die Leitung
 VCON erwartet AT-Kommando
AT#VTX  Voice Wiedergabe
 CONNECT erwartet Voicedaten
Sendet Voicedaten Hört Ansage "Hier spricht der automatische ..."
<dle><etx>  Ende der Wiedergabe
 VCON erwartet AT-Kommando
AT#VTS=[1000, ,10] 1000Hz, 1s -->Piepton
AT#VRX  Aufnahme
 CONNECT  
 Sendet VoicedatenAnrufer sprichtAufnehmen der Nachricht
   Kurze Sprechpause
 Pausenzeichen Weitersprechen
 Pausenlänge  
 Sendet VoicedatenAnrufer sprichtWeitersprechen
 <dle> q mehr als 3s Stille
X    Abbruch, (fast) jedes Zeichen
 <dle><etx> Ende der Aufnahme
 VCON erwartet AT-Kommando
AT#VTX  Voice Wiedergabe
 CONNECT  
Sendet Voicedaten Anrufer hört Endabsage"Wir danken für ihren Anruf ..."
<dle><etx>  Ende der Wiedergabe
 VCON erwartet AT-Kommando
ATH  Auflegen
 OK  


Beispiel: Das Voice-Modem wird von einem Faxgerät angerufen
HostModemAnrufer Kommentar
AT#CLS=8  Voice-Class setzen
AT#VLS=0  I/O-Kanal = Telefonleitung
  Anrufer wählt  
 RING Ruf liegt an
AT#VSS=2  Stilleerkennung einschalten
AT#VSP=30  Modem soll ab 3s Stille melden
AT#VSD=1  Stillekompresssion an
ATA  Modem schaltet an die Leitung
 VCON erwartet AT-Kommando
AT#VTX  Voice Wiedergabe
 CONNECT erwartet Voicedaten
Sendet Voicedaten Anrufer hört Ansage "Hier spricht der automatische ..."
 <dle> cFaxrufton Gegenstelle ist ein Faxgerät
<dle><etx>  Wiedergabe abbrechen
 VCON erwartet AT-Kommando
   Anwenderprogramm ruft sein Faxprogramm auf
AT#CLS=2  FaxClass = 2
ATA  es wird eine Faxverbindung aufgebaut


Hinweis: Wenn das Anwenderprogramm die <dle>-Sequenz nicht auswertet, wird das Modem weiterhin im Voicemodus arbeiten, obwohl es einen Faxrufton erkannt hat. Der Moduswechsel kann nur durch das Anwenderprogramm erfolgen. In gleicher Weise ist ein Rückfall auf Datenmodembetrieb möglich, wenn ein <dle>e (Rufton Daten) gemeldet wurde.

Wenn das Modem DTMF-Töne hört, meldet es diese durch eine dle-Sequenz zum Host. Einige komfortable Anwenderprogramme bieten dem Anwender am anderem Ende der Telefonleitung die Möglichkeit, sich z.B. mit DTMF-Tönen durch eine Benutzeroberfläche zu bewegen, die aufgesprochene Nachricht abhören oder zu korrigieren, Passwörtern zum Abhören von Nachrichten einzugeben oder Faxe an eine einzugebende Nummer zu senden.


    Dokument-Kategorien

ProdukteELSA MicroLink 56k
Betriebssysteme
Software