data:audio discrimination in vgetty

"Heliodor Macko" (macko@wildcat.sk)
Wed, 9 Jun 1999 16:56:13 +0200


Hello all,

I use vgetty and need to discriminate between data and audio calls (PPP or 
voice service). But my modem seems not to report data calling tone to vgetty, 
though according to manual it should. Am I right?

Modem: ZyXEL Comet 3356
OS: Debian Linux 2.0.34
Mgetty/Vgetty version: 
06/09 16:08:05 yS1  vgetty: experimental test release 0.9.1 / 17Nov98
06/09 16:08:05 yS1  mgetty: experimental test release 1.1.20-Jan17
Calling modems tested: ZyXEL 2864, SupraFAXModem V32bis 14400

Relevant portions of log:

06/09 16:08:05 yS1   section: program vgetty, **found**
06/09 16:08:05 yS1   conf lib: read: 'rings 2'
06/09 16:08:05 yS1   conf lib: read: 'answer_mode data:fax:voice'
06/09 16:08:05 yS1   conf lib: read: 'force_autodetect true'
06/09 16:08:05 yS1   conf lib: read: 'toll_saver_rings 0'
06/09 16:08:05 yS1   conf lib: read: 'rec_always_keep true'
06/09 16:08:05 yS1   conf lib: read: 'button_program '
06/09 16:08:05 yS1   conf lib: read: 'call_program 
/home/macko/comin/fortuna.pl'
06/09 16:08:05 yS1   conf lib: read: 'dtmf_program dtmf.sh'
06/09 16:08:05 yS1   conf lib: read: 'message_program '
06/09 16:08:05 yS1   conf lib: read: 'do_message_light false'
...
06/09 16:10:06 yS1   makelock(ttyS1) called
06/09 16:10:06 yS1   do_makelock: lock='/var/lock/LCK..ttyS1'
06/09 16:10:06 yS1   lock made
06/09 16:10:06 yS1    vgetty: number of rings (2) was set directly
06/09 16:10:06 yS1    vgetty: decremented number of rings (2) by 0
06/09 16:10:06 yS1  wfr: waiting for ``RING''
06/09 16:10:06 yS1   got: [0d][0a]RING[0d]
06/09 16:10:06 yS1    CND: RING
06/09 16:10:06 yS1   wfr: rc=0, drn=0
06/09 16:10:06 yS1  wfr: waiting for ``RING''
06/09 16:10:06 yS1   got: [0a][0d][0a]RING[0d]
06/09 16:10:11 yS1    CND: RING
06/09 16:10:11 yS1   wfr: rc=0, drn=0
06/09 16:10:11 yS1  reading ring_type ring configuration from config file 
/usr/local/etc/mgetty+sendfax/voice.conf
06/09 16:10:11 yS1   reading /usr/local/etc/mgetty+sendfax/voice.conf...
06/09 16:10:11 yS1   conf lib: read: 'part generic'
06/09 16:10:11 yS1   found CT_KEYWORD part generic
06/09 16:10:11 yS1   conf lib: read: 'voice_log_level 6'
06/09 16:10:11 yS1   conf lib: read: 'voice_dir /var/spool/voice'
06/09 16:10:11 yS1   conf lib: read: 'phone_owner root'
06/09 16:10:11 yS1   conf lib: read: 'phone_group phone'
06/09 16:10:11 yS1   conf lib: read: 'phone_mode 0660'
06/09 16:10:11 yS1   conf lib: read: 'message_flag_file .flag'
06/09 16:10:11 yS1   conf lib: read: 'receive_dir incoming'
06/09 16:10:11 yS1   conf lib: read: 'message_dir messages'
06/09 16:10:11 yS1   conf lib: read: 'message_list Index'
06/09 16:10:11 yS1   conf lib: read: 'backup_message standard.rmd'
06/09 16:10:11 yS1   conf lib: read: 'port_speed 57600'
06/09 16:10:11 yS1   conf lib: read: 'voice_shell /usr/bin/perl'
06/09 16:10:11 yS1   conf lib: read: 'port_timeout 10'
06/09 16:10:11 yS1   conf lib: read: 'dial_timeout 90'
06/09 16:10:11 yS1   conf lib: read: 'command_delay 100'
06/09 16:10:11 yS1   conf lib: read: 'dtmf_len 30'
06/09 16:10:11 yS1   conf lib: read: 'dtmf_threshold 40'
06/09 16:10:11 yS1   conf lib: read: 'dtmf_wait 7'
06/09 16:10:11 yS1   conf lib: read: 'ignore_fax_dle false'
06/09 16:10:11 yS1   conf lib: read: 'raw_data false'
06/09 16:10:11 yS1   conf lib: read: 'rec_compression 0'
06/09 16:10:11 yS1   conf lib: read: 'rec_speed 0'
06/09 16:10:11 yS1   conf lib: read: 'rec_silence_len 70'
06/09 16:10:11 yS1   conf lib: read: 'rec_silence_threshold 40'
06/09 16:10:11 yS1   conf lib: read: 'rec_remove_silence false'
06/09 16:10:11 yS1   conf lib: read: 'rec_max_len 300'
06/09 16:10:11 yS1   conf lib: read: 'rec_min_len 0'
06/09 16:10:11 yS1   conf lib: read: 'do_hard_flow true'
06/09 16:10:11 yS1   conf lib: read: 'beep_frequency 933'
06/09 16:10:11 yS1   conf lib: read: 'beep_length 1500'
06/09 16:10:11 yS1   conf lib: read: 'max_tries 3'
06/09 16:10:11 yS1   conf lib: read: 'retry_delay 4'
06/09 16:10:11 yS1   conf lib: read: 'watchdog_timeout 60'
06/09 16:10:11 yS1   conf lib: read: 'receive_gain -1'
06/09 16:10:11 yS1   conf lib: read: 'transmit_gain -1'
06/09 16:10:11 yS1   conf lib: read: 'enable_command_echo false'
06/09 16:10:11 yS1   conf lib: read: 'poll_interval 10'
06/09 16:10:11 yS1   conf lib: read: 'program vgetty'
06/09 16:10:11 yS1   conf lib: read: 'rings 2'
06/09 16:10:11 yS1   conf lib: read: 'answer_mode data:fax:voice'
06/09 16:10:11 yS1   conf lib: read: 'force_autodetect true'
06/09 16:10:11 yS1   conf lib: read: 'toll_saver_rings 0'
06/09 16:10:11 yS1   conf lib: read: 'rec_always_keep true'
06/09 16:10:11 yS1   conf lib: read: 'button_program '
06/09 16:10:11 yS1   conf lib: read: 'call_program 
/home/macko/comin/fortuna.pl'
06/09 16:10:11 yS1   conf lib: read: 'dtmf_program dtmf.sh'
06/09 16:10:11 yS1   conf lib: read: 'message_program '
06/09 16:10:11 yS1   conf lib: read: 'do_message_light false'
06/09 16:10:11 yS1   conf lib: read: 'program vm'
06/09 16:10:11 yS1   conf lib: read: 'voice_devices ttyS1'
06/09 16:10:11 yS1   conf lib: read: 'dialout_timeout 90'
06/09 16:10:11 yS1   conf lib: read: 'program pvf'
06/09 16:10:11 yS1   conf lib: read: 'port ttyS0'
06/09 16:10:11 yS1   conf lib: read: 'port ttyS5'
06/09 16:10:11 yS1   conf lib: read: 'ring_type ring'
06/09 16:10:11 yS1   section: ring_type ring, **found**
06/09 16:10:11 yS1   conf lib: read: 'ring_type ring1'
06/09 16:10:11 yS1   section: ring_type ring1, ignore
...
06/09 16:10:11 yS1    vgetty: answer mode was set directly
06/09 16:10:11 yS1    vgetty: answer mode is [data|fax|voice]
06/09 16:10:11 yS1    vgetty: opening list file /var/spool/voice/messages/Index
06/09 16:10:11 yS1    vgetty: found 1 messages, picked message number 1
06/09 16:10:11 yS1    vgetty: message name is /var/spool/voice/messages/000
06/09 16:10:11 yS1   vgetty: entering voice mode
06/09 16:10:11 yS1   vgetty: Installing signal handlers
06/09 16:10:11 yS1   voice command: 'AT#CLS?' -> ''
06/09 16:10:11 yS1    vgetty: AT#CLS?
06/09 16:10:11 yS1    Rockwell: 0
06/09 16:10:11 yS1   voice command: '' -> 'OK'
06/09 16:10:11 yS1    Rockwell: OK
06/09 16:10:11 yS1   voice command: 'AT#CLS=8' -> 'OK'
06/09 16:10:11 yS1    vgetty: AT#CLS=8
06/09 16:10:11 yS1    Rockwell: OK
06/09 16:10:11 yS1   voice command: 'AT' -> 'OK'
06/09 16:10:11 yS1    vgetty: AT
06/09 16:10:11 yS1    Rockwell: <DLE> <h>
06/09 16:10:11 yS1    vgetty: queued event HANDSET_ON_HOOK at position 0002
06/09 16:10:11 yS1    Rockwell: 
06/09 16:10:11 yS1    Rockwell: OK
06/09 16:10:12 yS1    vgetty: queued event RESET_WATCHDOG at position 0003
06/09 16:10:12 yS1   voice command: 'AT#VLS=4' -> 'OK'
06/09 16:10:12 yS1    vgetty: AT#VLS=4
06/09 16:10:12 yS1    vgetty: unqueued event HANDSET_ON_HOOK at position 0002
06/09 16:10:12 yS1    vgetty: voice_handle_event got event HANDSET_ON_HOOK with 
data <
06/09 16:10:12 yS1    vgetty: unqueued event RESET_WATCHDOG at position 0003
06/09 16:10:12 yS1    vgetty: voice_handle_event got event RESET_WATCHDOG with 
data <
06/09 16:10:12 yS1    Rockwell: OK
06/09 16:10:12 yS1   voice command: 'ATA' -> 'VCON'
06/09 16:10:12 yS1    vgetty: ATA
06/09 16:10:12 yS1    Rockwell: VCON
06/09 16:10:13 yS1  vgetty: Executing shell script /home/macko/comin/fortuna.pl 
with shell /usr/bin/perl
06/09 16:10:13 yS1    vgetty: opening pipes
06/09 16:10:13 yS1    vgetty: forking shell
06/09 16:10:13 yS1   vgetty(0): HELLO SHELL
06/09 16:10:15 yS1    vgetty: Got pipe signal
06/09 16:10:15 yS1    vgetty: queued event SIGNAL_SIGPIPE at position 0004
06/09 16:10:15 yS1    vgetty: unqueued event SIGNAL_SIGPIPE at position 0004
06/09 16:10:15 yS1    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with 
data <_>
06/09 16:10:15 yS1   shell(1): HELLO VOICE PROGRAM
06/09 16:10:15 yS1   vgetty(1): READY
06/09 16:10:15 yS1   vgetty: initialized communication
06/09 16:10:15 yS1    vgetty: Got pipe signal
06/09 16:10:15 yS1    vgetty: queued event SIGNAL_SIGPIPE at position 0005
06/09 16:10:15 yS1    vgetty: unqueued event SIGNAL_SIGPIPE at position 0005
06/09 16:10:15 yS1    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with 
data <_>
06/09 16:10:15 yS1   shell(1): DEVICE DIALUP_LINE
06/09 16:10:15 yS1    vgetty: queued event RESET_WATCHDOG at position 0006
06/09 16:10:15 yS1   voice command: 'AT#VLS=4' -> 'OK'
06/09 16:10:15 yS1    vgetty: AT#VLS=4
06/09 16:10:15 yS1    vgetty: unqueued event RESET_WATCHDOG at position 0006
06/09 16:10:15 yS1    vgetty: voice_handle_event got event RESET_WATCHDOG with 
data <
06/09 16:10:15 yS1    Rockwell: OK
06/09 16:10:15 yS1   vgetty(1): READY
06/09 16:10:15 yS1    vgetty: Got pipe signal
06/09 16:10:15 yS1    vgetty: queued event SIGNAL_SIGPIPE at position 0007
06/09 16:10:15 yS1    vgetty: unqueued event SIGNAL_SIGPIPE at position 0007
06/09 16:10:15 yS1    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with 
data <_>
06/09 16:10:15 yS1   shell(1): AUTOSTOP ON
06/09 16:10:15 yS1   vgetty(1): READY
06/09 16:10:15 yS1    vgetty: Got pipe signal
06/09 16:10:15 yS1    vgetty: queued event SIGNAL_SIGPIPE at position 0008
06/09 16:10:15 yS1    vgetty: unqueued event SIGNAL_SIGPIPE at position 0008
06/09 16:10:15 yS1    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with 
data <_>
06/09 16:10:15 yS1   shell(1): ENABLE EVENTS
06/09 16:10:15 yS1   vgetty(1): READY
06/09 16:10:16 yS1    vgetty: Got pipe signal
06/09 16:10:16 yS1    vgetty: queued event SIGNAL_SIGPIPE at position 0009
06/09 16:10:16 yS1    vgetty: unqueued event SIGNAL_SIGPIPE at position 0009
06/09 16:10:16 yS1    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with 
data <_>
06/09 16:10:16 yS1   shell(1): PLAY /home/macko/comin/rmd/DobryDen.rmd
06/09 16:10:16 yS1   vgetty(1): PLAYING
06/09 16:10:16 yS1  playing voice file /home/macko/comin/rmd/DobryDen.rmd
06/09 16:10:16 yS1   vgetty: raw modem data header found
06/09 16:10:16 yS1   vgetty: modem type Rockwell found
06/09 16:10:16 yS1   vgetty: compression method 0x0004, speed 7200, bits 4
06/09 16:10:16 yS1    vgetty: queued event RESET_WATCHDOG at position 0010
06/09 16:10:16 yS1   voice command: 'AT#VBS=4' -> 'OK'
06/09 16:10:16 yS1    vgetty: AT#VBS=4
06/09 16:10:16 yS1    vgetty: unqueued event RESET_WATCHDOG at position 0010
06/09 16:10:16 yS1    vgetty: voice_handle_event got event RESET_WATCHDOG with 
data <o>
06/09 16:10:16 yS1    Rockwell: OK
06/09 16:10:16 yS1    vgetty: queued event RESET_WATCHDOG at position 0011
06/09 16:10:16 yS1    vgetty: unqueued event RESET_WATCHDOG at position 0011
06/09 16:10:16 yS1    vgetty: voice_handle_event got event RESET_WATCHDOG with 
data <o>
06/09 16:10:16 yS1   voice command: 'AT&K3' -> 'OK'
06/09 16:10:16 yS1    vgetty: AT&K3
06/09 16:10:16 yS1    Rockwell: OK
06/09 16:10:16 yS1   tio_set_flow_control( HARD XON_OUT )
06/09 16:10:16 yS1   voice command: 'AT#VTX' -> 'CONNECT'
06/09 16:10:16 yS1    vgetty: AT#VTX
06/09 16:10:16 yS1    Rockwell: CONNECT
06/09 16:10:20 yS1    vgetty: <VOICE DATA 24109 bytes>
06/09 16:10:20 yS1    vgetty: queued event RESET_WATCHDOG at position 0012
06/09 16:10:20 yS1    vgetty: unqueued event RESET_WATCHDOG at position 0012
06/09 16:10:20 yS1    vgetty: voice_handle_event got event RESET_WATCHDOG with 
data <o>
06/09 16:10:20 yS1    vgetty: <STOP PLAY>
06/09 16:10:20 yS1   voice command: '' -> 'OK|VCON'
06/09 16:10:20 yS1    Rockwell: <DLE> <[03]>
06/09 16:10:23 yS1  vgetty: <DLE> <ETX> received
06/09 16:10:23 yS1    Rockwell: 
06/09 16:10:23 yS1    Rockwell: VCON
06/09 16:10:23 yS1   vgetty(1): READY
06/09 16:10:23 yS1    vgetty: Got pipe signal
06/09 16:10:23 yS1    vgetty: queued event SIGNAL_SIGPIPE at position 0013
06/09 16:10:23 yS1    vgetty: unqueued event SIGNAL_SIGPIPE at position 0013
06/09 16:10:23 yS1    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with 
data <_>
06/09 16:10:23 yS1   shell(1): PLAY /home/macko/comin/rmd/VytukajteRC.rmd
06/09 16:10:23 yS1   vgetty(1): PLAYING
06/09 16:10:23 yS1  playing voice file /home/macko/comin/rmd/VytukajteRC.rmd
06/09 16:10:23 yS1   vgetty: raw modem data header found
06/09 16:10:23 yS1   vgetty: modem type Rockwell found
06/09 16:10:23 yS1   vgetty: compression method 0x0004, speed 7200, bits 4
06/09 16:10:23 yS1    vgetty: queued event RESET_WATCHDOG at position 0014
06/09 16:10:23 yS1   voice command: 'AT#VBS=4' -> 'OK'
06/09 16:10:23 yS1    vgetty: AT#VBS=4
06/09 16:10:23 yS1    vgetty: unqueued event RESET_WATCHDOG at position 0014
06/09 16:10:23 yS1    vgetty: voice_handle_event got event RESET_WATCHDOG with 
data <o>
06/09 16:10:23 yS1    Rockwell: OK
06/09 16:10:23 yS1    vgetty: queued event RESET_WATCHDOG at position 0015
06/09 16:10:23 yS1    vgetty: unqueued event RESET_WATCHDOG at position 0015
06/09 16:10:23 yS1    vgetty: voice_handle_event got event RESET_WATCHDOG with 
data <o>
06/09 16:10:23 yS1   voice command: 'AT&K3' -> 'OK'
06/09 16:10:23 yS1    vgetty: AT&K3
06/09 16:10:23 yS1    Rockwell: OK
06/09 16:10:23 yS1   tio_set_flow_control( HARD XON_OUT )
06/09 16:10:23 yS1   voice command: 'AT#VTX' -> 'CONNECT'
06/09 16:10:24 yS1    vgetty: AT#VTX
06/09 16:10:24 yS1    Rockwell: CONNECT
06/09 16:10:39 yS1    vgetty: <VOICE DATA 60338 bytes>
06/09 16:10:39 yS1    vgetty: queued event RESET_WATCHDOG at position 0016
06/09 16:10:39 yS1    vgetty: unqueued event RESET_WATCHDOG at position 0016
06/09 16:10:39 yS1    vgetty: voice_handle_event got event RESET_WATCHDOG with 
data <o>
06/09 16:10:39 yS1    vgetty: <STOP PLAY>
06/09 16:10:39 yS1   voice command: '' -> 'OK|VCON'
06/09 16:10:39 yS1    Rockwell: <DLE> <[03]>
06/09 16:10:41 yS1  vgetty: <DLE> <ETX> received
06/09 16:10:41 yS1    Rockwell: 
06/09 16:10:41 yS1    Rockwell: VCON
06/09 16:10:41 yS1   vgetty(1): READY
06/09 16:10:41 yS1    vgetty: Got pipe signal
06/09 16:10:41 yS1    vgetty: queued event SIGNAL_SIGPIPE at position 0017
06/09 16:10:41 yS1    vgetty: unqueued event SIGNAL_SIGPIPE at position 0017
06/09 16:10:41 yS1    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with 
data <_>
06/09 16:10:41 yS1   shell(1): WAIT 10
06/09 16:10:41 yS1   vgetty(1): WAITING
06/09 16:10:41 yS1    vgetty: queued event RESET_WATCHDOG at position 0018
06/09 16:10:41 yS1    vgetty: unqueued event RESET_WATCHDOG at position 0018
06/09 16:10:41 yS1    vgetty: voice_handle_event got event RESET_WATCHDOG with 
data <
06/09 16:10:41 yS1    vgetty: queued event RESET_WATCHDOG at position 0019
06/09 16:10:41 yS1    vgetty: unqueued event RESET_WATCHDOG at position 0019
06/09 16:10:41 yS1    vgetty: voice_handle_event got event RESET_WATCHDOG with 
data <
06/09 16:10:52 yS1   vgetty(1): READY
06/09 16:10:52 yS1    vgetty: Got pipe signal
06/09 16:10:52 yS1    vgetty: queued event SIGNAL_SIGPIPE at position 0020
06/09 16:10:52 yS1    vgetty: unqueued event SIGNAL_SIGPIPE at position 0020
06/09 16:10:52 yS1    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with 
data <_>
06/09 16:10:52 yS1   shell(1): PLAY /home/macko/comin/rmd/VytukajteRC.rmd
06/09 16:10:52 yS1   vgetty(1): PLAYING
...
and so on, until calling modem gives up and hangs up.

I would expect my modem to send <DLE>a or <DLE>e or something, but it doesn't 
look like it. 

Do you have any idea what else could be wrong?

Thanks,
Heliodor