Rev | Author | # | Line |
---|---|---|---|
2 | JohnMcPherson | 1 | ! Introduction |
1 | JohnMcPherson | 2 | These notes briefly describe what I did to get my old pentium machine running [Debian] to answer my phone and record messages. |
3 | |||
4 | apt-get install mgetty mgetty-voice mgetty-pvftools | ||
2 | JohnMcPherson | 5 | |
6 | I believe RedHat uses the name vgetty instead of mgetty-voice. | ||
1 | JohnMcPherson | 7 | |
3 | JohnMcPherson | 8 | mgetty(8) means "modem getty(8)", and the pvftools allow you to play/record/convert audio into the specific modem audio formats. |
1 | JohnMcPherson | 9 | |
10 | I tried and failed to get it to work with a USRobotics Sportster 33 and a Dynalink modem, but got it working with a USRobotics "56k Voice Faxmodem". | ||
2 | JohnMcPherson | 11 | |
12 | ! Audio Formats | ||
4 | WikiAdmin | 13 | A bit of background on the audio file formats. __.pvf__ is an [WLUG:Acronym] for __P__ortable __V__oice __F__ormat. It is an intermediate format used by mgetty-voice. You can convert (mono) __.wav__ (MS Wave) audio files using wavtopvf. You can then use pvftormd to convert from .pvf to the modem specific __.rmd__ format files. One caveat is that (at least for me) the audio needs to be mono and at 8000 Hz. So, I recorded a wave file of my answerphone message, and then converted it as follows: |
2 | JohnMcPherson | 14 | |
15 | # convert to mono (one channel), 8000Hz | ||
16 | sox recording.wav -c 1 -r 8000 greeting.wav | ||
17 | # convert to pvf (32 bits per sample is default) | ||
18 | wavtopvf -16 greeting.wav > greeting.pvf | ||
19 | # convert to modem-specific rmd file | ||
20 | pvftormd US_Robotics 1 < greeting.pvf > greeting.rmd | ||
21 | |||
22 | You can use pvfspeed to change the sample rate if you don't have sox: | ||
23 | pvfspeed -s 8000 greeting.pvf | pvftormd US_Robotics 1 > greeting.rmd | ||
24 | |||
25 | |||
26 | ! Running Vgetty | ||
27 | The standard way to run vgetty is from init(1). Add to/modify /etc/inittab to have a line such as: | ||
28 | T0:23:respawn:/usr/sbin/vgetty ttyS0 | ||
29 | for a modem on the first serial port, or | ||
30 | T1:23:respawn:/usr/sbin/vgetty ttyS1 | ||
31 | for the second serial port. | ||
32 | |||
33 | ! Configuring Vgetty | ||
34 | The main configuration file in debian is /etc/mgetty/voice.conf | ||
35 | The file has lots of comments telling you what all the settings mean and do. The settings I found most useful: | ||
36 | |||
37 | program vgetty | ||
38 | # Default number of rings to wait before picking up the phone. | ||
39 | rings 7 | ||
40 | |||
41 | # This means you can get vgetty to see if an incoming call is | ||
42 | # a telephone, and if not you can pass it to a fax program and/or | ||
43 | # modem program (such as mgetty :) | ||
44 | answer_mode voice:fax:data | ||
45 | |||
46 | # use my custom script instead of just the default, which is to | ||
47 | # play the greeting message, beep, and record | ||
48 | call_program custom_answer_script | ||
49 | |||
50 | The custom_answer_script is basically written in sh (script). Mine allows you to press a number based on who you want to leave a message for. And also allows you to press a button to stop the answerphone script, if it answers at the same time as you picking up the phone! The only thing I haven't worked out is how to stop the script if the caller hangs up... I end up with a short recording of the busy signal... | ||
1 | JohnMcPherson | 51 | |
52 | To Be Continued.... | ||
5 | SmittyJohn | 53 | |
54 | ! Re: The LUGs automated google message (which is sweet) | ||
55 | |||
56 | Although I have not installed anything yet, I wanted to add a post pointing others in the same direction I am moving in. I am attempting to find a telephone solution similar to Ovolabs Phlink http://www.ovolab.com/phlink/. Phlink is a very friendly, scriptable, telephone answering system. Unfortunently Phlink is Mac OS X only. However http://www.vocpsystem.com/ appears very similar, and will run on just about any *nix. I like the wiki, greetings from Tacoma, Washington and http://taclug.org. |
lib/plugin/WlugLicense.php (In template 'html'):99: Warning: Invalid argument supplied for foreach()
lib/plugin/WlugLicense.php (In template 'html'):111: Warning: in_array() [<a href='function.in-array'>function.in-array</a>]: Wrong datatype for second argument