HylaFAX The world's most advanced open source fax server

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [hylafax-users] Voice Modem Problems



Thanks for the reply.  What do you use for your egetty program?

David

Vyacheslav Frolov writes:
 > 
 > 
 > David Ronis wrote:
 > 
 > > I'm trying to get hylafax to work with a ZYXEL omni 56K modem on an
 > > i686-linux-gnu box.  I can get vgetty to answer the modem by itself,
 > > but would prefer to stick with hylafax.  So far I fax and data calls
 > > work fine, but I've been completely unsuccessful getting faxgetty to
 > > answer/recognize voice calls.  I always start with a data connection.
 > > I use agetty for data and want to use vgetty for voice.
 > >
 > > My configuration file is appended.
 > >
 > > I've played around with the ModemSetupAACmd, AdaptiveAnswer, and
 > > AnswerRotary parameters, but so far, without success.
 > >
 > > Has anybody gotten any voice modem to work?  If so, could you send me
 > > a copy of your configuration file?
 > 
 > Yes, I use ZYXEL U1496+.
 > 
 > Configuration is
 > -----------
 > AnswerRotary:           extern
 > EGettyArgs:             "...<args>..."
 > -----------
 > 
 > My egetty program plays voice promt and exits with code 2 if detected fax tone.
 > If fax tone was not detected it records voice message.
 > 
 > The typical sessiоns for egetty program are:
 > 
 > ----------- voice call sessiоn
 > >>> 'AT\r'
 > <<< '\r\nOK\r\n'
 > >>> 'AT+FCLASS=?\r'
 > <<< '\r\n0,2,2.0,6,8\r\nOK\r\n'
 > >>> 'AT+FCLASS?\r'
 > <<< '\r\n2.0\r\nOK\r\n'
 > >>> 'AT+FCLASS=8\r'        # voice class
 > <<< '\r\nOK\r\n'
 > >>> 'ATS39.6=1\r'               # enable receiving DLE codes
 > <<< '\r\nOK\r\n'
 > >>> 'AT+VLS=2\r'                # voice connection
 > <<< '\r\nVCON\r\n'
 > >>> 'AT+VTX\r'                    # start sending voice
 > <<< '\r\nCONNECT\r\n'
 > >>> [RMD file]                      # sending voice prompt
 > >>> <NUL><DLE><ETX>   # stop sending voice
 > <<< '\r\nVCON\r\n'
 > >>> 'AT+VTS=[1200,0,15]\r' # beep
 > <<< '\r\nOK\r\n'
 > >>> 'AT+VRX\r'                   # start receiving voice
 > <<< '\r\nCONNECT\r\n'
 > <<< [RMD file]                     # receiving/recording voice message
 > <<< '<DLE>b'                     # busy signal detected
 > >>> 'AT\r'                            # stop receiving voice
 > <<< '\r\nVCON\r\n'
 > >>> 'ATS39.6=0\r'              # restore
 > <<< '\r\nOK\r\n'
 > >>> 'AT+FCLASS=2.0\r'   # restore
 > <<< '\r\nOK\r\n'
 > >>> 'AT+VLS=0\r'              # on hook
 > <<< '\r\nOK\r\n'
 > exit 5                                   #  return to faxgetty with CALLTYPE_DONE
 > -----------
 > 
 > ----------- fax call sessiоn
 > >>> 'AT\r'
 > <<< '\r\nOK\r\n'
 > >>> 'AT+FCLASS=?\r'
 > <<< '\r\n0,2,2.0,6,8\r\nOK\r\n'
 > >>> 'AT+FCLASS?\r'
 > <<< '\r\n2.0\r\nOK\r\n'
 > >>> 'AT+FCLASS=8\r'
 > <<< '\r\nOK\r\n'
 > >>> 'ATS39.6=1\r'
 > <<< '\r\nOK\r\n'
 > >>> 'AT+VLS=2\r'
 > <<< '\r\nVCON\r\n'
 > >>> 'AT+VTX\r'
 > <<< '\r\nCONNECT\r\n'
 > >>> [RMD file]                      # sending voice prompt
 > <<< '<DLE>c'                            # fax tone detected
 > >>> <NUL><DLE><ETX>  # interrupt sending voice
 > <<< '\r\nVCON\r\n'
 > >>> 'ATS39.6=0\r'
 > <<< '\r\nOK\r\n'
 > >>> 'AT+FCLASS=2.0\r'
 > <<< '\r\nOK\r\n'
 > >>> 'ATA\r'                               # answer fax
 > <<< '\r\nCONNECT FAX\r\n'
 > exit 2                                         # return to faxgetty with CALLTYPE_FAX
 > -----------
 > 
 > I'm not using the mgetty+sendfax's vgetty but it seems that it can be used instead egetty.
 > 
 > NOTE: It seems there is a bug in HylaFax on Linux (see below).
 > If so you can try to patch HylaFax or use egetty script that runs vgetty
 > (replace "print "ATA\r"; exit 2;" to "exec '/sbin/vgetty...';").
 > 
 > Vyacheslav Frolov wrote:
 > 
 > > Dmitry Bely wrote:
 > >
 > > > [---cut---]
 > > > #!/usr/bin/perl
 > > > print "ATA\r";  # always answer as a fax
 > > > exit 2;
 > > > [---cut---]
 > > >
 > > > The problem is that after returning to Hylafax the modem file descriptor
 > > > becames broken and all commands to the modem fails with the write error :-(
 > >
 > > On Linux You can fix that two ways: in HylaFax source (cut1) or in egetty script (cut2).
 > >
 > > [---cut1---]
 > > --- ../org/hylafax-4.1beta2/faxd/GettySysV.c++  Sun Jun 13 11:41:03 1999
 > > +++ ../hylafax-4.1beta2/faxd/GettySysV.c++      Fri Mar 17 17:40:00 2000
 > > @@ -95,6 +95,7 @@
 > >       * the login process that follows.
 > >       */
 > >      setsid();
 > > +#define sco
 > >  #ifndef sco
 > >      fd = Sys::open(getLine(), O_RDWR|O_NONBLOCK);
 > >  #else
 > > [---cut1---]
 > >
 > > [---cut2---]
 > > #!/usr/bin/perl
 > > require 'asm/ioctls.ph';
 > > require 'asm/termios.ph';
 > > sub termios_t() { 'IIIICC32C3II'; }
 > > sub m_open() {
 > >     local $SIG{'HUP'} = sub {};
 > >     ioctl(STDOUT, &TIOCNOTTY, 0);
 > >
 > >     my $termios = "";
 > >     ioctl(STDOUT, &TCGETS, $termios);
 > >     my @ar = unpack(termios_t, $termios);
 > >     $ar[2] |= &CLOCAL;
 > >     $termios = pack(termios_t, @ar);
 > >     ioctl(STDOUT, &TCSETS, $termios);
 > > }
 > > m_open();
 > > print "ATA\r";
 > > exit 2;
 > > [---cut2---]
 > >
 > > Sorry, I had't test the example. It's only the cut from my working script.
 > >
 > > Regards,
 > > Vyacheslav.


____________________ HylaFAX(tm) Users Mailing List _______________________
 To unsub: mail -s unsubscribe hylafax-users-request@hylafax.org < /dev/null




Project hosted by iFAX Solutions