vgetty/vm shell

Marc SCHAEFER (schaefer@alphanet.ch)
Thu, 3 Sep 1998 17:04:37 +0200


Joerg Friedrich <Joerg.Dieter.Friedrich@uni-konstanz.de> wrote:
> I don't know why i always have buffer underrun. I just ignore this :-)

I never have those with my setup and mvm (port at 115kbps).

> 09/03 12:39:38 yS1   vgetty(1): READY
> 09/03 12:39:38 yS1    vgetty: Got pipe signal
> 09/03 12:39:38 yS1    vgetty: queued event SIGNAL_SIGPIPE at position 0028
> 09/03 12:39:38 yS1    vgetty: unqueued event SIGNAL_SIGPIPE at position 0028
> 09/03 12:39:38 yS1    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with data <_>
> 09/03 12:39:38 yS1   shell(1): WAIT 5
> 09/03 12:39:38 yS1   vgetty(1): WAITING
> 09/03 12:39:38 yS1    vgetty: queued event RESET_WATCHDOG at position 0029
> 09/03 12:39:38 yS1    vgetty: unqueued event RESET_WATCHDOG at position 0029
> 09/03 12:39:38 yS1    vgetty: voice_handle_event got event RESET_WATCHDOG with data <_>
> 09/03 12:39:38 yS1    vgetty: queued event RESET_WATCHDOG at position 0030
> 09/03 12:39:38 yS1    vgetty: unqueued event RESET_WATCHDOG at position 0030
> 09/03 12:39:38 yS1    vgetty: voice_handle_event got event RESET_WATCHDOG with data <_>
> 09/03 12:39:44 yS1   vgetty(1): READY
> 09/03 12:39:44 yS1    vgetty: Got pipe signal
> 09/03 12:39:44 yS1    vgetty: queued event SIGNAL_SIGPIPE at position 0031
> 09/03 12:39:44 yS1    vgetty: unqueued event SIGNAL_SIGPIPE at position 0031
> 09/03 12:39:44 yS1    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with data <_>
> 09/03 12:39:44 yS1   shell(1): DISABLE EVENTS
> 09/03 12:39:44 yS1   vgetty(1): READY
> 09/03 12:39:44 yS1    vgetty: Got pipe signal
> 09/03 12:39:44 yS1    vgetty: queued event SIGNAL_SIGPIPE at position 0032
> 09/03 12:39:44 yS1    vgetty: unqueued event SIGNAL_SIGPIPE at position 0032
> 09/03 12:39:44 yS1    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with data <_>

So basically, the ZyXEL did not, in those 6 seconds, see any
DTMF. What firmware do you have ?   Did you try mvm ?

Here is how it looks here with mvm.

You will see I do not use ENABLE EVENTS or DISABLE EVENTS, and I use
AUTOSTOP

09/03 16:55:11 yS0  waiting...
09/03 16:58:44 yS0    select returned 1
09/03 16:58:44 yS0   checking lockfiles, locking the line
09/03 16:58:44 yS0   makelock(ttyS0) called
09/03 16:58:44 yS0   do_makelock: lock='/usr/spool/uucp/LCK..ttyS0'
09/03 16:58:44 yS0   lock made
09/03 16:58:44 yS0    vgetty: number of rings (2) was set directly
09/03 16:58:44 yS0  wfr: waiting for ``RING''
09/03 16:58:44 yS0   got: [0a]RING[0d]
09/03 16:58:44 yS0    CND: RING
09/03 16:58:44 yS0   wfr: rc=0, drn=0
09/03 16:58:44 yS0  wfr: waiting for ``RING''
09/03 16:58:44 yS0   got: [0a]FM:0328414014 /P12345678/TO:8414013[0d]
09/03 16:58:44 yS0    CND: FM:0328414014 /P12345678/TO:8414013
09/03 16:58:44 yS0    CND: found: 0328414014 /P12345678/TO:8414013
09/03 16:58:44 yS0  ZyXEL: 'FM:0328414014 /P12345678/TO:8414013'
09/03 16:58:44 yS0   MSN: '8414013'
09/03 16:58:44 yS0    match: '8414081'
09/03 16:58:44 yS0    match: '8414037'
09/03 16:58:44 yS0    match: '8414013'
09/03 16:58:44 yS0   wfr: rc=0, drn=3
09/03 16:58:44 yS0   CND: program "/usr/lib/mgetty/filter_msn.sh ttyS0 '0328414014' '' 3 '8414013' >/dev/console 2>&1 </dev/null"
09/03 16:58:44 yS0   CND: rc=0x0
09/03 16:58:44 yS0   setenv: 'CALLER_ID=0328414014'
09/03 16:58:44 yS0   setenv: 'CALLED_ID=8414013'

[ note that we launch a CND script which tells that on that 8414013 number,
  vgetty has to pick up the phone. The two setenv is an extension to
  mgetty to allow mvm to decide to go data/fax or voice ]

09/03 16:58:44 yS0   vgetty: entering voice mode
[ ... ]

09/03 16:58:45 yS0  vgetty: Executing shell script /usr/lib/mgetty/mvm.sh with shell /bin/sh
09/03 16:58:45 yS0    vgetty: opening pipes
09/03 16:58:45 yS0    vgetty: forking shell
09/03 16:58:45 yS0   vgetty(0): HELLO SHELL
09/03 16:58:46 yS0    vgetty: Got pipe signal
09/03 16:58:46 yS0    vgetty: queued event SIGNAL_SIGPIPE at position 0003
09/03 16:58:46 yS0    vgetty: unqueued event SIGNAL_SIGPIPE at position 0003
09/03 16:58:46 yS0    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with data <h>
09/03 16:58:46 yS0   shell(1): HELLO VOICE PROGRAM
09/03 16:58:46 yS0   vgetty(1): READY
09/03 16:58:46 yS0   vgetty: initialized communication
09/03 16:58:46 yS0    vgetty: Got pipe signal
09/03 16:58:46 yS0    vgetty: queued event SIGNAL_SIGPIPE at position 0004
09/03 16:58:46 yS0    vgetty: unqueued event SIGNAL_SIGPIPE at position 0004
09/03 16:58:46 yS0    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with data <h>
09/03 16:58:46 yS0   shell(1): ENABLE EVENTS
09/03 16:58:46 yS0   vgetty(1): READY
09/03 16:58:46 yS0    vgetty: Got pipe signal
09/03 16:58:46 yS0    vgetty: queued event SIGNAL_SIGPIPE at position 0005
09/03 16:58:46 yS0    vgetty: unqueued event SIGNAL_SIGPIPE at position 0005
09/03 16:58:46 yS0    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with data <h>
09/03 16:58:46 yS0   shell(1): AUTOSTOP ON
09/03 16:58:46 yS0   vgetty(1): READY
09/03 16:58:46 yS0    vgetty: Got pipe signal
09/03 16:58:46 yS0    vgetty: queued event SIGNAL_SIGPIPE at position 0006
09/03 16:58:46 yS0    vgetty: unqueued event SIGNAL_SIGPIPE at position 0006
09/03 16:58:46 yS0    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with data <h>
09/03 16:58:46 yS0   shell(1): PLAY /usr/spool/voice/messages/select_language
09/03 16:58:46 yS0   vgetty(1): PLAYING
09/03 16:58:46 yS0  playing voice file /usr/spool/voice/messages/select_language
09/03 16:58:46 yS0   vgetty: raw modem data header found
09/03 16:58:46 yS0   vgetty: modem type ZyXEL 2864 found
09/03 16:58:46 yS0   vgetty: compression method 0x0002, speed 9600, bits 2
09/03 16:58:46 yS0    vgetty: queued event RESET_WATCHDOG at position 0007
09/03 16:58:46 yS0   voice command: 'AT+VSM=2,9600' -> 'OK'
09/03 16:58:47 yS0    vgetty: AT+VSM=2,9600
09/03 16:58:47 yS0    vgetty: unqueued event RESET_WATCHDOG at position 0007
09/03 16:58:47 yS0    vgetty: voice_handle_event got event RESET_WATCHDOG with data <d>
09/03 16:58:47 yS0    ZyXEL 2864: AT+VSM=2,9600
09/03 16:58:47 yS0    ZyXEL 2864: OK
09/03 16:58:47 yS0    vgetty: queued event RESET_WATCHDOG at position 0008
09/03 16:58:47 yS0    vgetty: unqueued event RESET_WATCHDOG at position 0008
09/03 16:58:47 yS0   voice command: 'AT+FLO=2' -> 'OK'
09/03 16:58:47 yS0    vgetty: AT+FLO=2
09/03 16:58:47 yS0    ZyXEL 2864: AT+FLO=2
09/03 16:58:47 yS0    ZyXEL 2864: OK
09/03 16:58:47 yS0   tio_set_flow_control( HARD XON_OUT )
09/03 16:58:47 yS0   voice command: 'AT+VTX' -> 'CONNECT'
09/03 16:58:47 yS0    vgetty: AT+VTX
09/03 16:58:47 yS0    ZyXEL 2864: AT+VTX
09/03 16:58:47 yS0    ZyXEL 2864: CONNECT
09/03 16:58:53 yS0    vgetty: <VOICE DATA 19091 bytes>
09/03 16:58:53 yS0    vgetty: queued event RESET_WATCHDOG at position 0009
09/03 16:58:53 yS0    vgetty: unqueued event RESET_WATCHDOG at position 0009
09/03 16:58:53 yS0    vgetty: voice_handle_event got event RESET_WATCHDOG with data <d>
09/03 16:58:53 yS0    vgetty: <STOP PLAY>
09/03 16:58:53 yS0   voice command: '' -> 'OK'
09/03 16:58:53 yS0    ZyXEL 2864: OK
09/03 16:58:54 yS0   vgetty(1): READY
09/03 16:58:54 yS0    vgetty: Got pipe signal
09/03 16:58:54 yS0    vgetty: queued event SIGNAL_SIGPIPE at position 0010
09/03 16:58:54 yS0    vgetty: unqueued event SIGNAL_SIGPIPE at position 0010
09/03 16:58:54 yS0    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with data <h>
09/03 16:58:54 yS0   shell(1): WAIT 20
09/03 16:58:54 yS0   vgetty(1): WAITING
09/03 16:58:54 yS0    vgetty: queued event RESET_WATCHDOG at position 0011
09/03 16:58:54 yS0    vgetty: unqueued event RESET_WATCHDOG at position 0011
09/03 16:58:54 yS0    vgetty: voice_handle_event got event RESET_WATCHDOG with data <_>
09/03 16:58:54 yS0    vgetty: queued event RESET_WATCHDOG at position 0012
09/03 16:58:54 yS0    vgetty: unqueued event RESET_WATCHDOG at position 0012
09/03 16:58:54 yS0    vgetty: voice_handle_event got event RESET_WATCHDOG with data <`>
09/03 16:58:57 yS0    ZyXEL 2864: <DLE> <1>
09/03 16:58:57 yS0    vgetty: queued event RECEIVED_DTMF at position 0013
09/03 16:58:57 yS0    vgetty: unqueued event RECEIVED_DTMF at position 0013
09/03 16:58:57 yS0    vgetty: voice_handle_event got event RECEIVED_DTMF with data <1>
09/03 16:58:57 yS0    vgetty: stopping current action
09/03 16:58:57 yS0   vgetty(1): RECEIVED_DTMF
09/03 16:58:57 yS0   vgetty(1): 1
09/03 16:58:57 yS0    vgetty: Got pipe signal
09/03 16:58:57 yS0    vgetty: queued event SIGNAL_SIGPIPE at position 0014
09/03 16:58:57 yS0    vgetty: unqueued event SIGNAL_SIGPIPE at position 0014
09/03 16:58:57 yS0    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with data <`>
09/03 16:58:57 yS0   shell(2): STOP
09/03 16:58:57 yS0   vgetty(1): READY
09/03 16:58:57 yS0    vgetty: Got pipe signal
09/03 16:58:57 yS0    vgetty: queued event SIGNAL_SIGPIPE at position 0015
09/03 16:58:57 yS0    vgetty: unqueued event SIGNAL_SIGPIPE at position 0015
09/03 16:58:57 yS0    vgetty: voice_handle_event got event SIGNAL_SIGPIPE with data <h>
09/03 16:58:57 yS0   shell(1): WAIT 20
09/03 16:58:57 yS0   vgetty(1): WAITING
09/03 16:58:57 yS0    vgetty: queued event RESET_WATCHDOG at position 0016
09/03 16:58:57 yS0    vgetty: unqueued event RESET_WATCHDOG at position 0016
09/03 16:58:57 yS0    vgetty: voice_handle_event got event RESET_WATCHDOG with data <`>
09/03 16:58:57 yS0    vgetty: queued event RESET_WATCHDOG at position 0017
09/03 16:58:57 yS0    vgetty: unqueued event RESET_WATCHDOG at position 0017
09/03 16:58:57 yS0    vgetty: voice_handle_event got event RESET_WATCHDOG with data <`>
09/03 16:58:57 yS0    ZyXEL 2864: <DLE> <2>
09/03 16:58:57 yS0    vgetty: queued event RECEIVED_DTMF at position 0018
09/03 16:58:57 yS0    vgetty: unqueued event RECEIVED_DTMF at position 0018
09/03 16:58:57 yS0    vgetty: voice_handle_event got event RECEIVED_DTMF with data <2>
09/03 16:58:57 yS0    vgetty: stopping current action
09/03 16:58:57 yS0   vgetty(1): RECEIVED_DTMF
09/03 16:58:57 yS0   vgetty(1): 2

etc.