Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Hardware

Distinctive Ring Aware Modems And GNU/Linux? 22

toughguy asks: "I've got a single phone line with three numbers attached to it. The three numbers make three different rings when they are called ("Distinctive Ring Service"). I'm trying to get a Linux machine (RedHat) to answer only on one of the distinctive rings so that it can receive faxes on that line. So far I haven't had any luck. I'm wondering if anyone has been able to get a Linux machine answering distinctive rings. If so, what modem hardware were you using and what software package as well?"
This discussion has been archived. No new comments can be posted.

Distinctive Ring Aware Modems And GNU/Linux?

Comments Filter:
  • use with mgetty+sendfax.
  • Do you want the computer and modem to answer the phone no matter which of the three (virtual) lines rings? Do you want it to emulate a fax machine for one line, an answering machine for another, and something else for the third? Do you have anything else hooked up to that phone line besides the modem, like, for instance, a real telephone? What's the price difference between having one copper pair that answers to 3 different identities of the form (xxx) xxx-xxxx and having 3 actual copper pairs, each with its own unique (xxx) xxx-xxxx?
  • by waldoj ( 8229 ) <waldo@@@jaquith...org> on Wednesday July 18, 2001 @10:11PM (#76513) Homepage Journal
    AT-SDR=4

    Sending that command to your modem (presumably as part of the init. string) will tell your modem only to answer on a triple ring. It will report this as "RING 3." If you wanted it only to work for the single rings, you'd use AT-SDR=1 ("RING 1") and for dual rings, AT-SDR=2 ("RING 2".) Some modems will send "RING A," "RING B," etc. -- I gather that there's no such thing as a standard message for this.

    Some of the places that I gathered this from include Motorola [motorola.com], FaxTalk [faxtalk.com], Fosh Australia [fosh.com.au] and Dell Europe [dell.com]. This google [google.com] was the most useful one.

    Good luck -- you should have pretty much all of the info that you need at this point, I hope.

    -Waldo
  • by waldoj ( 8229 ) <waldo@@@jaquith...org> on Wednesday July 18, 2001 @11:52AM (#76514) Homepage Journal
    It's been a while since I ran my BBS (ObReminisce: Aahhh, yes...those were the days), but lemme see if I can think my way through this one.

    If you're using one of many modems that supporting distinctive ring (that feature was quite common Back In The Day, I can only assume that it still is), then you should be able to use AT settings, if such things still exist, to echo something aside from "RING" when the phone rings. "RING 0," "RING 1," etc. When mgetty is looking for activity, I think it just looks for "RING" and answers. You should be able to modify mgetty to only answer upon seeing "RING 0".

    It ain't a link to an RPM, but it's something. :)

    -Waldo
  • I found some information about an extension to mgetty, called vgetty. This might be what your after. See here [jhu.edu]. I'm sure there's more information, but I thought I'd leave that up to you.
  • You could try at lhd.zdnet.com [zdnet.com]
  • Here [greenie.net] is the main site for vgetty.
  • OK, now I have to wonder if there's a list of modems with this distinctive ring feature someplace?

    --
    Vote Socialist [votesocialist.org] or quit whining!

  • So, just to be clear this isn't "another gay-ass Ask Slashdot that could've been answered in 5 seconds if the poster had figured out how to use Google".

    Obviously you think this or you wouldn't be asking the question. However, this isn't far from the truth :-(. First of all, the program you probably want to use is mgetty which is included with Red Hat. In 7.1 there are four mgetty packages on the second disk. You definitely want mgetty installed, and probably mgetty-voice if you intend to use this as an answering machine type system. Now, I have browsed through the documentation directories for mgetty and I do agree it is pretty lame. In addition trying to search for mgetty is not very helpful. The first result returned from google is http://www.leo.org/~doering/mgetty/ which seems to be about the best reference you will find (so google seems to be doing its job). However the distinctive ring is buried in the caller-ID section and I am not exactly sure how to go about getting this to work. My advice is to read the docs thoroughly and also look for comments in the config files. There is also a mention in an mgetty FAQ on faqs.org of a mailing list for mgetty. You will probably get a better response on a mailing list for the software than on a general forum such as slahsdot.

    A few things you should know is how to put your modem into distinctive ring mode. You will probably need to change an S register so that the modem will report RING 1, RING 2, RING 3, etc. instead of just plain RING. Use minicom to test this out. You may be able to do an AT$ or ATS$ to get lists of commands (works on USR modems, and I think also some Winmodems have something similar, maybe just the USR/3com ones.

    I hope that helps you out in your quest. If nothing else start viewing the mgetty source and if necessary patch it to better support distinctive ring. Or maybe it has good support but is just poorly documented, so document it so the next guy can figure it out.

  • Whoa there, toughguy (heh). Nobody's accusing you of not doing your homework. Both your question and the hardware answer are interesting. Personally I hadn't known until now that such devices exist.

    Judging by your response, though, you seem to be looking for a software-only solution. That said, I think the hardware answer should probably work for what you're trying to do if the computer is only supposed to handle *one* of the ring-types. Of course, if you want, one of the ring-types to be a fax line, and the other, say, a bbs, all handled by the same computer, you'd either need two modems or a software solution.

    "Intelligence is the ability to avoid doing work, yet getting the work done".
  • I was ready to suggest something along these lines, but you beat me to it! ;)

    I should probably add that for playing around with things like this, minicom is the best terminal program to use in Linux. Hopefully it's still bundled with most of the distros out there. Use it to send the appropriate AT commands to your modem, and then dial the number from an outside line. If it's all working as expected (and you don't have auto-answer turned on!), you should see "RING 0", "RING 0", ... appearing in the terminal for each ring of the phone line.

    Now, there may even be a way to get a modem to identify distinctive rings if it doesn't support them, although this will take a lot of magic and a bit of coding. Since most "distinctive" rings are done by spacing the actual rings of the phone line in groups, you could possibly set a timer to measure the timing in between each time the modem sends "RING" into the serial port. Based on the grouping and timings, it might be possible to identify the different distinct rings. This'd probably require a fairly hefty customization of mgetty, though, to get it to work reliably, assuming it can be done at all.

    "Intelligence is the ability to avoid doing work, yet getting the work done".
  • by Snowfox ( 34467 ) <snowfox@NOsPaM.snowfox.net> on Wednesday July 18, 2001 @09:29AM (#76522) Homepage
    There are many hardware solutions [yahoo.com] available which only route a ring signal to a phone jack if the appropriate ring style is detected.
  • Given your statement:
    I'm trying to get a Linux machine (RedHat) to answer only on one of the distinctive rings...

    The first thing I thought of was a hardware solution also. You said you want the machine to answer only one of the rings, which would make a software distinctive ring solution irrelevant. More clear wording in the original question might (should) have avoided this tangent. Then again, at least one person found this added info to be useful.

    I find it interesting to see discussion of Distinctive Ring these days, since it seems less common (i.e., people seem less aware of it now). I found it a very useful feature in the 90s, but no longer need it. (And yes, that means I have related hardware for sale [haggle.com]... {grin})

  • To answer the posters question, I think this will likely need some programming or at least scripting. Generally, what you would want is a modem which does ring detection, probably a voice modem, and have a script watch for the distinctive ring report from the modem. RING 0, etc., depending on the modem. When it sees it, launch an appropriate program.

    However, the problem I'm running into is finding a PCI-based Non-Winmodem which does voice. I have a similar application I need to find one for. Everyone recommends the Zyxel modems, but they don't currently make an internal model, and as far as I can tell the 1496 was only available in ISA. For my app, this must be internal as it's going in a rack mount environment where we pay per rack inch.

    From what I can tell, the vast majority of the PCI Voice modems out there are WinModems. I happen to be a FreeBSD user, so of course I need a real "hardware modem".

    Maybe one of the other readers can shed some light on this....

    --

  • I think an appropriate question for someone with more technical background than I would be whether or not more than one program can watch for a ring at once. I would think there would be a device locking mechanism. If so, the answer lies in software that routes this stuff, or a single program that does it all. Thats just my 2 cents.
    -Hyperbolix
  • Open a terminal, (pass strings to your modem)

    Some common commands are:
    Rockwell chipset: AT-SDR=7
    Conexant chipset: AT+VDR=1,5
    Lucent chipset: AT+VDR=1,10
    US Robotics chipset: ATS41=1


    Hope this helps!!
  • by mjisgod ( 242501 ) on Wednesday July 18, 2001 @08:42PM (#76527)
    this person uses mgetty http://mail-index.netbsd.org/current-users/2001/06 /27/0023.html [netbsd.org]

    I know its not directly for Linux, but this piece of mail may you give you some help or direction.
    You may even get useful info from the author of the mail if you ask nicely.
  • It is signifigantly cheaper to have one copper pair that answers to 3 different numbers than 3 copper pairs. It can also be difficult to run an extra line, etc.

    So there is some benefit to what the poster asks.

    I would suggest that the best course of action is to pick a non-winmodem modem and ask the manufacturer how to use the distinctive ring. I browsed through the docs for the Omni 56k series and they support things. They have a very nice manual that tells you everything you could possibly want to know about using all of the different modes. The distinctive ring is pretty straightfoward. You tell it which rings you want it to answer. If you pick only one, it will answer just that ring. If you pick more than one, it will answer with ring numbers.

    So it might take a short hack or two, but it doesn't look that annoying.
  • Correct me if I'm wrong, but I don't think just mgetty will be enough if voice mail is wanted. The vgetty extensions will also be needed.

    I never set my system up to do this, but I was considering doing so, and looked at some of the documentation. The parent post here is essentially correct. You will need to pass a setup string to the modem to set distinct ring capability, and you have to add directives in the mgetty/vgetty configuration files to tell it what to do for each ring type.

    I know my old USR 33.6 Kbps modem had the capability, but I never exploited it.

    GreyPoopon
    --

  • by toughguy ( 451331 ) on Wednesday July 18, 2001 @06:01PM (#76530) Homepage
    To be clear, I want, ideally, to have one computer with Linux, with one modem and have the modem and software be able to handle the various rings (which mean various things) in various ways. So, for example the normal ring should be directed to voicemail software, distinct ring #1 should be directed to fax software, and distinct ring #2 should be able to be directed to a different voicemail box. All of this is done on one computer, with one physical phone line with distincitive rings enabled on it by the phone company and one modem.

    The reason for this Ask Slashdot then is that there is a certain co-dependency between the hardware and the software such that the hardware has to be able to recognize the distinctive ring and pass the apporpriate notification to the software. As yet I have not been able to get this to work, and so, I'm wondering what solutions you fine people may have come up with.
  • by toughguy ( 451331 ) on Wednesday July 18, 2001 @01:38PM (#76531) Homepage
    I hate feeding the trolls, but seeing as how I asked this question I feel I should defend my position.

    In this case, the links suggested by the poster are for the wrong type of product. Those products are phone switches which you attach separate physical devices to each output line for each distinctive ring line. That is not what I want to do. I want one physical device (my GNU/Linux machine) to be able to handle the various types of distinctive rings.

    So, just to be clear this isn't "another gay-ass Ask Slashdot that could've been answered in 5 seconds if the poster had figured out how to use Google".
  • Have you looked at the Zoom modems? Internal also doesn't preclude ISA, but I don't know if you're hardware has ISA slots available.

For God's sake, stop researching for a while and begin to think!

Working...