Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 80366
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo Dialup Developers <net-dialup@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Peter Hyman <pete4abw@comcast.net>
Add CC:
CC:
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
Lucent.c.patch Patch that allows Lucent-chip modems to recognize Caller ID patch Peter Hyman 2005-02-01 11:45 0000 814 bytes Details | Diff
voiceMakefile.patch Makefile patch for voice/ directory patch Peter Hyman 2005-02-10 14:33 0000 985 bytes Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 80366 depends on: Show dependency tree
Bug 80366 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2005-02-01 11:40 0000
the voice/libvoice/Lucent.c file omits code that allows Lucent Modems to detect
caller ID information. This two line modification permits the proper AT command
to activate caller ID detection. The code was taken from another modem library
file. The following two snippets from the vgetty log illustrates the benefits:

Prior to patch log entry:
01/31 18:52:43 ##### message keep, length=00:00:12, name='', caller=none,
dev=ttyS0, pid=6907

After the patch log entry:
02/01 14:23:35 ##### message keep, length=00:00:10, name='HYMAN PETER    ',
caller=1234567890, dev=ttyS0, pid=9160

Downstream voicemail apps like tkvoice will pull the caller ID info and use it.

Reproducible: Always
Steps to Reproduce:

Actual Results:  
Caller ID info shown


Patchfile will be attached.

------- Comment #1 From Peter Hyman 2005-02-01 11:45:41 0000 -------
Created an attachment (id=50160) [details]
Patch that allows Lucent-chip modems to recognize Caller ID

Enjoy!

------- Comment #2 From Torsten Veller 2005-02-10 05:21:16 0000 -------
Thanks Peter, i added it to net-dialup/mgetty-1.1.31-r1 - should be available
in an hour.

I would appreciate it if you test this version and report every issue. It is
package.masked atm.

------- Comment #3 From Peter Hyman 2005-02-10 11:54:02 0000 -------
The 1.1.31-r1 ebuild does not finish installation. The bottom line error is:

for i in ; do \
    install -c -m 755 $i /var/tmp/portage/mgetty-1.1.31-r1/image//var/spool/voice ;\
done
[ -f /var/spool/voice/.code ] || echo '12345' >/var/tmp/portage/mgetty-1.1.31-r1/image//var/spool/voice/.code
chgrp fax /var/tmp/portage/mgetty-1.1.31-r1/image//var/spool/voice/.code
chgrp: cannot access `/var/tmp/portage/mgetty-1.1.31-r1/image//var/spool/voice/.code': No such file or directory
make[1]: *** [vgetty-install] Error 1
make[1]: Leaving directory `/var/tmp/portage/mgetty-1.1.31-r1/work/mgetty-1.1.31/voice'
make: *** [vgetty-install] Error 2

!!! ERROR: net-dialup/mgetty-1.1.31-r1 failed.
!!! Function src_install, Line 103, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.

1.1.31 compiled and installed fine

------- Comment #4 From Peter Hyman 2005-02-10 12:14:40 0000 -------
[ -f /var/spool/voice/.code ] || echo '12345'
>/var/tmp/portage/mgetty-1.1.31-r1/image//var/spool/voice/.code

tests an existing installation. As I was upgrading, .code was not recreated and
therefore the ensuing chgrp commang failed since .code was not there!

chgrp fax /var/tmp/portage/mgetty-1.1.31-r1/image//var/spool/voice/.code

I think the correct way to do this would be to bracket the entire test as an if
statement. Something like this:
voice/Makefile line 121

       if [ -f /var/spool/voice/.code ] 
          echo '12345' >$(VOICE_DIR)/.code
          chgrp $(PHONE_GROUP) $(VOICE_DIR)/.code
          chmod $(PHONE_PERMS) $(VOICE_DIR)/.code
          chmod 660 $(VOICE_DIR)/.code
        fi
        if [ -f /var/spool/voice/messages/Index ] 
          echo 'put_filename_here' >$(VOICE_DIR)/messages/Index
        fi

Because the install script assumes it's installing in the final location
instead of using DESTDIR. This alleviates that problem!

------- Comment #5 From Peter Hyman 2005-02-10 14:33:06 0000 -------
Created an attachment (id=50952) [details]
Makefile patch for voice/ directory

These small changes test for the existence of a .code file in /var/spool/voice
and for an Index file in /var/spool/messages. If these files DO exist, the
current make install breaks. This test will avoid this breakage. (Hope the
syntax is OK), works for me!

------- Comment #6 From Peter Hyman 2005-02-10 14:33:30 0000 -------
Lucent patch works, btw.

------- Comment #7 From Torsten Veller 2005-02-11 08:10:01 0000 -------
Thanks for your feedback, Peter!

I have two questions. Maybe you can answer them (or don't you use the voice part at all)?

1) Do you use the .code file?
 I seems to be used by a script not even installed right now.
 And it seems to be risky to install it with predefined content.
 | /var/spool/voice/.code
 |      Access code for remote playback of messages  using  the  dtmf.sh
 |      script
 
 I would like to remove it.

2) messages/Index -- does it need to be present?


The patch doesn't work (as well as my upgrade patch was not correct too):
- can't be done at compile time because it can be different machines.
- the path must be prefixed with ${ROOT}

------- Comment #8 From Peter Hyman 2005-02-11 08:29:59 0000 -------
Short answer to your two questions: 1) NO 2) NO. However, read on...

1) Do you use the .code file?
No, but it IS important. If not there, a user can't call from a remote location to grab messages.

I seems to be used by a script not even installed right now.
And it seems to be risky to install it with predefined content.
 | /var/spool/voice/.code
 |      Access code for remote playback of messages  using  the  dtmf.sh
 |      script

dtmh.sh in in the voice/scripts directory with many other examples and it IS mentioned in the voice.conf file. It IS needed. I packaged this for slackware and what I did was dump the samples into /usr/share as follows:

/usr/share/mgetty
    /frontends
    /patches
    /samples

/usr/share/vgetty
    /contrib
    /Perl
    /scripts

and I add voice.conf-dist in the /usr/share/vgetty dir also.

While you CAN omit installing .code during the initial install, you should not delete or overwrite it.  The problem is that the Makefile is broken when it tests for .code AND finds it! That's what my patch was for. If you omit .code installation, that's fine, but you should seriously consider including the share/ directories I noted.

2) messages/Index -- does it need to be present?
Technically, no. It IS used to sequence messages that are played back to a caller. It IS documented, and noted in the voice.conf file.

I understand your problem and concern though.

Happy to help anyway I can...

------- Comment #9 From Torsten Veller 2005-02-14 14:52:30 0000 -------
replaced mgetty-1.1.31-r1 with a new version -- this one will install and it
will no longer create/replace /var/spool/voice/.code and
/var/spool/voice/message/Index.
Additional scripts are installed into /usr/share/mgetty too.

Please test again -- feedback is welcome.

------- Comment #10 From Peter Hyman 2005-02-16 01:58:54 0000 -------
Sorry it took me a bit to review the changes. They worked fine, and I liked the
message at the bottom -- although it's not really necessary since 1) anyone
that already has the files doesn't need to know this, and 2) they are just
dummy files anyway, so anyone who needed them would have to add them.

However, there is one additional item and that is the ownership and permissions
of the /var/spool/voice and /var/spool/fax directories.

/var/spool/voice should be root:modem
/var/spool/fax should be root:fax

currently it looks like you have only /fax/incoming as root:fax, but really all
group users will need outgoing too IMO. 

I'm not an expert on these ebuild macros, but you might want to change
ownership for voice and fax as they are being installed.

        diropts -m 0755 -o root -g modem
        keepdir /var/spool/voice/incoming
        keepdir /var/spool/voice/messages
        diropts -m 0755 -o root -g fax
        keepdir /var/spool/fax/outgoing/locks
        keepdir /var/spool/fax/incoming

Lastly, you should add an einfo note that users will have to be made members of
either or both the fax and modem groups to use fax and voice mail!

einfo Note that users who wish to use the fax capabilities must be members of
the group fax and users who wish to use the voicemail capabilities must be
members of the group modem in order to access files!
einfo use usermod joe -G users,....,fax,modem or similar.

something like that. 

I noticed you added the mgetty subdirectories I suggested, but you omitted the
vgetty ones. They are important!

/usr/share/vgetty
    /contrib
    /Perl
    /scripts

I had added them to a unique directory as above, but I suppose you could add
them to the mgetty tree too under vgetty.

Looks good!

------- Comment #11 From Alin Năstac 2005-04-19 14:14:51 0000 -------
version bumped to 1.1.33
changes are:
 - group modem is no longer created as it was never used in the first place.
 - default config files use fax:fax as owner:group
 - /var/spool directories are created with -m 0750 -o fax -g fax 
 - info messages in postinst

note: the requested content of dir /usr/share/vgetty is installed into /usr/share/mgetty/voice

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug