Vgetty hangup not detected with Rockwell chipset
"P.W. de Bruin" (bruin@tudw12.wbmt.tudelft.nl)
Tue, 7 Oct 1997 11:59:10 +0200
To whom it may concern,
Recently some posts were made concerning vgetty not detecting a hangup
after someone left a message. Specifically, in my case, the modem
detects the hangup (<DLE b> busy tone detected), vgetty responds with
<DLE !> (stop recording) but the line is not dropped until the watchdog
timer expires. For some reason the <DLE !> either does not reach the
modem or the modem ignores the <DLE !>.
If you have the same problem with a modem with a Rockwell chipset you
may benefit from the following simple changes to the Rockwell driver.
Vgetty works flawlessly for me now. Testing (30+ calls) reveals
absolutely no watchdog timer expirations anymore (before approx 70% of
calls were terminated after the watchdog timer expired. However, YMMV.
My setup:
Linux 2.0.30 - Mgetty 1.1.9 - Tornado FM336PC (Rockwell chipset w. class
2)
Edit mgetty-1.1.9/voice/libvoice/Rockwell.c and change the function
int Rockwell_stop_recording (void) to:
<snip>
int Rockwell_stop_recording (void)
{
char buffer[VOICE_BUF_LEN];
stop_recording = TRUE;
/*
* It seems not all Rockwell modems support <DLE> <!> to stop
* the recording, so we change this back to the old way
*
* sprintf(buffer, "%c!", DLE);
* lprintf(L_JUNK, "%s: <DLE> <!>", program_name);
*/
//if (voice_write("!") != OK)
// return(FAIL);
sprintf(buffer, "%c!", DLE);
lprintf(L_JUNK, "%s: <DLE> <!>", program_name);
if (voice_write_raw(buffer, strlen(buffer)) != OK)
return(FAIL);
return(OK);
}
<snip>
Recompile, reinstall and you may be in business. What can I say, it
worked for me.
Hope this helps,
PdB
-------------------------------------------------------------------------
Der Horizont vieler Menschen ist ein Kreis mit Radius Null --
und das nennen sie ihren Standpunkt.
-------------------------------------------------------------------------
ir. P.W. de Bruin | e-mail: bruin@tudw12.wbmt.tudelft.nl
Herengracht 42 | www: http://www-mr.wbmt.tudelft.nl/~bruin/
2511 EJ DEN HAAG | tel/fax: +31 (0)70 427 41 90
-------------------------------------------------------------------------
.