# t38modem kompelieren



## msimpr (28. Juli 2010)

Morgen,

Ich habe für Windows einen interessanten Fakemodemtreiber gefunden

Download t38modem from SourceForge.net


Den muss man aber laut readme kompelieren...

Da ich aber kein 2005 visual c++ mehr habe wollte ich Dich fragen ob Du mir das kompelieren könntest.

Danke Dir

Building with Open H323 Library:
Start Microsoft Visual C++ 2005 with  h323lib\t38modem_2005.vcproj file.
Set Active Configuration to "t38modem -  Win32 Release".
Add "PBoolean=BOOL" to
[Project]->[t38modem  Properties]->[Configuration  Properties]->
[C/C++]->[Preprocessor]->[Preprocessor  Definitions].
Change "h323plus.lib" to "openh323.lib"  in
[Project]->[t38modem Properties]->[Configuration  Properties]->
[Linker]->[Input]->[Additional Dependensies].
Build  t38modem.exe.
Building with H323 Plus Library:
Start Microsoft Visual C++  2005 with h323lib\t38modem_2005.vcproj file.
Set Active Configuration to  "t38modem - Win32 Release".
Build t38modem.exe.
Building with Open Phone  Abstraction Library (OPAL):
Start Microsoft Visual C++ 2005 with  opal\t38modem_2005.vcproj file.
Set Active Configuration to "t38modem - Win32  Release".
Build t38modem.exe.



Und das mitdem starten hab ich auch noch net verstanden

3.1. Starting
-------------
Starting with Open H323 Library or H323 Plus  Library:
$ t38modem -n -o trace.log -p ttyx0,ttyx1 --old-asn \
--route 0@127.0.0.1 --route all@172.16.33.21
This will create two  modems (/dev/ttyx0 and /dev/ttyx1) and H.323 endpoint.
If dialed number  begins with '0' then it will be routed to a local host
(leading '0' will be  discarded). Other dialed numbers will be routed to
172.16.33.21.
Starting  with OPAL:
$ t38modem -n -o trace.log -p ttyx0,ttyx1 \
--route  "modem:0.*=h323:<dn!1>@127.0.0.1" \
--route  "modem:1.*=sip:<dn>@172.16.33.20" \
--route  "modem:2.*=h323:<dn>@172.16.33.21" \
--route "h323:.*=modem:<dn>"  \
--route "sip:.*=modem:<dn>"
This will create two modems  (/dev/ttyx0 and /dev/ttyx1) and H.323 and SIP endpoints.
If dialed number  begins with '0' then it will be routed to a local host.
If dialed number  begins with '1' then it will be routed to SIP endpoint 172.16.33.20.
If  dialed number begins with '2' then it will be routed to H.323 endpoint  172.16.33.21.
Leading '0', '1' and '2' will be discarded.
Q. I try to use  T38modem, but after run "t38modem -p ttyx0" I get a message
"Could not open  /dev/ptyx0: No such file or directory".
A. Looks like you don't have legacy  PTY devices compiled in your kernel.
You need to re-compile the kernel with  'Legacy PTY Support'.
Alternatively, you can build t38modem with  USE_UNIX98_PTY=1 option and use
-p +/dev/ttyx0,+/dev/ttyx1 instead of -p  ttyx0,ttyx1.
FreeBSD Users: You need to use -p ttypa,ttypb instead of -p  ttyx0,ttyx1.
Remember to replace ttyx0 with ttypa and ttyx1 with  ttypb
when following the rest of these instructions.
This will create two  modems /dev/ttypa and /dev/ttypb.
Windows Users: You need two COM ports  connected via Null-modem cable to create one modem.
If your COM1 connected to  COM2 and COM3 connected to COM4 you need to use
-p \\.\COM2,\\.\COM4  instead of -p ttyx0,ttyx1.
This will create two modems COM1 and COM3.
Q.  How to use t38modem without additional COM port hardware on Windows?
A.  Replace a pair of physical COM ports with a pair of virtual COM ports.
See Null-modem emulator (com0com) - virtual serial port driver for Windows project for details.
Q. What  model of modem to select in Add Hardware Wizard?
A. Select "Standard 1440 bps  Modem".
Cisco Users: Possible additionaly you will need to use  --h245tunneldisable option.
3.2. Testing (you need two  consoles)
------------------------------------
(FreeBSD users - remeber to  use /dev/ttypa and /dev/ttypb with 'cu -l')
(Windows users - use COM1 and  COM3 with HyperTerminal)
$ cu -l /dev/ttyx0 $ cu -l /dev/ttyx1
Connected.  Connected.
<-- at <-- at
--> OK --> OK
(wait at least 10  secs)
<-- atdt012345
-->
--> RING
-->
-->  RING
<-- ati9
--> NDID = 12345
--> OK
-->
-->  RING
-->
--> RING
<-- ata
--> CONNECT -->  CONNECT
<-- x
--> OK
<-- ath
--> OK
-->
-->  ERROR
<-- at
--> OK
<-- at
--> OK
... ... 

Dabei sieht das ganz danach aus als währe es das was ich suche..

Leider kann ich das nicht selber kompelieren da ich nicht die 2005version habe. Vllt hast Du die ja und kannst mir a

Die kompeliuete exe datei anhängen falls Du die 2005version hast

b mir nochmals bitte erklären wie ich diese exe nun öffne und was es mit diesem abschnitt 

Q. What  model of modem to select in Add Hardware Wizard?
A. Select "Standard 1440 bps  Modem".


aufsich hat bzw. wann ich dieses Modem überden Modemassistenten instalieren muß nachdem ich die exe geladen habe?

Und für Deine großartige Hilfe möchte ich mich mal ganz lieb bei Dir bedanken


----------



## bingo88 (28. Juli 2010)

Okay, das mit dem kompilieren wird nichts, da ich die besch... ptlib nicht kompiliert bekomme (mir fehlt da wohl das Windows Mobile SDK oder sowas, jedenfalls reicht das normale Platform SDK nicht aus). Und ohne die ptlib kann ich t38modem nicht kompilieren... manchmal ist linux einfach besser, da hätte ich nur "make" eingeben müssen -.-


----------



## msimpr (28. Juli 2010)

Hm das ist blöde

Gibs denn soeinen Modemtreiber auch für Linux?


----------



## bingo88 (28. Juli 2010)

Kein Ahnung, vielleicht? 

Mir ist halt nur total unklar, was du damit machen willst. Kein Programm wird damit so funktionieren, wie mit einer echten Modemverbindung. Du brauchst halt immer eine Datenverbindung zur Serveranwendung. Man kann zwar die Modemverbindung an sich emulieren (was die von dir angesprochenen Tools auch mehr oder weniger machen), aber das betrifft ja nicht die übertragenen Daten. Die muss man immer noch echt übertragen (t38modem macht das über VoIP/SIP, MSIM über RS-232 Null-Modem-Kabel, ...). Also außer mit AT-Befehlen herumspielen geht da nichts weiter, zumindest solange du keine zusätzliche Verbinung zu einem Serverprogramm bereitstellst.


----------



## msimpr (28. Juli 2010)

OK

Wie kann ich den mit Ubuntu eine Modememulation ala MSIM machen?


----------



## bingo88 (28. Juli 2010)

Kannst du programmieren? Weil ich kenne jetzt kein fertiges Tool...

Und selbst wenn würde ein Programm aufgrund der von mir bereits angesprochenen Problematik ohne weitere Hardware/Software nicht wie vorgesehen funktionieren


----------



## msimpr (28. Juli 2010)

Nein leider nicht deshalb suche ich eine fertige Lösung für Ubuntu..

Der Modemsimulator soll wie gewohnt die Modemmeldungen RING CONNECT und OK simulieren


----------



## bingo88 (28. Juli 2010)

Ja aber das Programm kann damit alleine doch nicht arbeiten!!! Das Programm will Daten übertragen und erwartet Daten, sobald es verbunden ist, aber es werden keine Daten kommen -> Fehlermeldungen, Absturz, etc.


----------



## msimpr (28. Juli 2010)

Dann frage ich mich aber wofür wurden diese Programme dann programiert??


----------



## bingo88 (28. Juli 2010)

Das hatten wir jetzt auch schon öfters... 
Die emulieren eine Modem-Verbindung über eine Nicht-Modem-Verbindung (z. B. Netzwerk oder RS-232). Dort werden ja keine Modem-Meldungen erzeugt, aber der Datentransport ist gewährleistet. Man braucht dann "nur" noch eine Software, die sich über diese Verbindung wie ein Modem verhält (also AT-Befehle verarbeiten kann und die Daten über die bestehende Verbindung übertragen).


----------

