Possible bug in IS_101_voice_mode_on.c

"Rob Walker" (Rob.Walker@sympatico.ca)
Tue, 10 Aug 1999 23:06:45 -0400



> From: Marc SCHAEFER <schaefer@alphanet.ch>
> Sent: Monday, August 09, 1999 1:57 AM
>
> Rob Walker <Rob.Walker@sympatico.ca> wrote:
> > It seems that IS_101_voice_mode_on.c is asking for the current mode the
> > modem is in:
> >     voice_command(voice_modem->ask_mode_cmnd, "")
>
> Are you sure this one fails ?  Could you add more debug to that function
> to be sure that it's this one which fails ?

Below is a complete log file, with extra debugging (marked by *rnw*) showing
the failure.

I couldn't reproduce the problem by trial and error so I added a sleep(10)
to IS_101_voice_mode_on() to ensure that there was unread input from the
modem before the AT#CLS? command was issued.

The error occurs when the call to:
voice_command("", voice_modem->ask_mode_answr)
gets '0' instead of 'OK', because the previous call received the 'RING'
instead.

I'm not sure what there was about my setup, but for a while this condition
was occurring quite frequently without any help.

The following version of the function works fine for my ext. USR 33.6 with
the sleep() in place - I don't know if other modems have other possible
returns, I guess the set of options should be added to voice_modem
structure.

int IS_101_voice_mode_on(void)
{
     char buffer[VOICE_BUF_LEN];

     if ((voice_command(voice_modem->ask_mode_cmnd, "0|1|2|8") & VMA_USER)
!= VMA_USER) {
       return(FAIL);
     }

     if ((voice_command("", voice_modem->ask_mode_answr) & VMA_USER) !=
VMA_USER)
          return(FAIL);

     sprintf(buffer, "%s%s", voice_modem->switch_mode_cmnd,
     voice_modem->voice_mode_id);

     if ((voice_command(buffer, voice_modem->switch_mode_answr) & VMA_USER)
!= VMA_USER)
          return(FAIL);

     if (voice_command("AT", "OK") != VMA_USER_1)
          return(FAIL);

     return(OK);
}

Rob


---
08/10 22:42:29 yS0  vgetty: experimental test release 0.9.4 / 20Jul99
08/10 22:42:29 yS0  mgetty: experimental test release 1.1.21-Jul24
08/10 22:42:29 yS0  reading generic configuration from config file
/usr/local/etc/mgetty+sendfax/voice.conf
08/10 22:42:29 yS0   reading /usr/local/etc/mgetty+sendfax/voice.conf...
08/10 22:42:29 yS0   conf lib: read: 'part generic'
08/10 22:42:29 yS0   section: part generic, **found**
08/10 22:42:29 yS0   conf lib: read: 'voice_log_level 6'
08/10 22:42:29 yS0   conf lib: read: 'voice_dir /var/spool/voice'
08/10 22:42:29 yS0   conf lib: read: 'phone_owner root'
08/10 22:42:29 yS0   conf lib: read: 'phone_group phone'
08/10 22:42:29 yS0   conf lib: read: 'phone_mode 0660'
08/10 22:42:29 yS0   conf lib: read: 'message_flag_file .flag'
08/10 22:42:29 yS0   conf lib: read: 'receive_dir incoming'
08/10 22:42:29 yS0   conf lib: read: 'message_dir messages'
08/10 22:42:29 yS0   conf lib: read: 'message_list Index'
08/10 22:42:29 yS0   conf lib: read: 'backup_message standard.rmd'
08/10 22:42:29 yS0   conf lib: read: 'port_speed 115200'
08/10 22:42:29 yS0   conf lib: read: 'port_timeout 10'
08/10 22:42:29 yS0   conf lib: read: 'dial_timeout 90'
08/10 22:42:29 yS0   conf lib: read: 'command_delay 100'
08/10 22:42:29 yS0   conf lib: read: 'dtmf_len 30'
08/10 22:42:29 yS0   conf lib: read: 'dtmf_threshold 40'
08/10 22:42:29 yS0   conf lib: read: 'dtmf_wait 7'
08/10 22:42:29 yS0   conf lib: read: 'ignore_fax_dle false'
08/10 22:42:29 yS0   conf lib: read: 'raw_data false'
08/10 22:42:29 yS0   conf lib: read: 'rec_compression 1'
08/10 22:42:29 yS0   conf lib: read: 'rec_speed 0'
08/10 22:42:29 yS0   conf lib: read: 'rec_silence_len 70'
08/10 22:42:29 yS0   conf lib: read: 'rec_silence_threshold 40'
08/10 22:42:29 yS0   conf lib: read: 'rec_remove_silence false'
08/10 22:42:29 yS0   conf lib: read: 'rec_max_len 300'
08/10 22:42:29 yS0   conf lib: read: 'rec_min_len 0'
08/10 22:42:29 yS0   conf lib: read: 'do_hard_flow true'
08/10 22:42:29 yS0   conf lib: read: 'beep_frequency 933'
08/10 22:42:29 yS0   conf lib: read: 'beep_length 1500'
08/10 22:42:29 yS0   conf lib: read: 'max_tries 3'
08/10 22:42:29 yS0   conf lib: read: 'retry_delay 5'
08/10 22:42:29 yS0   conf lib: read: 'watchdog_timeout 60'
08/10 22:42:29 yS0   conf lib: read: 'receive_gain -1'
08/10 22:42:29 yS0   conf lib: read: 'transmit_gain -1'
08/10 22:42:29 yS0   conf lib: read: 'enable_command_echo false'
08/10 22:42:29 yS0   conf lib: read: 'poll_interval 10'
08/10 22:42:29 yS0   conf lib: read: 'program vgetty'
08/10 22:42:29 yS0   found CT_KEYWORD program vgetty
08/10 22:42:29 yS0   conf lib: read: 'rings 3'
08/10 22:42:29 yS0   conf lib: read: 'answer_mode voice'
08/10 22:42:29 yS0   conf lib: read: 'force_autodetect false'
08/10 22:42:29 yS0   conf lib: read: 'toll_saver_rings 0'
08/10 22:42:29 yS0   conf lib: read: 'rec_always_keep true'
08/10 22:42:29 yS0   conf lib: read: 'button_program '
08/10 22:42:29 yS0   conf lib: read: 'voice_shell /usr/bin/perl'
08/10 22:42:29 yS0   conf lib: read: 'call_program
/home/users/rnw/ha/answer.pl'
08/10 22:42:29 yS0   conf lib: read: 'dtmf_program dtmf.sh'
08/10 22:42:29 yS0   conf lib: read: 'message_program '
08/10 22:42:29 yS0   conf lib: read: 'do_message_light false'
08/10 22:42:29 yS0   conf lib: read: 'program vm'
08/10 22:42:29 yS0   conf lib: read: 'voice_devices ttyS1'
08/10 22:42:29 yS0   conf lib: read: 'dialout_timeout 90'
08/10 22:42:29 yS0   conf lib: read: 'program pvf'
08/10 22:42:29 yS0   conf lib: read: 'port ttyS0'
08/10 22:42:29 yS0   conf lib: read: 'answer_mode voice'
08/10 22:42:29 yS0   conf lib: read: 'ring_type virtual'
08/10 22:42:29 yS0   conf lib: read: 'answer_mode voice'
08/10 22:42:29 yS0   conf lib: read: 'ring_type ring'
08/10 22:42:29 yS0   conf lib: read: 'ring_type ring1'
08/10 22:42:29 yS0   key: 'part', type=6, flags=4, data=(ignored)
08/10 22:42:29 yS0   key: 'program', type=6, flags=4, data=(ignored)
08/10 22:42:29 yS0   key: 'port', type=6, flags=4, data=(ignored)
08/10 22:42:29 yS0   key: 'ring_type', type=6, flags=4, data=(ignored)
08/10 22:42:29 yS0   key: 'voice_log_level', type=0, flags=3, data=6
08/10 22:42:29 yS0   key: 'voice_shell', type=1, flags=1, data=/bin/sh
08/10 22:42:29 yS0   key: 'port_speed', type=0, flags=3, data=115200
08/10 22:42:29 yS0   key: 'port_timeout', type=0, flags=3, data=10
08/10 22:42:29 yS0   key: 'dial_timeout', type=0, flags=3, data=90
08/10 22:42:29 yS0   key: 'command_delay', type=0, flags=3, data=100
08/10 22:42:29 yS0   key: 'dtmf_len', type=0, flags=3, data=30
08/10 22:42:29 yS0   key: 'dtmf_threshold', type=0, flags=3, data=40
08/10 22:42:29 yS0   key: 'dtmf_wait', type=0, flags=3, data=7
08/10 22:42:29 yS0   key: 'ignore_fax_dle', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'raw_data', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'rec_compression', type=0, flags=3, data=1
08/10 22:42:29 yS0   key: 'rec_speed', type=0, flags=3, data=0
08/10 22:42:29 yS0   key: 'rec_silence_len', type=0, flags=3, data=70
08/10 22:42:29 yS0   key: 'rec_silence_threshold', type=0, flags=3, data=40
08/10 22:42:29 yS0   key: 'rec_remove_silence', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'rec_max_len', type=0, flags=3, data=300
08/10 22:42:29 yS0   key: 'rec_min_len', type=0, flags=3, data=0
08/10 22:42:29 yS0   key: 'do_hard_flow', type=3, flags=3, data=TRUE
08/10 22:42:29 yS0   key: 'force_autodetect', type=3, flags=1, data=FALSE
08/10 22:42:29 yS0   key: 'watchdog_timeout', type=0, flags=3, data=60
08/10 22:42:29 yS0   key: 'receive_gain', type=0, flags=3, data=-1
08/10 22:42:29 yS0   key: 'transmit_gain', type=0, flags=3, data=-1
08/10 22:42:29 yS0   key: 'enable_command_echo', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'poll_interval', type=0, flags=3, data=10
08/10 22:42:29 yS0   key: 'rings', type=1, flags=1, data=3
08/10 22:42:29 yS0   key: 'answer_mode', type=1, flags=1,
data=voice:fax:data
08/10 22:42:29 yS0   key: 'toll_saver_rings', type=0, flags=1, data=0
08/10 22:42:29 yS0   key: 'rec_always_keep', type=3, flags=1, data=TRUE
08/10 22:42:29 yS0   key: 'voice_dir', type=1, flags=3,
data=/var/spool/voice
08/10 22:42:29 yS0   key: 'phone_owner', type=1, flags=3, data=root
08/10 22:42:29 yS0   key: 'phone_group', type=1, flags=3, data=phone
08/10 22:42:29 yS0   key: 'phone_mode', type=0, flags=3, data=432
08/10 22:42:29 yS0   key: 'message_flag_file', type=1, flags=3, data=.flag
08/10 22:42:29 yS0   key: 'receive_dir', type=1, flags=3, data=incoming
08/10 22:42:29 yS0   key: 'message_dir', type=1, flags=3, data=messages
08/10 22:42:29 yS0   key: 'message_list', type=1, flags=3, data=Index
08/10 22:42:29 yS0   key: 'backup_message', type=1, flags=3,
data=standard.rmd
08/10 22:42:29 yS0   key: 'button_program', type=1, flags=1, data=
08/10 22:42:29 yS0   key: 'call_program', type=1, flags=1, data=
08/10 22:42:29 yS0   key: 'dtmf_program', type=1, flags=1, data=dtmf.sh
08/10 22:42:29 yS0   key: 'message_program', type=1, flags=1, data=
08/10 22:42:29 yS0   key: 'do_message_light', type=3, flags=1, data=FALSE
08/10 22:42:29 yS0   key: 'beep_frequency', type=0, flags=3, data=933
08/10 22:42:29 yS0   key: 'beep_length', type=0, flags=3, data=1500
08/10 22:42:29 yS0   key: 'max_tries', type=0, flags=3, data=3
08/10 22:42:29 yS0   key: 'retry_delay', type=0, flags=3, data=5
08/10 22:42:29 yS0   key: 'dialout_timeout', type=0, flags=1, data=90
08/10 22:42:29 yS0   key: 'ringback_goes_away', type=0, flags=1, data=70
08/10 22:42:29 yS0   key: 'ringback_never_came', type=0, flags=1, data=100
08/10 22:42:29 yS0   key: 'voice_devices', type=1, flags=1, data=
08/10 22:42:29 yS0  reading program vgetty configuration from config file
/usr/local/etc/mgetty+sendfax/voice.conf
08/10 22:42:29 yS0   reading /usr/local/etc/mgetty+sendfax/voice.conf...
08/10 22:42:29 yS0   conf lib: read: 'part generic'
08/10 22:42:29 yS0   found CT_KEYWORD part generic
08/10 22:42:29 yS0   conf lib: read: 'voice_log_level 6'
08/10 22:42:29 yS0   conf lib: read: 'voice_dir /var/spool/voice'
08/10 22:42:29 yS0   conf lib: read: 'phone_owner root'
08/10 22:42:29 yS0   conf lib: read: 'phone_group phone'
08/10 22:42:29 yS0   conf lib: read: 'phone_mode 0660'
08/10 22:42:29 yS0   conf lib: read: 'message_flag_file .flag'
08/10 22:42:29 yS0   conf lib: read: 'receive_dir incoming'
08/10 22:42:29 yS0   conf lib: read: 'message_dir messages'
08/10 22:42:29 yS0   conf lib: read: 'message_list Index'
08/10 22:42:29 yS0   conf lib: read: 'backup_message standard.rmd'
08/10 22:42:29 yS0   conf lib: read: 'port_speed 115200'
08/10 22:42:29 yS0   conf lib: read: 'port_timeout 10'
08/10 22:42:29 yS0   conf lib: read: 'dial_timeout 90'
08/10 22:42:29 yS0   conf lib: read: 'command_delay 100'
08/10 22:42:29 yS0   conf lib: read: 'dtmf_len 30'
08/10 22:42:29 yS0   conf lib: read: 'dtmf_threshold 40'
08/10 22:42:29 yS0   conf lib: read: 'dtmf_wait 7'
08/10 22:42:29 yS0   conf lib: read: 'ignore_fax_dle false'
08/10 22:42:29 yS0   conf lib: read: 'raw_data false'
08/10 22:42:29 yS0   conf lib: read: 'rec_compression 1'
08/10 22:42:29 yS0   conf lib: read: 'rec_speed 0'
08/10 22:42:29 yS0   conf lib: read: 'rec_silence_len 70'
08/10 22:42:29 yS0   conf lib: read: 'rec_silence_threshold 40'
08/10 22:42:29 yS0   conf lib: read: 'rec_remove_silence false'
08/10 22:42:29 yS0   conf lib: read: 'rec_max_len 300'
08/10 22:42:29 yS0   conf lib: read: 'rec_min_len 0'
08/10 22:42:29 yS0   conf lib: read: 'do_hard_flow true'
08/10 22:42:29 yS0   conf lib: read: 'beep_frequency 933'
08/10 22:42:29 yS0   conf lib: read: 'beep_length 1500'
08/10 22:42:29 yS0   conf lib: read: 'max_tries 3'
08/10 22:42:29 yS0   conf lib: read: 'retry_delay 5'
08/10 22:42:29 yS0   conf lib: read: 'watchdog_timeout 60'
08/10 22:42:29 yS0   conf lib: read: 'receive_gain -1'
08/10 22:42:29 yS0   conf lib: read: 'transmit_gain -1'
08/10 22:42:29 yS0   conf lib: read: 'enable_command_echo false'
08/10 22:42:29 yS0   conf lib: read: 'poll_interval 10'
08/10 22:42:29 yS0   conf lib: read: 'program vgetty'
08/10 22:42:29 yS0   section: program vgetty, **found**
08/10 22:42:29 yS0   conf lib: read: 'rings 3'
08/10 22:42:29 yS0   conf lib: read: 'answer_mode voice'
08/10 22:42:29 yS0   conf lib: read: 'force_autodetect false'
08/10 22:42:29 yS0   conf lib: read: 'toll_saver_rings 0'
08/10 22:42:29 yS0   conf lib: read: 'rec_always_keep true'
08/10 22:42:29 yS0   conf lib: read: 'button_program '
08/10 22:42:29 yS0   conf lib: read: 'voice_shell /usr/bin/perl'
08/10 22:42:29 yS0   conf lib: read: 'call_program
/home/users/rnw/ha/answer.pl'
08/10 22:42:29 yS0   conf lib: read: 'dtmf_program dtmf.sh'
08/10 22:42:29 yS0   conf lib: read: 'message_program '
08/10 22:42:29 yS0   conf lib: read: 'do_message_light false'
08/10 22:42:29 yS0   conf lib: read: 'program vm'
08/10 22:42:29 yS0   section: program vm, ignore
08/10 22:42:29 yS0   conf lib: read: 'voice_devices ttyS1'
08/10 22:42:29 yS0   conf lib: read: 'dialout_timeout 90'
08/10 22:42:29 yS0   conf lib: read: 'program pvf'
08/10 22:42:29 yS0   section: program pvf, ignore
08/10 22:42:29 yS0   conf lib: read: 'port ttyS0'
08/10 22:42:29 yS0   conf lib: read: 'answer_mode voice'
08/10 22:42:29 yS0   conf lib: read: 'ring_type virtual'
08/10 22:42:29 yS0   conf lib: read: 'answer_mode voice'
08/10 22:42:29 yS0   conf lib: read: 'ring_type ring'
08/10 22:42:29 yS0   conf lib: read: 'ring_type ring1'
08/10 22:42:29 yS0   key: 'part', type=6, flags=4, data=(ignored)
08/10 22:42:29 yS0   key: 'program', type=6, flags=4, data=(ignored)
08/10 22:42:29 yS0   key: 'port', type=6, flags=4, data=(ignored)
08/10 22:42:29 yS0   key: 'ring_type', type=6, flags=4, data=(ignored)
08/10 22:42:29 yS0   key: 'voice_log_level', type=0, flags=3, data=6
08/10 22:42:29 yS0   key: 'voice_shell', type=1, flags=3, data=/usr/bin/perl
08/10 22:42:29 yS0   key: 'port_speed', type=0, flags=3, data=115200
08/10 22:42:29 yS0   key: 'port_timeout', type=0, flags=3, data=10
08/10 22:42:29 yS0   key: 'dial_timeout', type=0, flags=3, data=90
08/10 22:42:29 yS0   key: 'command_delay', type=0, flags=3, data=100
08/10 22:42:29 yS0   key: 'dtmf_len', type=0, flags=3, data=30
08/10 22:42:29 yS0   key: 'dtmf_threshold', type=0, flags=3, data=40
08/10 22:42:29 yS0   key: 'dtmf_wait', type=0, flags=3, data=7
08/10 22:42:29 yS0   key: 'ignore_fax_dle', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'raw_data', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'rec_compression', type=0, flags=3, data=1
08/10 22:42:29 yS0   key: 'rec_speed', type=0, flags=3, data=0
08/10 22:42:29 yS0   key: 'rec_silence_len', type=0, flags=3, data=70
08/10 22:42:29 yS0   key: 'rec_silence_threshold', type=0, flags=3, data=40
08/10 22:42:29 yS0   key: 'rec_remove_silence', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'rec_max_len', type=0, flags=3, data=300
08/10 22:42:29 yS0   key: 'rec_min_len', type=0, flags=3, data=0
08/10 22:42:29 yS0   key: 'do_hard_flow', type=3, flags=3, data=TRUE
08/10 22:42:29 yS0   key: 'force_autodetect', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'watchdog_timeout', type=0, flags=3, data=60
08/10 22:42:29 yS0   key: 'receive_gain', type=0, flags=3, data=-1
08/10 22:42:29 yS0   key: 'transmit_gain', type=0, flags=3, data=-1
08/10 22:42:29 yS0   key: 'enable_command_echo', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'poll_interval', type=0, flags=3, data=10
08/10 22:42:29 yS0   key: 'rings', type=1, flags=3, data=3
08/10 22:42:29 yS0   key: 'answer_mode', type=1, flags=3, data=voice
08/10 22:42:29 yS0   key: 'toll_saver_rings', type=0, flags=3, data=0
08/10 22:42:29 yS0   key: 'rec_always_keep', type=3, flags=3, data=TRUE
08/10 22:42:29 yS0   key: 'voice_dir', type=1, flags=3,
data=/var/spool/voice
08/10 22:42:29 yS0   key: 'phone_owner', type=1, flags=3, data=root
08/10 22:42:29 yS0   key: 'phone_group', type=1, flags=3, data=phone
08/10 22:42:29 yS0   key: 'phone_mode', type=0, flags=3, data=432
08/10 22:42:29 yS0   key: 'message_flag_file', type=1, flags=3, data=.flag
08/10 22:42:29 yS0   key: 'receive_dir', type=1, flags=3, data=incoming
08/10 22:42:29 yS0   key: 'message_dir', type=1, flags=3, data=messages
08/10 22:42:29 yS0   key: 'message_list', type=1, flags=3, data=Index
08/10 22:42:29 yS0   key: 'backup_message', type=1, flags=3,
data=standard.rmd
08/10 22:42:29 yS0   key: 'button_program', type=1, flags=3, data=
08/10 22:42:29 yS0   key: 'call_program', type=1, flags=3,
data=/home/users/rnw/ha/answer.pl
08/10 22:42:29 yS0   key: 'dtmf_program', type=1, flags=3, data=dtmf.sh
08/10 22:42:29 yS0   key: 'message_program', type=1, flags=3, data=
08/10 22:42:29 yS0   key: 'do_message_light', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'beep_frequency', type=0, flags=3, data=933
08/10 22:42:29 yS0   key: 'beep_length', type=0, flags=3, data=1500
08/10 22:42:29 yS0   key: 'max_tries', type=0, flags=3, data=3
08/10 22:42:29 yS0   key: 'retry_delay', type=0, flags=3, data=5
08/10 22:42:29 yS0   key: 'dialout_timeout', type=0, flags=1, data=90
08/10 22:42:29 yS0   key: 'ringback_goes_away', type=0, flags=1, data=70
08/10 22:42:29 yS0   key: 'ringback_never_came', type=0, flags=1, data=100
08/10 22:42:29 yS0   key: 'voice_devices', type=1, flags=1, data=
08/10 22:42:29 yS0  reading port ttyS0 configuration from config file
/usr/local/etc/mgetty+sendfax/voice.conf
08/10 22:42:29 yS0   reading /usr/local/etc/mgetty+sendfax/voice.conf...
08/10 22:42:29 yS0   conf lib: read: 'part generic'
08/10 22:42:29 yS0   found CT_KEYWORD part generic
08/10 22:42:29 yS0   conf lib: read: 'voice_log_level 6'
08/10 22:42:29 yS0   conf lib: read: 'voice_dir /var/spool/voice'
08/10 22:42:29 yS0   conf lib: read: 'phone_owner root'
08/10 22:42:29 yS0   conf lib: read: 'phone_group phone'
08/10 22:42:29 yS0   conf lib: read: 'phone_mode 0660'
08/10 22:42:29 yS0   conf lib: read: 'message_flag_file .flag'
08/10 22:42:29 yS0   conf lib: read: 'receive_dir incoming'
08/10 22:42:29 yS0   conf lib: read: 'message_dir messages'
08/10 22:42:29 yS0   conf lib: read: 'message_list Index'
08/10 22:42:29 yS0   conf lib: read: 'backup_message standard.rmd'
08/10 22:42:29 yS0   conf lib: read: 'port_speed 115200'
08/10 22:42:29 yS0   conf lib: read: 'port_timeout 10'
08/10 22:42:29 yS0   conf lib: read: 'dial_timeout 90'
08/10 22:42:29 yS0   conf lib: read: 'command_delay 100'
08/10 22:42:29 yS0   conf lib: read: 'dtmf_len 30'
08/10 22:42:29 yS0   conf lib: read: 'dtmf_threshold 40'
08/10 22:42:29 yS0   conf lib: read: 'dtmf_wait 7'
08/10 22:42:29 yS0   conf lib: read: 'ignore_fax_dle false'
08/10 22:42:29 yS0   conf lib: read: 'raw_data false'
08/10 22:42:29 yS0   conf lib: read: 'rec_compression 1'
08/10 22:42:29 yS0   conf lib: read: 'rec_speed 0'
08/10 22:42:29 yS0   conf lib: read: 'rec_silence_len 70'
08/10 22:42:29 yS0   conf lib: read: 'rec_silence_threshold 40'
08/10 22:42:29 yS0   conf lib: read: 'rec_remove_silence false'
08/10 22:42:29 yS0   conf lib: read: 'rec_max_len 300'
08/10 22:42:29 yS0   conf lib: read: 'rec_min_len 0'
08/10 22:42:29 yS0   conf lib: read: 'do_hard_flow true'
08/10 22:42:29 yS0   conf lib: read: 'beep_frequency 933'
08/10 22:42:29 yS0   conf lib: read: 'beep_length 1500'
08/10 22:42:29 yS0   conf lib: read: 'max_tries 3'
08/10 22:42:29 yS0   conf lib: read: 'retry_delay 5'
08/10 22:42:29 yS0   conf lib: read: 'watchdog_timeout 60'
08/10 22:42:29 yS0   conf lib: read: 'receive_gain -1'
08/10 22:42:29 yS0   conf lib: read: 'transmit_gain -1'
08/10 22:42:29 yS0   conf lib: read: 'enable_command_echo false'
08/10 22:42:29 yS0   conf lib: read: 'poll_interval 10'
08/10 22:42:29 yS0   conf lib: read: 'program vgetty'
08/10 22:42:29 yS0   conf lib: read: 'rings 3'
08/10 22:42:29 yS0   conf lib: read: 'answer_mode voice'
08/10 22:42:29 yS0   conf lib: read: 'force_autodetect false'
08/10 22:42:29 yS0   conf lib: read: 'toll_saver_rings 0'
08/10 22:42:29 yS0   conf lib: read: 'rec_always_keep true'
08/10 22:42:29 yS0   conf lib: read: 'button_program '
08/10 22:42:29 yS0   conf lib: read: 'voice_shell /usr/bin/perl'
08/10 22:42:29 yS0   conf lib: read: 'call_program
/home/users/rnw/ha/answer.pl'
08/10 22:42:29 yS0   conf lib: read: 'dtmf_program dtmf.sh'
08/10 22:42:29 yS0   conf lib: read: 'message_program '
08/10 22:42:29 yS0   conf lib: read: 'do_message_light false'
08/10 22:42:29 yS0   conf lib: read: 'program vm'
08/10 22:42:29 yS0   conf lib: read: 'voice_devices ttyS1'
08/10 22:42:29 yS0   conf lib: read: 'dialout_timeout 90'
08/10 22:42:29 yS0   conf lib: read: 'program pvf'
08/10 22:42:29 yS0   conf lib: read: 'port ttyS0'
08/10 22:42:29 yS0   section: port ttyS0, **found**
08/10 22:42:29 yS0   conf lib: read: 'answer_mode voice'
08/10 22:42:29 yS0   conf lib: read: 'ring_type virtual'
08/10 22:42:29 yS0   found CT_KEYWORD ring_type virtual
08/10 22:42:29 yS0   conf lib: read: 'answer_mode voice'
08/10 22:42:29 yS0   conf lib: read: 'ring_type ring'
08/10 22:42:29 yS0   conf lib: read: 'ring_type ring1'
08/10 22:42:29 yS0   key: 'part', type=6, flags=4, data=(ignored)
08/10 22:42:29 yS0   key: 'program', type=6, flags=4, data=(ignored)
08/10 22:42:29 yS0   key: 'port', type=6, flags=4, data=(ignored)
08/10 22:42:29 yS0   key: 'ring_type', type=6, flags=4, data=(ignored)
08/10 22:42:29 yS0   key: 'voice_log_level', type=0, flags=3, data=6
08/10 22:42:29 yS0   key: 'voice_shell', type=1, flags=3, data=/usr/bin/perl
08/10 22:42:29 yS0   key: 'port_speed', type=0, flags=3, data=115200
08/10 22:42:29 yS0   key: 'port_timeout', type=0, flags=3, data=10
08/10 22:42:29 yS0   key: 'dial_timeout', type=0, flags=3, data=90
08/10 22:42:29 yS0   key: 'command_delay', type=0, flags=3, data=100
08/10 22:42:29 yS0   key: 'dtmf_len', type=0, flags=3, data=30
08/10 22:42:29 yS0   key: 'dtmf_threshold', type=0, flags=3, data=40
08/10 22:42:29 yS0   key: 'dtmf_wait', type=0, flags=3, data=7
08/10 22:42:29 yS0   key: 'ignore_fax_dle', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'raw_data', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'rec_compression', type=0, flags=3, data=1
08/10 22:42:29 yS0   key: 'rec_speed', type=0, flags=3, data=0
08/10 22:42:29 yS0   key: 'rec_silence_len', type=0, flags=3, data=70
08/10 22:42:29 yS0   key: 'rec_silence_threshold', type=0, flags=3, data=40
08/10 22:42:29 yS0   key: 'rec_remove_silence', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'rec_max_len', type=0, flags=3, data=300
08/10 22:42:29 yS0   key: 'rec_min_len', type=0, flags=3, data=0
08/10 22:42:29 yS0   key: 'do_hard_flow', type=3, flags=3, data=TRUE
08/10 22:42:29 yS0   key: 'force_autodetect', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'watchdog_timeout', type=0, flags=3, data=60
08/10 22:42:29 yS0   key: 'receive_gain', type=0, flags=3, data=-1
08/10 22:42:29 yS0   key: 'transmit_gain', type=0, flags=3, data=-1
08/10 22:42:29 yS0   key: 'enable_command_echo', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'poll_interval', type=0, flags=3, data=10
08/10 22:42:29 yS0   key: 'rings', type=1, flags=3, data=3
08/10 22:42:29 yS0   key: 'answer_mode', type=1, flags=3, data=voice
08/10 22:42:29 yS0   key: 'toll_saver_rings', type=0, flags=3, data=0
08/10 22:42:29 yS0   key: 'rec_always_keep', type=3, flags=3, data=TRUE
08/10 22:42:29 yS0   key: 'voice_dir', type=1, flags=3,
data=/var/spool/voice
08/10 22:42:29 yS0   key: 'phone_owner', type=1, flags=3, data=root
08/10 22:42:29 yS0   key: 'phone_group', type=1, flags=3, data=phone
08/10 22:42:29 yS0   key: 'phone_mode', type=0, flags=3, data=432
08/10 22:42:29 yS0   key: 'message_flag_file', type=1, flags=3, data=.flag
08/10 22:42:29 yS0   key: 'receive_dir', type=1, flags=3, data=incoming
08/10 22:42:29 yS0   key: 'message_dir', type=1, flags=3, data=messages
08/10 22:42:29 yS0   key: 'message_list', type=1, flags=3, data=Index
08/10 22:42:29 yS0   key: 'backup_message', type=1, flags=3,
data=standard.rmd
08/10 22:42:29 yS0   key: 'button_program', type=1, flags=3, data=
08/10 22:42:29 yS0   key: 'call_program', type=1, flags=3,
data=/home/users/rnw/ha/answer.pl
08/10 22:42:29 yS0   key: 'dtmf_program', type=1, flags=3, data=dtmf.sh
08/10 22:42:29 yS0   key: 'message_program', type=1, flags=3, data=
08/10 22:42:29 yS0   key: 'do_message_light', type=3, flags=3, data=FALSE
08/10 22:42:29 yS0   key: 'beep_frequency', type=0, flags=3, data=933
08/10 22:42:29 yS0   key: 'beep_length', type=0, flags=3, data=1500
08/10 22:42:29 yS0   key: 'max_tries', type=0, flags=3, data=3
08/10 22:42:29 yS0   key: 'retry_delay', type=0, flags=3, data=5
08/10 22:42:29 yS0   key: 'dialout_timeout', type=0, flags=1, data=90
08/10 22:42:29 yS0   key: 'ringback_goes_away', type=0, flags=1, data=70
08/10 22:42:29 yS0   key: 'ringback_never_came', type=0, flags=1, data=100
08/10 22:42:29 yS0   key: 'voice_devices', type=1, flags=1, data=
08/10 22:42:29 yS0  check for lockfiles
08/10 22:42:29 yS0   checklock: stat failed, no file
08/10 22:42:29 yS0  locking the line
08/10 22:42:29 yS0   makelock(ttyS0) called
08/10 22:42:29 yS0   do_makelock: lock='/var/lock/LCK..ttyS0'
08/10 22:42:29 yS0   lock made
08/10 22:42:30 yS0   tio_get_rs232_lines: status: RTS CTS DSR DTR RI
08/10 22:42:30 yS0  lowering DTR to reset Modem
08/10 22:42:30 yS0   tss: set speed to 115200 (10002)
08/10 22:42:30 yS0   tio_set_flow_control( HARD )
08/10 22:42:30 yS0   waiting for line to clear (VTIME), read:
08/10 22:42:30 yS0  send: \dATQ0V1H0[0d]
08/10 22:42:31 yS0  waiting for ``OK''
08/10 22:42:31 yS0   got: [0d][0a]OK ** found **
08/10 22:42:31 yS0  send: ATS0=0Q0&D3&C1[0d]
08/10 22:42:31 yS0  waiting for ``OK''
08/10 22:42:31 yS0   got: [0d]
08/10 22:42:31 yS0    CND: OK[0a][0d][0a]OK ** found **
08/10 22:42:31 yS0  mdm_send: 'ATI'
08/10 22:42:31 yS0    got:[0d][0a][0d][0a]3361[0d]
08/10 22:42:31 yS0   mdm_gis: string 1: '3361'
08/10 22:42:31 yS0    got:[0a][0d][0a]OK[0d]
08/10 22:42:31 yS0   mdm_identify: string '3361'
08/10 22:42:31 yS0  USR Courier/Sportster V.34(+) detected
08/10 22:42:31 yS0  mdm_send: 'ATI3'
08/10 22:42:31 yS0    got:[0a][0d][0a]USRobotics Sportster Voice 33600 Fax
RS Rev. 2.0[0d]
08/10 22:42:31 yS0   mdm_gis: string 1: 'USRobotics Sportster Voice 33600
Fax RS Rev. 2.0'
08/10 22:42:31 yS0    got:[0a][0d][0a]OK[0d]
08/10 22:42:31 yS0  additional info: 'USRobotics Sportster Voice 33600 Fax
RS Rev. 2.0'
08/10 22:42:32 yS0  mdm_send: 'AT+FCLASS=2.0'
08/10 22:42:32 yS0    got:[0a][0d][0a]OK[0d]
08/10 22:42:32 yS0   mdm_command: string 'OK' -> OK
08/10 22:42:32 yS0  mdm_send: 'AT+FAA=1;+FCR=1'
08/10 22:42:32 yS0    got:[0a][0d][0a]OK[0d]
08/10 22:42:32 yS0   mdm_command: string 'OK' -> OK
08/10 22:42:32 yS0  mdm_send: 'AT+FBO=1'
08/10 22:42:32 yS0    got:[0a][0d][0a]OK[0d]
08/10 22:42:32 yS0   mdm_command: string 'OK' -> OK
08/10 22:42:32 yS0  mdm_send: 'AT+FNR=1,1,1,0'
08/10 22:42:32 yS0    got:[0a][0d][0a]OK[0d]
08/10 22:42:32 yS0   mdm_command: string 'OK' -> OK
08/10 22:42:32 yS0  mdm_send: 'AT+FLI="+1 815-371-3708"'
08/10 22:42:32 yS0    got:[0a][0d][0a]OK[0d]
08/10 22:42:32 yS0   mdm_command: string 'OK' -> OK
08/10 22:42:32 yS0  mdm_send: 'AT+FCC=1,5,0,2,0,0,0,0'
08/10 22:42:32 yS0    got:[0a][0d][0a]OK[0d]
08/10 22:42:33 yS0   mdm_command: string 'OK' -> OK
08/10 22:42:33 yS0   tss: set speed to 115200 (10002)
08/10 22:42:33 yS0   tio_set_flow_control( HARD )
08/10 22:42:33 yS0  detecting voice modem type
08/10 22:42:33 yS0    vgetty: ATE0
08/10 22:42:33 yS0    serial port: OK
08/10 22:42:33 yS0   voice command: 'ATI9' -> ''
08/10 22:42:33 yS0    vgetty: ATI9
08/10 22:42:33 yS0    serial port: (1.0USR0007\\Modem\Sportster 33600
FAX/VOICE EXT)FF
08/10 22:42:34 yS0    serial port: OK
08/10 22:42:34 yS0   voice command: 'ATI' -> ''
08/10 22:42:34 yS0    vgetty: ATI
08/10 22:42:34 yS0    serial port: 3361
08/10 22:42:34 yS0    US Robotics: OK
08/10 22:42:34 yS0  US Robotics detected
08/10 22:42:34 yS0   vgetty: entering voice mode
08/10 22:42:34 yS0   vgetty: Installing signal handlers
08/10 22:42:34 yS0    *rnw* IS_101_voice_mode_on: sleeping...
08/10 22:42:44 yS0    *rnw* voice_command: AT#CLS?
08/10 22:42:44 yS0   voice command: 'AT#CLS?' -> ''
08/10 22:42:45 yS0    vgetty: AT#CLS?
08/10 22:42:45 yS0    *rnw* voice_read
08/10 22:42:45 yS0    US Robotics: RING
08/10 22:42:45 yS0    *rnw* mode_save == RING
08/10 22:42:45 yS0    *rnw* voice_command("", "OK")
08/10 22:42:45 yS0   voice command: '' -> 'OK'
08/10 22:42:45 yS0    US Robotics: 0
08/10 22:42:45 yS0  vgetty: Invalid modem answer
08/10 22:42:45 yS0    *rnw* voice_command("", "OK") FAILED
08/10 22:42:45 yS0    vgetty: queued event RESET_WATCHDOG at position 0000
08/10 22:42:45 yS0  US Robotics voice modem
08/10 22:42:45 yS0  This is a driver beta version. V0.4.b3
08/10 22:42:45 yS0   voice command: 'AT&H1&R2&I0' -> 'OK'
08/10 22:42:45 yS0    vgetty: AT&H1&R2&I0
08/10 22:42:45 yS0    vgetty: unqueued event RESET_WATCHDOG at position 0000
08/10 22:42:45 yS0    vgetty: voice_handle_event got event RESET_WATCHDOG
with data <NUL>
08/10 22:42:45 yS0    US Robotics: OK
08/10 22:42:45 yS0   tio_set_flow_control( HARD )
08/10 22:42:45 yS0   voice command: 'AT#VTD=3F,3F,3F' -> 'OK'
08/10 22:42:45 yS0    vgetty: AT#VTD=3F,3F,3F
08/10 22:42:45 yS0    US Robotics: OK
08/10 22:42:45 yS0  VTD setup successful
08/10 22:42:45 yS0   voice command: 'AT#VSD=1#VSS=1#VSP=70' -> 'OK'
08/10 22:42:45 yS0    vgetty: AT#VSD=1#VSS=1#VSP=70
08/10 22:42:45 yS0    US Robotics: OK
08/10 22:42:45 yS0   voice command: 'AT#VRA=70#VRN=100' -> 'OK'
08/10 22:42:45 yS0    vgetty: AT#VRA=70#VRN=100
08/10 22:42:45 yS0    US Robotics: OK
08/10 22:42:46 yS0   vgetty: leaving voice mode
08/10 22:42:46 yS0   voice command: 'AT#CLS=RING' -> 'OK'
08/10 22:42:46 yS0    vgetty: AT#CLS=RING
08/10 22:42:46 yS0    US Robotics: ERROR
08/10 22:42:46 yS0  vgetty: Modem returned ERROR
08/10 22:42:46 yS0   vgetty: Restoring signal handlers
08/10 22:42:46 yS0   running post_init_chat
08/10 22:42:46 yS0  send: AT#CID=1[0d]
08/10 22:42:46 yS0  waiting for ``OK''
08/10 22:42:46 yS0   got: [0d]
08/10 22:42:46 yS0    CND: OK[0a]OK ** found **
08/10 22:42:46 yS0   waiting for line to clear (VTIME), read: [0d][0a]
08/10 22:42:46 yS0   removing lock file
08/10 22:42:46 yS0  waiting...
08/10 22:42:50 yS0    select returned 1
08/10 22:42:50 yS0   checking lockfiles, locking the line
08/10 22:42:50 yS0   makelock(ttyS0) called
08/10 22:42:50 yS0   do_makelock: lock='/var/lock/LCK..ttyS0'
08/10 22:42:50 yS0   lock made
08/10 22:42:50 yS0    vgetty: number of rings (3) was set directly
08/10 22:42:50 yS0    vgetty: decremented number of rings (3) by 0
08/10 22:42:50 yS0  wfr: waiting for ``RING''
08/10 22:42:50 yS0   got: [0a][0d][0a]RING[0d]
08/10 22:42:50 yS0    CND: RING
08/10 22:42:50 yS0   wfr: rc=0, drn=0
08/10 22:42:50 yS0  wfr: waiting for ``RING''
08/10 22:42:50 yS0   got: [0a]
08/10 22:43:00 yS0  mdm_read_byte: read returned -1: Interrupted system call
08/10 22:43:00 yS0  wfr: timeout waiting for RING
08/10 22:43:00 yS0   wfr: rc=-1, drn=0
08/10 22:43:00 ##### phone stopped ringing (rings=1, dev=ttyS0, pid=5404,
caller='none')

08/10 22:43:00 yS0   waiting for line to clear (VTIME), read:
08/10 22:43:01 yS0   removing lock file
08/10 22:43:01 yS0  waiting...