vgetty not detecting modem as voice modem.

John Turner (xy3@usa.net.net)
Mon, 20 Sep 1999 13:30:26 -0700


To continue in my thread... here is more information/problems I'm  having with
vgetty after playing with it for another day.


#1. With my modem set to Rockwell, it can indeed answer calls and will play the
greeting message/record a voice message, unless the modem is not fully
reinitialized before each call.

09/20 12:00:27 yS2  initializing ROCKWELL voice modem
09/20 12:00:28 yS2  waiting...
09/20 12:02:57 yS2  wfr: waiting for ``RING''
09/20 12:02:57 yS2  wfr: waiting for ``RING''
09/20 12:03:07 ##### CND script ignore/reject caller dev=ttyS2, pid=12542,
caller='none'
09/20 12:03:07 yS2  mdm_send: 'ATH' -> OK
09/20 12:03:17 yS2  waiting...
09/20 12:06:40 yS2  wfr: waiting for ``RING''
09/20 12:06:40 yS2  wfr: waiting for ``RING''
09/20 12:06:43 yS2  cannot set controlling tty (ioctl): Operation not permitted
09/20 12:06:43 yS2  >>> this might be caused because you have run mgetty/vgetty
09/20 12:06:43 yS2  >>> from the command line.  Don't do that, use /etc/inittab!

09/20 12:06:43 yS2  reading ring_type ring3 configuration from config file
/usr/local/mgetty/voice.conf
09/20 12:06:43 yS2  vgetty: Invalid modem answer
09/20 12:06:52 yS2  vgetty: Invalid modem answer
09/20 12:06:53 yS2  vgetty: Invalid modem answer
09/20 12:06:53 yS2  vgetty: Could not answer the phone. Strange...

As you can see here, after ignoring a call from the CND script (a special case
exit(1)), all vgetty does is send an "ATH" and waits for another call.  I don't
think this is enough. It must reinitialize completely somehow.

This is only a guess for now, but something is definitely wrong.  There have
been times when loading vgetty straight from the cmdline has caused that last
"Could not answer the phone" even with the AT&F at initialization (load factory
defaults).

aside: Why doesn't vgetty log all the commands sent to the modem?  Some are
shown as mdm_send, but all the INITIALIZING Rockwell voice modem commands are
not logged?  It would really help with debugging..   I use -x 999 (or 9) from
the cmdline.


#2. I can't seem to get it to detect a FAX when answering in voice mode.  This
incoming call is FAX:

--
09/20 11:48:03 yS2  vgetty: experimental test release 0.9.7 / 16Sep99
09/20 11:48:03 yS2  mgetty: experimental test release 1.1.21-Jul24
09/20 11:48:03 yS2   vgetty.c compiled at Sep 20 1999, 11:34:14
09/20 11:48:03 yS2   user id: 0, parent pid: 7384
09/20 11:48:03 yS2   reading configuration data for port 'ttyS2'
09/20 11:48:03 yS2   reading /usr/local/mgetty/mgetty.config...
09/20 11:48:03 yS2   conf lib: read: 'debug 4'
09/20 11:48:03 yS2   conf lib: read: 'fax-id 49 115 xxxxxxxx'
09/20 11:48:03 yS2   conf lib: read: 'speed 38400'
09/20 11:48:03 yS2   conf lib: read: 'switchbd 19200'
09/20 11:48:03 yS2   conf lib: read: 'init-chat "" AT&F OK
AT-SDR=7S0=0M0Q0&D3&C1#CID=1 OK'
09/20 11:48:03 yS2   conf lib: read: 'rings 2'
09/20 11:48:03 yS2   conf lib: read: 'cnd-program /usr/local/mgetty/cid'
09/20 11:48:03 yS2   key: 'speed', type=0, flags=3, data=38400
09/20 11:48:03 yS2   key: 'switchbd', type=0, flags=3, data=19200
09/20 11:48:03 yS2   key: 'direct', type=3, flags=1, data=FALSE
09/20 11:48:03 yS2   key: 'blocking', type=3, flags=1, data=FALSE
09/20 11:48:03 yS2   key: 'port-owner', type=1, flags=1, data=uucp
09/20 11:48:03 yS2   key: 'port-group', type=1, flags=1, data=modem
09/20 11:48:03 yS2   key: 'port-mode', type=0, flags=1, data=432
09/20 11:48:03 yS2   key: 'toggle-dtr', type=3, flags=1, data=TRUE
09/20 11:48:03 yS2   key: 'toggle-dtr-waittime', type=0, flags=1, data=500
09/20 11:48:03 yS2   key: 'need-dsr', type=3, flags=1, data=FALSE
09/20 11:48:03 yS2   key: 'data-only', type=3, flags=1, data=FALSE
09/20 11:48:03 yS2   key: 'fax-only', type=3, flags=1, data=FALSE
09/20 11:48:03 yS2   key: 'modem-type', type=1, flags=1, data=cls2
09/20 11:48:03 yS2   key: 'modem-quirks', type=0, flags=0, data=(empty)
09/20 11:48:03 yS2   key: 'init-chat', type=2, flags=3, data= AT&F OK
AT-SDR=7S0=0M0Q0&D3&C1#CID=1 OK
09/20 11:48:03 yS2   key: 'force-init-chat', type=2, flags=1, data=
\d^P^C\d\d\d+++\d\d\d^M\dATQ0V1H0
 OK
09/20 11:48:03 yS2   key: 'post-init-chat', type=2, flags=0, data=(empty)
09/20 11:48:03 yS2   key: 'data-flow', type=4, flags=1, data=1
09/20 11:48:03 yS2   key: 'fax-send-flow', type=4, flags=1, data=6
09/20 11:48:03 yS2   key: 'fax-rec-flow', type=4, flags=1, data=6
09/20 11:48:03 yS2   key: 'modem-check-time', type=0, flags=1, data=3600
09/20 11:48:03 yS2   key: 'rings', type=0, flags=3, data=2
09/20 11:48:03 yS2   key: 'msn-list', type=2, flags=0, data=(empty)
09/20 11:48:03 yS2   key: 'get-cnd-chat', type=2, flags=0, data=(empty)
09/20 11:48:03 yS2   key: 'cnd-program', type=1, flags=3,
data=/usr/local/mgetty/cid
09/20 11:48:03 yS2   key: 'answer-chat', type=2, flags=1, data= ATA CONNECT \c
09/20 11:48:03 yS2   key: 'answer-chat-timeout', type=0, flags=1, data=80
09/20 11:48:03 yS2   key: 'autobauding', type=3, flags=1, data=FALSE
09/20 11:48:03 yS2   key: 'ringback', type=3, flags=1, data=FALSE
09/20 11:48:03 yS2   key: 'ringback-time', type=0, flags=1, data=30
09/20 11:48:03 yS2   key: 'ignore-carrier', type=3, flags=1, data=FALSE
09/20 11:48:03 yS2   key: 'issue-file', type=1, flags=1, data=/etc/issue
09/20 11:48:03 yS2   key: 'prompt-waittime', type=0, flags=1, data=500
09/20 11:48:03 yS2   key: 'login-prompt', type=1, flags=1, data=@!login:
09/20 11:48:03 yS2   key: 'login-time', type=0, flags=1, data=240
09/20 11:48:03 yS2   key: 'fido-send-emsi', type=3, flags=1, data=TRUE
09/20 11:48:03 yS2   key: 'login-conf-file', type=1, flags=1, data=login.config
09/20 11:48:03 yS2   key: 'fax-id', type=1, flags=3, data=49 115 xxxxxxxx
09/20 11:48:03 yS2   key: 'fax-min-speed', type=0, flags=1, data=0
09/20 11:48:03 yS2   key: 'fax-max-speed', type=0, flags=1, data=14400
09/20 11:48:03 yS2   key: 'message_list', type=1, flags=3, data=Index
09/20 11:48:03 yS2   key: 'backup_message', type=1, flags=3, data=standard.rmd
09/20 11:48:03 yS2   key: 'button_program', type=1, flags=1, data=
09/20 11:48:03 yS2   key: 'call_program', type=1, flags=1, data=
09/20 11:48:03 yS2   key: 'dtmf_program', type=1, flags=1, data=dtmf.sh
09/20 11:48:03 yS2   key: 'message_program', type=1, flags=1, data=
09/20 11:48:03 yS2   key: 'do_message_light', type=3, flags=1, data=FALSE
09/20 11:48:03 yS2   key: 'beep_frequency', type=0, flags=3, data=933
09/20 11:48:03 yS2   key: 'beep_length', type=0, flags=3, data=1500
09/20 11:48:03 yS2   key: 'max_tries', type=0, flags=3, data=3
09/20 11:48:03 yS2   key: 'retry_delay', type=0, flags=3, data=5
09/20 11:48:03 yS2   key: 'dialout_timeout', type=0, flags=1, data=90
09/20 11:48:04 yS2   key: 'ringback_goes_away', type=0, flags=1, data=70
09/20 11:48:04 yS2   key: 'ringback_never_came', type=0, flags=1, data=100
09/20 11:48:04 yS2   key: 'voice_devices', type=1, flags=1, data=
09/20 11:48:04 yS2  reading program vgetty configuration from config file
/usr/local/mgetty/voice.conf
09/20 11:48:04 yS2  reading port ttyS2 configuration from config file
/usr/local/mgetty/voice.conf
09/20 11:48:04 yS2  check for lockfiles
09/20 11:48:04 yS2  locking the line
09/20 11:48:04 yS2  lowering DTR to reset Modem
09/20 11:48:05 yS2  send: AT&F[0d]
09/20 11:48:05 yS2  waiting for ``OK'' ** found **
09/20 11:48:05 yS2  send: AT-SDR=7S0=0M0Q0&D3&C1#CID=1[0d]
09/20 11:48:05 yS2  waiting for ``OK'' ** found **
09/20 11:48:05 yS2  mdm_send: 'AT+FCLASS=2' -> OK
09/20 11:48:05 yS2  mdm_send: 'AT+FCLASS=0' -> OK
09/20 11:48:05 yS2  mdm_send: 'AT+FAA=1;+FCR=1' -> OK
09/20 11:48:05 yS2  mdm_send: 'AT+FBOR=0' -> OK
09/20 11:48:05 yS2  mdm_send: 'AT+FLID="49 115 xxxxxxxx"' -> OK
09/20 11:48:05 yS2  mdm_send: 'AT+FDCC=1,5,0,2,0,0,0,0' -> OK
09/20 11:48:05 yS2  detecting voice modem type
09/20 11:48:07 yS2  Rockwell detected
09/20 11:48:07 yS2  initializing ROCKWELL voice modem
09/20 11:48:08 yS2  waiting...
09/20 11:50:12 yS2  wfr: waiting for ``RING''
09/20 11:50:12 yS2  wfr: waiting for ``RING''
09/20 11:50:15 yS2  cannot set controlling tty (ioctl): Operation not permitted
09/20 11:50:15 yS2  >>> this might be caused because you have run mgetty/vgetty
09/20 11:50:15 yS2  >>> from the command line.  Don't do that, use /etc/inittab!

09/20 11:50:15 yS2  reading ring_type ring3 configuration from config file
/usr/local/mgetty/voice.conf
09/20 11:50:16 yS2  playing voice file /var/spool/voice/messages/standard.rmd
09/20 11:50:20 yS2  mdm_send: 'AT+FBOR=0' -> OK
09/20 11:50:20 yS2  send: ATA[0d]
09/20 11:50:20 yS2  waiting for ``CONNECT''
09/20 11:51:13 yS2  found action string: ``NO CARRIER''
09/20 11:51:13 ##### failed A_FAIL dev=ttyS2, pid=12490, caller='4067755516',
conn='', name=''

What is that +FBOR doing after the voice file has played?  Actually, I think
this is during the voice greeting file (since the standard.rmd is longer than 4
seconds -- so the fax tone must be recognized).  Shouldn't it be switching to
+FCLASS=2 or  #CLS=2 here and then answering?  I really don't know how it is
supposed to work.

Does anyone with a Rockwell chipset have it answering voice but accepting fax
calls as well?

I use mgetty/vgett/mgetty-called-id-patch  (all latest versions that I found)

I apologize if this isn't enough info.. I've been going back and forth through
all these files and it is quite frustrating (but I guess everyone here knows how
that is...)  Any help is appreciated.


xy3 @ usa . net [ remove the second .net if autoreplying ]