Make sure that the 10-second pause is in the "doDial" handler. Before
"put empty", the last line of code in the handler, insert these lines:
wait 10 sec
send return to HyperCard
This way the change takes place only once, and it's easier to follow the
code at that point. The "return" causes the modem to drop the line,
leaving you in voice mode.
The problem with the modem and the Phone stack is that HyperCard opens the
serial port for three seconds. It takes the modem around two seconds to
go off hook. The dial string contains a comma creating a one-second
pause. This leaves hardly any time to send the phone number. The phone
number is incompletely transmitted and you get disconnected.
We suggest you use the Serial XCMDs available from APDA for sending data
to modems. This command set gives you complete control over the serial
port, eliminating the need for the 10-second pause to get the modem to
release. (You'll need to recreate the doDial handler to use the serial
XCMDs.)