[Fwd: Vgetty question]
Vandoorselaere Yoann (yoann@coldserver.com)
Mon, 21 Jun 1999 17:49:55 +0000
This is a multi-part message in MIME format.
--------------857D8BC8D15F1834F5603382
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
This is a fwd of a topîc we have currently
with Marc Schaefer...
I'd like to have comment from the vgetty tem
Bye
--
-- Yoann
It is well known that M$ products don't call free() after a malloc().
The Unix community wish them good luck for their future
developments.
--------------857D8BC8D15F1834F5603382
X-Mozilla-Status2: 00000000
Message-ID: <376A8890.E7D4D9A3@coldserver.com>
Date: Fri, 18 Jun 1999 17:57:36 +0000
From: Vandoorselaere Yoann <yoann@coldserver.com>
X-Mailer: Mozilla 4.6 [en] (X11; I; Linux 2.2.9 i686)
X-Accept-Language: en
MIME-Version: 1.0
To: "mgetty@muc.de" <mgetty@muc.de>
Subject: Vgetty question
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
I'm working on a gui for end user...
It will permit to answer a phone call in voice/data/fax mode.
So my question is :
Is there an library ( written in C ) which could be used
to interact with vgetty ?
--
-- Yoann
It is well known that M$ products don't call free() after a malloc().
The Unix community wish them good luck for their future
developments.
--------------857D8BC8D15F1834F5603382
X-Mozilla-Status2: 00000000
Message-ID: <376E3034.AFA83C69@coldserver.com>
Date: Mon, 21 Jun 1999 12:29:40 +0000
From: Vandoorselaere Yoann <yoann@coldserver.com>
X-Mailer: Mozilla 4.6 [en] (X11; I; Linux 2.2.9 i686)
X-Accept-Language: en
MIME-Version: 1.0
To: Marc SCHAEFER <schaefer@alphanet.ch>
Subject: Re: Vgetty question
References: <376A8890.E7D4D9A3@coldserver.com> <7kf9ke$1fu$1@vulcan.alphanet.ch>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Marc SCHAEFER wrote:
>
> Vandoorselaere Yoann <yoann@coldserver.com> wrote:
> > Is there an library ( written in C ) which could be used
> > to interact with vgetty ?
>
> At this time, you can either use the undocumented internal vgetty
> functions (in C), or use the documented voice shell interface
> (in sh, perl or possibly C).
I'm hacking vgetty for 1 week now,
And really, i've got several question...
Excuse me for what i will say,
but vgetty seems to be a software written without thinking to it's
internal design before writing piece of code...
So what i'd like to say is :
All modem driver are in a library... ( libvoice.a which depend on other
librarie...
I was trying to reuse it... it was a pain... so i've started to write an
other library
using piece of your code )...
Why didn't you use module for modem driver: it save lot of memory...
Why AT command for a given modem can't be added by an end user in a text
file...
( without editing the sources )
Why didn't you use standard file locking ?
Why doesn't you act as a server which could serve other applications
using modem
( and no, this is not off topic because vgetty is, as far as i know, the
only software
which has driver for several modem... )
...
Am i wrong ?
Or am i really missing something ?
Here why i've started to hack vgetty :
All started one week ago,
when a friend lent me an Olitec speed voice K56 & V90 modem...
It is a rockwell chipset based modem ).
I've always hated to not use fully the possibility of a given hardware,
so i've said,
I make it work as answering machine / fax / voice conversation... or
i doesn't use it....
My wish, at this moment was to write an gnome application,
which will handle all of that...
( And which will keep the end user which don't know a damn thing
about what really are computer )..
But here the problem come...
On Unix, you must start with the idea :
a modem server ( which will handle fax/answering machine )
must be running even if your X window is shutdown...
So, because i doesn't wanted to reinvente the wheel,
i started to check at vgetty...
But it was not done for what i want to do...
I can't share it with another modem application...
Or / And
I can't passe it command from an client application...
>From my point of view,
vgetty should listen on a given port,
waiting for an applications to connect and passes it command...
It should notify the application when it receive a RING...
...
Please, don't blame me,
I'm searching a solution for 1 week now...
And i doesn't want to write code which work only on a single modem...
You have writen modem driver for vgetty...
Share it with other program...
We will not reinvente the wheel.
Here is my problem...
Do you agree ?
Keep in touch...
Bye
--
-- Yoann
It is well known that M$ products don't call free() after a malloc().
The Unix community wish them good luck for their future
developments.
--------------857D8BC8D15F1834F5603382
X-Mozilla-Status2: 00000000
Message-ID: <376E3FD0.523EFA69@coldserver.com>
Date: Mon, 21 Jun 1999 13:36:16 +0000
From: Vandoorselaere Yoann <yoann@coldserver.com>
X-Mailer: Mozilla 4.6 [en] (X11; I; Linux 2.2.9 i686)
X-Accept-Language: en
MIME-Version: 1.0
To: Marc SCHAEFER <schaefer@alphanet.ch>
Subject: Re: Vgetty question
References: <Pine.LNX.3.96.990621130152.9327A-100000@vulcan.alphanet.ch>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Marc SCHAEFER wrote:
>
> On Mon, 21 Jun 1999, Vandoorselaere Yoann wrote:
>
> > Excuse me for what i will say, but vgetty seems to be a software written
> > without thinking to it's internal design before writing piece of code...
>
> It is possible. vgetty is an old project which has been taken over by me.
> The design is simple: it's an add-on to mgetty, and thus it has the
> same design features as mgetty: run by inittab, only running when
> waiting for a call, one instance per modem, etc.
>
> > Why didn't you use module for modem driver: it save lot of memory...
>
> Not all OS support dynamic linking; vgetty also run on them. That's
> maybe a reason.
>
> > Why didn't you use standard file locking ?
>
> We use mgetty's lock files, which are very good in mgetty application.
>
> > My wish, at this moment was to write an gnome application,
> > which will handle all of that...
>
> Already seen kvoice ? This simply uses vgetty's voice spool. You can
> edit/add/remove messages. It runs asynchronously to vgetty.
You don't understand my point of view...
So ok,
An end user is working on this workstation...
The phone start ringing...
And :
( here's my program )
A window popup : asking
Do you want to answer or to leave the answering machine answer ?
If there no response from the user after X ring, vgetty take the call
( answering machine )...
If the user want to make a dial,
it open the gnome app, enter the number and click on dial..
( i'm talking here ( with dial & answer ) of a real voice communication
)
>
> > a modem server ( which will handle fax/answering machine )
> > must be running even if your X window is shutdown...
>
> vgetty, yes, for example.
>
> > But it was not done for what i want to do...
>
> What do you exactly want to do ? If it's a voicemail which can also be
> accessed from X11 graphically to consult/add messages, it already exists.
> Look at http://www-internal.alphanet.ch/~schaefer/mvm/
allready Described
>
> > I can't share it with another modem application...
>
> In my setup, vgetty runs on a ISDN modem (ZyXEL 2864I). It has several
> numbers. Each of those represent a different voicemail (different
> companies). Also, if a user calls fax, modem, or PPP, it will detect it.
>
> Messages can be read by mail, WWW, or phone.
>
> > You have writen modem driver for vgetty...
> > Share it with other program...
>
> Use the shell interface. If you can't do what you want through the shell
> interface (and by shell I mean: pipe interface to either C, sh, or
> perl, python, etc), we will add the needed features.
>
> The shell interface is documented, notably in:
> voice/doc/Readme.voice_shell
No !!!
I'm a C coder...
I don't want to make exec call to vm...
I hate frontend...
And, as far as i know vgetty is not capable to handle voice modem
conversation...
( Use your modem to talk with your correspondant )...
>
> Examples are available, the more complete one being the mvm shell script
> (see above URL), and a Perl module also exists.
Keep in touch...
--
-- Yoann
It is well known that M$ products don't call free() after a malloc().
The Unix community wish them good luck for their future
developments.
--------------857D8BC8D15F1834F5603382
X-Mozilla-Status2: 00000000
Message-ID: <376E418A.67F11AF1@coldserver.com>
Date: Mon, 21 Jun 1999 13:43:38 +0000
From: Vandoorselaere Yoann <yoann@coldserver.com>
X-Mailer: Mozilla 4.6 [en] (X11; I; Linux 2.2.9 i686)
X-Accept-Language: en
MIME-Version: 1.0
To: Marc SCHAEFER <schaefer@alphanet.ch>
Subject: Re: Vgetty question
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
What i suggest :
rewrite all of the vgetty code...
Act as a modem server ( it already does ).
Act as an application server ( application connect to vgetty and passes
their command,
vgetty simply execute it... )
Exemple :
call X in voice mode
use local handset for --->
communication ( modem
microphone & speaker ) (vgetty
handle
the command)---> AT#XXXXX
End User application ---------> Vgetty -------------> Modem
******************** ****** ******
Made simple for an user to add a new type of modem...
( We don't have to edit source for such operation )...
If you're understanding what i say,
and you're agree with that, i'm ok
to help implementing such thing ( apps server, modem config... )
Bye...
Really, my only hope is to see good support of all
kind of voice modem thing under UNIX...
Ready to start coding guys :-)
Keep in touch...
--
-- Yoann
It is well known that M$ products don't call free() after a malloc().
The Unix community wish them good luck for their future
developments.
--------------857D8BC8D15F1834F5603382
X-Mozilla-Status2: 00000000
Message-ID: <376E6064.A6712F43@coldserver.com>
Date: Mon, 21 Jun 1999 15:55:16 +0000
From: Vandoorselaere Yoann <yoann@coldserver.com>
X-Mailer: Mozilla 4.6 [en] (X11; I; Linux 2.2.9 i686)
X-Accept-Language: en
MIME-Version: 1.0
To: Marc SCHAEFER <schaefer@alphanet.ch>
Subject: Re: Vgetty question
References: <Pine.LNX.3.96.990621153039.12208A-100000@vulcan.alphanet.ch>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Marc SCHAEFER wrote:
>
> On Mon, 21 Jun 1999, Vandoorselaere Yoann wrote:
>
> > An end user is working on this workstation...
> > The phone start ringing...
>
> At each ring, vgetty launches the cnd program script, which can
> communicate with an X application. After N rings, cnd program
> can decide to take over the call.
>
> What you say is implementable without changing a line to vgetty,
> just by implementing appropriate cnd program.
>
> > Do you want to answer or to leave the answering machine answer ?
>
> How do you answer ? If it's by phone, it's implementable today. If it's a
> bidirectionnal communication through the modem, vgetty and a sound card,
> it will not work, since
>
> 1. vgetty does not support bidirectionnal mode
> 2. most modems do not support it either.
>
> > it open the gnome app, enter the number and click on dial..
>
> Same problem as above. If it's just to e.g. send a unique voice mail
> message, then it works already, through vm script (which locks the port
> with mgetty/vgetty automatically).
>
> > And, as far as i know vgetty is not capable to handle voice modem
> > conversation...
> > ( Use your modem to talk with your correspondant )...
>
> Nor are any modems, or are there any ?
Nope your wrong,
the big majority of *voice* modem support VOICE COMMUNICATION
trought the modem
( and without the sound card... using the modem mic &
modem speaker)
Eg :
with a realtek based voice modem :
at#cls=8
at#vls=6
ata
and you're ok
--
-- Yoann
It is well known that M$ products don't call free() after a malloc().
The Unix community wish them good luck for their future
developments.
--------------857D8BC8D15F1834F5603382
X-Mozilla-Status2: 00000000
Message-ID: <376E60D1.895D5361@coldserver.com>
Date: Mon, 21 Jun 1999 15:57:05 +0000
From: Vandoorselaere Yoann <yoann@coldserver.com>
X-Mailer: Mozilla 4.6 [en] (X11; I; Linux 2.2.9 i686)
X-Accept-Language: en
MIME-Version: 1.0
To: Marc SCHAEFER <schaefer@alphanet.ch>
Subject: Re: Vgetty question
References: <Pine.LNX.3.96.990621153410.12208B-100000@vulcan.alphanet.ch>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Marc SCHAEFER wrote:
>
> On Mon, 21 Jun 1999, Vandoorselaere Yoann wrote:
>
> > rewrite all of the vgetty code...
>
> If you want to do it, while still remaining compatible with mgetty so that
> fax, data and PPP calls can still be handled automatically, including also
> the use of dial-out programs, feel free to do it.
>
> However, at this time I prefer to concentrate on making existing tools,
> such as mvm, better, and in fixing the low-level modem library bugs.
Ok !!!
But made an useable library !!!
I don't want to use shell script to communicate with an external X
program...
Cause it will be hard to understand from an "end user" point of view..;
Please, say me what you think...
--
-- Yoann
It is well known that M$ products don't call free() after a malloc().
The Unix community wish them good luck for their future
developments.
--------------857D8BC8D15F1834F5603382
X-Mozilla-Status2: 00000000
Message-ID: <376E6327.6BFA619C@coldserver.com>
Date: Mon, 21 Jun 1999 16:07:03 +0000
From: Vandoorselaere Yoann <yoann@coldserver.com>
X-Mailer: Mozilla 4.6 [en] (X11; I; Linux 2.2.9 i686)
X-Accept-Language: en
MIME-Version: 1.0
To: Marc SCHAEFER <schaefer@alphanet.ch>
Subject: Re: Vgetty question
References: <Pine.LNX.3.96.990621153039.12208A-100000@vulcan.alphanet.ch>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Marc SCHAEFER wrote:
>
> On Mon, 21 Jun 1999, Vandoorselaere Yoann wrote:
>
> > An end user is working on this workstation...
> > The phone start ringing...
>
> At each ring, vgetty launches the cnd program script, which can
> communicate with an X application. After N rings, cnd program
> can decide to take over the call.
>
Cnd program ?
Never heard anything about that...
What is it ? How do you define it ?
> What you say is implementable without changing a line to vgetty,
> just by implementing appropriate cnd program.
>
> > Do you want to answer or to leave the answering machine answer ?
>
> How do you answer ? If it's by phone, it's implementable today. If it's a
> bidirectionnal communication through the modem, vgetty and a sound card,
> it will not work, since
>
> 1. vgetty does not support bidirectionnal mode
> 2. most modems do not support it either.
You're missing the point :
1: Ok
2: Completly wrong, Most voice modem support it ( but input sound come
from
the modem microphone; not from the sound card )
>
> > it open the gnome app, enter the number and click on dial..
>
> Same problem as above. If it's just to e.g. send a unique voice mail
> message, then it works already, through vm script (which locks the port
> with mgetty/vgetty automatically).
>
> > And, as far as i know vgetty is not capable to handle voice modem
> > conversation...
> > ( Use your modem to talk with your correspondant )...
>
> Nor are any modems, or are there any ?
All USR Sportser *voice* & Rockwell *voice* based modem support it
--
-- Yoann
It is well known that M$ products don't call free() after a malloc().
The Unix community wish them good luck for their future
developments.
--------------857D8BC8D15F1834F5603382
X-Mozilla-Status2: 00000000
Message-ID: <376E72EF.DE3ED328@coldserver.com>
Date: Mon, 21 Jun 1999 17:14:23 +0000
From: Vandoorselaere Yoann <yoann@coldserver.com>
X-Mailer: Mozilla 4.6 [en] (X11; I; Linux 2.2.9 i686)
X-Accept-Language: en
MIME-Version: 1.0
To: Marc SCHAEFER <schaefer@alphanet.ch>
Subject: Re: Vgetty question
References: <Pine.LNX.3.96.990621165241.14149B-100000@vulcan.alphanet.ch>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Marc SCHAEFER wrote:
>
> On Mon, 21 Jun 1999, Vandoorselaere Yoann wrote:
>
> > I don't want to use shell script to communicate with an external X
> > program...
>
> You missed the point. The X program can communicate e.g. to a socket
> endpoint, where SOMETHING is located. The something can be C, shell,
> perl, whatever.
>
> > Cause it will be hard to understand from an "end user" point of view..;
>
> Enduser doesn't care about implementation.
>
> > Please, say me what you think...
>
> Everything you said *is* implementable *today* within the current vgetty
> design limitations, except bidirectionnal voice support.
But this is what I ( and many end user too ) want to devellop...
Yes voice frame are currently supported ( send & receive at the same
time )!!!
This is not complicated,
You use the modem LOCAL HANDSET to communicate on the phone line...
( Not the sound card )...
So explain me how i can do, if vgetty run on my system, to communicate
with my modem from another application...
I've tryed, and the application ( read/write ) was fucked up;
as well as vgetty ( but vgetty restored modem state when my apps exit
)...
Please, help to find a way to do this cleanly
:-)
--
-- Yoann
It is well known that M$ products don't call free() after a malloc().
The Unix community wish them good luck for their future
developments.
--------------857D8BC8D15F1834F5603382
X-Mozilla-Status2: 00000000
Message-ID: <376E7851.B5D4EE8E@coldserver.com>
Date: Mon, 21 Jun 1999 17:37:21 +0000
From: Vandoorselaere Yoann <yoann@coldserver.com>
X-Mailer: Mozilla 4.6 [en] (X11; I; Linux 2.2.9 i686)
X-Accept-Language: en
MIME-Version: 1.0
To: Marc SCHAEFER <schaefer@alphanet.ch>
Subject: Re: Vgetty question
References: <Pine.LNX.3.96.990621170010.14238A-100000@vulcan.alphanet.ch>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Marc SCHAEFER wrote:
>
> On Mon, 21 Jun 1999, Vandoorselaere Yoann wrote:
>
> > So explain me how i can do, if vgetty run on my system, to communicate
> > with my modem from another application...
>
> For your application you
> 1. need to enable microphone <-> modem direct link
> (this is a small change to vgetty presumably, this is much
> easier/possible than microphone <-> soundcard <-> modem)
On rockwell, enabling mic -> modem -> phone line
and phone line -> modem -> speaker
is done by the command : at#vls=6
> 2. use cnd script with new ring count option
Always, i've not saw anything about cnd
> 3. design a small X11 program which is signaled through a socket
> by cnd script when call arrives, and also can tell cnd script
> to ignore call, or enable the special microphone mode.
>
> So, there is some vgetty work involved, basically implementing completely
> the ring count, and the microphone <-> modem special mode. That's all.
> Then you need to implement a C program or shell script for CND program
> functionnality, and the communication method between it and X11 program,
> and the X11 program.
>
> For dialout, you would use the same voice shell commands (dial, then
> microphone <-> modem), but this time through vm.
Please, we *REALLY NEED* a library :-(
This is really dirty...
You, guy, who know vgetty well...
Just group modem fonction in a library...
Do you think that all modem programmer will bother writing such
implementation
( use another program to call, etc etc...)
Why do not implement a client server in vgetty ???? Damn tell me why (
and i'm ready
to start coding with you, if you want ).
exemple : libmode.so :
which as function like modem_open(), modem_set_voice().
and this library is linked to the dependant driver for each modem (
libvoice )
automatically it select the good driver to use...
>
> If you don't understand the concept, I suggest you try to play with
> a small voice script (dtmf.sh in contrib).
I'm understanding the concept cause i'm hacking vgetty for 1 week now,
and i'd like to bother me on other thing that are not : "i must find a
solution..."
Keep in touch... What do you think ( as always )
--
-- Yoann
It is well known that M$ products don't call free() after a malloc().
The Unix community wish them good luck for their future
developments.
--------------857D8BC8D15F1834F5603382--