I apologize in advance for the length of this post ...
I have a Digi One RealPort device for which I have mapped a local com port (COM7) on a WinXP Pro computer using the RealPort driver.
I hooked up an external USR 33.6 sportster faxmodem to the Digi One and installed a generic driver for it (Standard 33.6 bps Modem).
I setup a dialup networking (DUN) connection to a remote network using the modem and it connects alright. I can access the remote network.
My problem is, if I change my dialup connection to use a callback number, it no longer works. What happens is :
the initial outgoing call works, I get authentified. When the time comes to wait for the callback, DUN gives the following error :
"The connection was terminated by the remote computer before it could be completed. For further assistance, click More Info or search Help and Support Center for this error number"
But the remote computer actually calls back! It's just that DUN is no longer listening.
Just to prove myself that my setup was correct, I installed the same modem with the exact same driver to a hardware port that is on my motherboard (COM1), changed the DUN entry to use that modem, and tried it this way : The callback worked just fine.
Can somebody help ?
Also, I used portmon.exe from sysinternals.com to capture the serial driver's IOCTRLs during the connection attempts using both COM1 and COM7 (in separate files) to have a better idea of what is going on.
It seems that when using the RealPort (COM7), when DUN performs a read to wait on the 'RING' notification from the modem, it times out immediately (less than 2ms). When using the hardware port (COM1), the read takes 30 seconds before succeeding, just the time it takes for the remote computer to call back.
These files are about 35Kb each so if anyone wants to look at them, I can send them.
Callbacks are a necessity to us so any help would be much appreciated.