Deutsch
Forum

Problem mit Modem-Output, readcom usw.

 

Matthias
Arlt
Hallo Leute,
nach längerer Abwesenheit mal wieder was von mir.
Ich hatte es schon ins RGH-Forum gestellt, nun auch hier nochmal zur Sicherheit... Aber zuerst mal nen schönen Gruss in die Runde !

Frage an unsere Modem-Experten:

Der nachfolgende Code soll als Teil einer Telefon-Software dienen...

Das Modem wird hierbei auf das Audiosignal der Telefonleitung aufgeschaltet.
Meine Überlegung war nun, den Output (nach der Messagebox) in eine WAV-Datei
zu schreiben bzw. an diese anzuhängen. Alle Versuche mittels @BlockWrite usw.
schlugen leider fehl, da mir die saubere Filterung (readcom) nicht gelingt...

Soweit das Problem im Forum bereits angesprochen, wurde, habe ich versucht, das
entsprechend einzuarbeiten, jedoch leider mit unbefriedigendem Ergebnis.
Vielleicht hat hier jemand eine hilfreiche Idee oder gar ne probate Lösung.
Theoretisch müsste es ja eigentlich machbar sein !

Freue mich über jeden Hinweis !

Matthias

---------------------------------------------------------------------------
Code-Auszug:

declare com%,com$,ende%
declare comm#,lperror&,Byte%,szRxChar#,dwBytesRead&,ovRead#
dim comm#,12
dim ovRead#,20
dim szRxChar#,65000

proc comread
clear comm#,lperror&,Byte%,szRxChar#,dwBytesRead&,ovRead#,com$
external(kernel32.dll,ClearCommError,com%,addr(lperror&),comm#)
dwBytesRead&=@long(comm#,4)
if dwBytesRead& > 0
external(kernel32.dll,ReadFile,com%,szRxChar#,dwBytesRead&,addr(dwBytesRead&),ovRead#)
Byte%=1
com$=@char$(szRxChar#,0,dwBytesRead&)
return com$
endif
endproc

Proc modemoutput
comread
print com$;
endproc

proc modemCOM und Init-String ggf. anpassen
com%=opencom(COM3,65000,65000)
setcom(COM3:9600,N,8,1)
writecom(com%,AT&FE1V1S0=0&C0&D2+MR=2;+DR=1;+ER=1;W2
)
modemoutput(com%)
writecom(com%,at+fclass=8
)
modemoutput(com%)
writecom(com%,at+vsm=130,8000,0,0
)
modemoutput(com%)
writecom(com%,at+vls=1
)
modemoutput(com%)
messagebox(Modemaufzeichnug starten,Modemtest,0)
writecom(com%,at+vrx
)
modemoutput(com%)
endproc

Window 0,0-%MaxX,(%MaxY-50)
modem

clear ende%
whilenot ende%
case inkey$()=~:ende%=1
modemoutput(com%)
wend
closecom(com%)
dispose comm#
dispose ovRead#
dispose szRxChar#
end

Anm.: Es geht um Prf 7.6 unter Win XP
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
16.08.2005  
 




Michael
Wodrich
[quote:f9da9fffcd=Matthias]
Das Modem wird hierbei auf das Audiosignal der Telefonleitung aufgeschaltet.
Meine Überlegung war nun, den Output (nach der Messagebox) in eine WAV-Datei
zu schreiben bzw. an diese anzuhängen. Alle Versuche mittels @BlockWrite usw.
schlugen leider fehl, da mir die saubere Filterung (readcom) nicht gelingt...
[/quote:f9da9fffcd]
Steh ich da jetzt auf der Leitung? Wird nicht jeder Modem-Empfang per Audiosignal auf die Telefonleitung aufgeschaltet?

Normalerweise mußt Du also nur ein richtiges Modem haben und die korrekte Baudrate etc. wissen.

Ich habe schon etliche Telefonanlagen angezapft (Hotel). Entweder man schaltet einen Puffer zwischen (nur bei exotischen Einstellungen oder viel Datenmüll erforderlich) oder man nimmt es direkt an der Schnittstelle oder per Modem auf.

Hast Du da nähere Angaben zu der Anlage?

Hast Du schon einen Datenempfang per HyperTerminal hinbekommen? HyperTerminal ist unter Zubehör - Kommunikation zu finden (muß evtl. von der Windows-CD nachinstalliert werden).

Wenn dieses Programm feste Datensatz-Strukturen anzeigt, dann spare Dir die API-Geschichten. Profan kann das auch so, allerdings steht in der Hilfe: ReadCom().
Die Funktion liefert aber einen String, heißt also ReadCom$().

Ein Tipp am Rande. Verlasse Dich niemals darauf, das auch wirklich immer klare Datensätze ankommen. Telefonanlagen verschlucken schon mal das eine oder andere Byte. Da mußt Du etliche Plausibilitätsprüfungen einbauen, damit das Programm nicht Müll verarbeitet.

Besonders wenn eine Telefonanlage abstürzt und einen Reset durchführt, landet jede Menge Diagnose-Müll auf der Leitung. Auch werden von einigen Anlagen im Zuge eines Reset Altdaten übertragen, damit das horchende Programm fehlende Buchungen nachtragen kann.

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
17.08.2005  
 




Matthias
Arlt
Hallo Michael,

danke für Deine Erläuterungen. Ich selbst habe mich nämlich mit Terminalsoftware usw. bisher eher weniger beschäftigt. Dies gleich mal vorweg.
Und klar, natürlich schaltet sich jedes Modem quasi auf das Audiosignal auf.

Mal etwas zum Hintergrund des Vorhabens:
Hier geht es konkret darum, vorhandene analoge PCI-Modems für reine Telefonie-Zwecke weiterzuverwenden. Die Mehrzahl dieser Modems sind zwar voice-fähig, verfügen jedoch nicht über einen eigenen Audiochip oder -ausgang.
Da ein hardwareseitiger Eingriff aus unterschiedlichen Gründen nicht gewollt ist, muss ich also softwareseitig an das Audiosignal herankommen, es also hörbar machen (wie etwa als Mithör-Funktion). Ideal wäre da natürlich, das Signal direkt an ein MCI-Device umzulenken. Da ich nicht weiss, ob und ggf. wie sowas realisierbar ist, versuche ich zunächst den Umweg über eine WAV-Datei.
Prinzipiell funktioniert das ja auch, nur ist eben das Signal dann durchmischt mit besagtem Datenschrott, wie Du ja auch schreibst. Das momentane Problem ist also die Filterung (wie und nach welchen Kriterien), um letztlich ein sauberes Audio zu erhalten. Diverse Anrufbeantworter-Programme beherrschen es ja auch.

Vielleicht gibt es dafür auch noch eine andere bessere Lösung. Ich weiss es nicht oder komme momentan nicht drauf. Deshalb meine Frage...

Also zusammengefasst geht es um die saubere Auskopplung vom reinen Tonsignal.

Gruß Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
17.08.2005  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.529 Betrachtungen

Unbenanntvor 0 min.
Walter15.05.2021
Uwe Lang14.11.2018
iF03.01.2016
bastler16.12.2013
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Matthias Arlt (2x)
Michael Wodrich (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie