an HTTP agent for placing and receiving telephone calls

Replies:

  • None.

Parents:

  • None.
The lack of tel: and irc: support in the web has itched
me for the longest time; after writing/whining about it
a bit...

 Real-Time Resources in the Web
 http://www.w3.org/2001/01/rtriw44
 Sat, 13 Jan 2001 17:05:51 GMT

I finally scratched the itch with some hacking...


[[[
telagent

an HTTP agent for placing and receiving
telephone calls

This telagent integrates telephones as resources in the web, using
the tel: scheme; see Real-Time Resources in the Web for details; the
basic idea is:

 1.your web user agent should handle a link to W3C's MIT office
    phone (NS) kinda like a mailbox link: offer to dial to it.
 2.caller-id should make the phone a little more like email: you
    can tell who it's from before you answer it, and you can answer
    it any time later with one click.

Start it going ala:

python telAgent.py /dev/ttyS3 491-0501 8501 ~/.phoneLog >~/.phoneHTTPlog

and it will

    open a connection to the modem (/dev/ttyS3) and log caller-id
    info
    listen on port 8501 for HTTP requests:
        GET / shows a log of the caller-id info with
             incoming numbers linked to their tel: addresses for
             easy call-back
             additional info about the area code
        GET tel:... shows an offer (a form) to dial to that phone;
        for north american numbers, it shows timezone info and,
        based on that, the current time there.
        POST /dialer with dialAs and target args dials the phone
        (and writes a log entry)
        POST /dialer with an empty dialAs hangs up the phone

TODO

    let incoming calls spawn new windows:
        turn incoming caller-id info into HTTP POST events that
        you can subscribe to (ala KnowNow)
        an HTTP agent that responds to POST requests by
        bringing up web pages on the desktop.
    along with "dial this number" requests, support "... and start
    recording the resulting conversation"; in general, handle
    follow-up after dialing
    load (some of) the caller-id log from disk on start-up, and
    purge some of it from memory after a while.

Bugs/Limitations

Netscape, unfortunately, doesn't support proxying tel:... URIs; in
fact, it doesn't recognize them as absolute URIs. You can, however,
(ab)use the urn: proxy support; try this automatic proxy
configuration for urn:tel: URIs, and then try W3C's MIT office
phone, rigged with netscape work-around.

My tel: handler is limited to localhost (127.0.0.1); I haven't figured
out a good way to get the absolute URI of the dialer to the right
parts of the code.

There's an abstract TelnumNav class for figuring out what digits to
call to get from this phone to the phone identified by some URI; the
subclass I've implemented is the rules for dialing from 913 in
Kansas (which is pretty much like any place else in the U.S., except
for 816 numbers).

Architecture and Requirements

medusa
    Sam Rushing's cooperative multi-tasking server architecture

    I just downloaded medusa-src-20000601.tar.gz and
    unpacked it and then used

    PYTHONPATH=/medusa's/parent/dir python ...

    to help python find it

Acknowledgements and References

conversation with David Boles... JWZ's caller-id thingy...

found cid 17Dec2000; it's a client/server caller-id thingy in python

    URLs for Telephone Calls, A. Vaha-Sipila , April 2000
    tel: in An Index of WWW Addressing Schemes
    modems.com -- Extended AT Command Sets
    Fri, 31 Jul 1998 21:06:12 GMT
    Zoom Telephonics: Dualmode Zoom/FaxModems 56K, 56Kv,
    and 56Kx
    Thu, 01 Jun 2000 12:31:55 GMT

Dan Connolly
$Revision: 1.2 $ of $Date: 2001/01/14 06:38:53 $ by $Author: connolly $
]]]

--        2001/telagent/
http://dev.w3.org/cvsweb/2001/telagent/#dirlist
Thu, 01 Jan 1970 00:00:00 GMT


--
Dan Connolly, W3C http://www.w3.org/People/Connolly/

HURL: fogo mailing list archives, maintained by Gerald Oskoboiny