US 20070282973 A1
Methods of receiving audio transmissions over a telecommunication connection, extracting information about the transmissions, and publishing the information to an RSS feed are described and claimed. Systems and software using the methods are also described and claimed.
1. A method comprising:
receiving a transmission via an audio telecommunication connection;
extracting information about the transmission; and
publishing the information to a syndication feed.
2. The method of
3. The method of
storing data derived from the transmission in a mass storage system, the data to be accessible via a Uniform Resource Locator (“URL”) included with the information published to the syndication feed; and
transmitting the data to a client that requests the URL.
4. The method of
5. The method of
transmitting one of a reduced-size image of a page of the facsimile transmission or an excerpt from a page of the facsimile transmission with a syndication feed item.
6. The method of
7. The method of
8. The method of
9. A system comprising:
a computer to receive a facsimile transmission for a subscriber;
a Hypertext Transfer Protocol (“HTTP”) server to exchange data with a plurality of systems via a distributed communication network;
a storage device to store facsimile data; and
syndication logic to produce an RSS item describing the facsimile transmission if an RSS client of the subscriber requests an RSS feed Uniform Resource Locator (“URL”).
10. The system of
a data exchanger to convert a transmission over a telephone network into a digital form for the computer.
11. The system of
a telephone number of a sender of the facsimile transmission;
a station name of the sender of the facsimile transmission;
a time at which the facsimile transmission was received;
a number of pages received in the facsimile transmission; and
a Uniform Resource Locator (“URL”) to access the stored facsimile data.
12. The system of
13. The system of
an electronic mail server to transmit a notification of the facsimile transmission to an electronic mail address of the subscriber.
14. The system of
15. A machine-readable medium containing instructions to cause a programmable machine to perform operations comprising:
receiving a Hypertext Transfer Protocol (“HTTP”) request from a feedreader;
identifying a subscriber associated with the feedreader;
searching for stored telecommunication messages for the subscriber;
preparing a syndication item describing any stored telecommunication messages; and
transmitting the syndication item to the feedreader.
16. The machine-readable medium of
formatting the syndication item as an Extensible Markup Language (“XML”) document.
17. The machine-readable medium of
18. The machine-readable medium of
19. The machine-readable medium of
20. The machine-readable medium of
An embodiment of the invention relates generally to telecommunications services, and more specifically, to notification and delivery of voicemail and facsimile messages. Other embodiments are also described.
j2 Global Communications of Hollywood, Calif., offers a range of services that deliver traditional public switched telephone network (“PSTN”) voice messages and facsimile transmissions to the recipient using Multipurpose Internet Mail Extension (“MIME”) electronic mail (“e-mail”) and the Hypertext Transfer Protocol (“HTTP”). For example, one service accepts facsimile messages directed to a predetermined telephone number, and notifies a subscriber associated with the number by transmitting an e-mail message to the subscriber's e-mail box. After opening the e-mail message, the subscriber can view and/or download an image of the facsimile by accessing a web site identified by a link in the e-mail message with her web browser program. A second service accepts voice mail (audio) messages over the standard telephone connection and can notify the subscriber by sending an e-mail message to her, alerting her to call in to her voicemail box.
Embodiments of the invention respond to requests for summary aggregation items by preparing and transmitting structured documents containing information about recently-received telecommunication messages.
Embodiments of the invention are illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean “at least one.”
First, a telecommunication device such as a facsimile machine 100 or an ordinary telephone 105 transmits a message (in this case, a voice message or a facsimile) across public switched telephone network (“PSTN”) 310 to a computer server 115 in data center 120. Server 115 contains interface hardware such as a sound digitizer or facsimile modem to permit it to receive the audio signal carried by the PSTN, and software to control the hardware and to perform other operations discussed here.
The telecommunication message may be converted to a digital form for easier manipulation by server 115 (and other computers), and may be saved on a mass storage device such as hard disk 125. For example, a facsimile message containing images of one or more pages may be saved in a graphic format such as the Tagged Image File Format (“TIFF”), Graphic Interchange Format (“GIF”), Joint Photographic Experts Group (“JPEG”) format, Portable Network Graphics (“PNG”) format, or other similar format. Voice (audio) messages may be stored without compression (for example, as Windows™ Wave (“WAV”) files), with lossless compression (e.g. using the Free Lossless Audio Codec or “FLAC” format), or with lossy compression (e.g. as MPEG-1 Audio Layer 3 or “MP3” files). (“MPEG” stands for “Moving Picture Experts Group,” a working group of ISO/IEC, the International Standards Organization and International Electrotechnical Commission, in charge of the development of standards for coded representation of digital audio and video.) A more sophisticated embodiment could accept and store a message containing both audio and video data, such as might be produced by a video telephone (not shown).
Another server 130 in data center 120 may operate a web server 135 to respond to Hypertext Transfer Protocol (“HTTP”) requests from peer machines that connect to the server via a distributed data network 140 such as the Internet. The subscriber associated with a phone number on the PSTN that received the facsimile or voice mail message may configure client software on a device such as a mobile phone 150 or computer system 160, and the client may periodically poll web server 135 to obtain information about recently-received messages intended for the subscriber. When such a message has been received and stored, syndication logic (not shown) associated with web server 135 may prepare a specially-formatted reply to send in response to the client's polling request. The client may display information in the reply and the subscriber can review it and, if desired, retrieve the message or facsimile itself through another data connection to web server 135.
Those of skill in the relevant arts will recognize that the specific distribution of functions among systems shown in datacenter 120 is not significant. An embodiment of the invention may consolidate all functions onto a single system, distribute them across several systems, or even subdivide the functions into smaller units within the data center. Functions may be performed by geographically distributed systems. This may be favored when inbound messages are to be accepted at telephone numbers belonging to exchanges (area codes) that are located around the United States and/or around the world.
The Hypertext Transfer Protocol (“HTTP,” 260), which was originally developed to support the Worldwide Web envisioned by Sir Tim Berners-Lee, has become particularly widely adopted. The flexibility, power and common availability of its current feature set make it an attractive choice for carrying data for new end-user applications and a good basis for more specialized protocols.
One HTTP-refinement protocol that has become increasingly popular is used to aggregate information and notifications from a number of sources. RSS 270 (which may stand for “Really Simple Syndication” or “Rich Site Summary”) uses HTTP (or its more-secure sibling HTTPS) to retrieve an Extensible Markup Language (“XML”) document from an HTTP server. The XML document generally contains a synopsis of recent additions or resources available at a web site hosted by the server. RSS provides an efficient way to obtain a short summary of new material that may be of interest to a user, without requiring the user to retrieve and examine all the available material. This may be useful if the user has a small, limited capability device such as a mobile phone or personal digital assistant (“PDA”), which cannot display a large amount of information effectively. The user can examine the item synopses in the RSS feed and decide whether to seek out the full versions.
RSS feed items may describe new material available at a website or weblog (“blog”) 280 or new messages received for the subscriber through a telecommunication connection 290.
Client software to retrieve and display RSS feed items often aggregates a number of feeds into a single display. Thus, although a single feed may only contain items from one source, the small size and relatively uniform structure of RSS items permits a “feedreader” to prepare a consolidated view of news from a variety of disparate sources. RSS items conform to a relatively simple data structure, so it is possible to create feeds to deliver notifications of many different events, all of which may be consolidated and presented to a user through a single RSS client. This consolidation and uniform presentation may be desirable even for fully-featured client systems.
The facsimile is received 315 at a datacenter equipped with inbound telephone facilities (including facsimile modems to receive such transmissions) and converted to an electronic format 320 for more convenient storage. Facsimile data is often received in Tagged Image File Format (“TIFF”), but can be converted and stored in any convenient format. Useful formats include the Graphic Interchange Format (“GIF”), Joint Photographic Experts Group (“JPEG”), and Portable Network Graphics (“PNG”).
The facsimile data may be stored 325 and, in some embodiments, a notification may be transmitted to the service subscriber 330. This notification may be sent by electronic mail, a cellular phone or pager facility, or other mechanism. The notification may be considered a “push” notification, since it is sent after the facsimile is received, regardless of whether the service subscriber is ready or waiting for it.
In an independent sequence of events, the subscriber configures an RSS client program 340 to poll an RSS server at the datacenter. Subsequently, the RSS client periodically polls the server 350 to obtain RSS items describing newly-received facsimile messages. Eventually, after the facsimile is received and stored, the RSS client will poll the data center 360, and a server at the data center will prepare an RSS response 365 and transmit the response to the RSS client 375. The RSS client will display information about the received facsimile that was extracted from the facsimile or collected by the inbound facsimile server, and the subscriber can retrieve the document stored earlier 390.
As described in this sequence, the RSS feed is a “pull” system: the subscriber's RSS client issues periodic requests to an RSS server and receives new RSS items when they become available. Arranging to produce an RSS item in response to a client's periodic request is known as publishing the item to a syndication feed.
One aspect of the method described above bears closer consideration. Although many web sites offer their resources to any client, the facsimiles, voice and text messages, and other telecommunication events involved in an embodiment of the invention are usually intended for a specific recipient only. Thus, a publishing procedure that notified all clients about a message intended for only one client would be of little use. However, since RSS is built upon HTTP, the latter protocol's authentication functionality can be used to distinguish requests from various subscribers' feedreaders, and to restrict access to the intended recipient. A subscriber's RSS client should preferably be configured with a Uniform Resource Locator (“URL”) that selects items in the desired syndication format (discussed below), with a username or other identifier and, optionally, with a password, to permit the server that delivers the RSS item to identify and authenticate the RSS client. In one embodiment of the invention, the subscriber's telephone number may be used to identify the subscriber's RSS client. This may be the same number at which the incoming facsimile or voice message was initially received by the data center. In another embodiment, the subscriber's electronic mail address may be used to identify the subscriber's RSS client.
RSS items are commonly structured in accordance with one of a small number of specifications. An early RSS specification entitled RSS-0.91, by Dan Libby, was released Jul. 10, 1999. A more recent specification is RSS-1.0, described in a document released on Dec. 12, 2000 by members of the RSS-DEV working group. (The acronym “RSS” in RSS-1.0 stands for “RDF Site Summary,” where “RDF” itself is an acronym for “Resource Description Framework,” a “language for representing information about resources in the World Wide Web” recommended by the World Wide Web Consortium (“W3C”) in a document entitled RDF Primer (current revision dated Feb. 10, 2004)).
RSS-2.0 is a newer specification set forth by the RSS Advisory Board and first published by UserLand on Aug. 19, 2002. Updated versions have been proposed and adopted from time to time. Finally, the Atom Syndication Format has been described in a Request For Comments (“RFC”) document prepared by the Internet Engineering Task Force (“IETF”) (RFC4287, December 2005).
These specifications (RSS-0.91, RSS-1.0, RSS-2.0 and Atom) have a convoluted history, but all offer adequate functionality to support an embodiment of the invention. Conversely, an embodiment of the invention may support any or all of these syndication schemes by producing appropriately-formatted items in response to client queries. Typically, an RSS client selects the syndication format it desires by the Uniform Resource Locator (“URL”) it uses to access the RSS feed. For example, an RSS-1.0 client may request “http://www.example.com/rss-feed-1.xml”, while an RSS-2.0 client may request “http://www.example.com/rss-feed-2.xml” instead. Identification and authentication information may be appended to the URL or passed separately in a request header, as described in RFC2616, describing the Hypertext Transfer Protocol.
An RSS item may contain information such as the date and time a facsimile was received by the data center, the number of pages received, the telephone number of the sender's machine, and/or a transmitting station name. This information may have been extracted from the message by the receiving server, or noted by the server when the message was received. Some syndication specifications permit an item to include an image; if that functionality is available, a reduced-scale (“thumbnail”) image of a received page or a detail extracted from a page may be transmitted with the item and displayed by the feedreader. Syndication items may also contain a URL or similar hyperlink that can be activated to cause the feedreader (or another client program, commonly known as a “web browser”) to retrieve the facsimile from storage at the datacenter and display it to the subscriber. RSS items associated with other telecommunication messages such as voice messages may cause an audio player to be launched to “display” the message.
First, the web server receives an HTTP request from a client. The request includes a Uniform Resource Locator (“URL”) that describes the desired RSS feed (410). The web server examines identification information transmitted with the request to determine whether a valid user identification has been received (420). This examination may include validating a password or other cryptographic token.
If the user identification is invalid, the web server prepares an error response describing the problem (430). Otherwise, it searches for stored messages intended to be delivered to the subscriber (440). If no messages are found (450), a response indicating this is prepared (460). If there are new messages, the web server prepares a syndication response conforming to the appropriate structure; the response describes the messages found (470). Finally, the response is transmitted to the client according to the HTTP protocol (480).
In the description of the flow chart of
An embodiment of the invention may be a machine-readable medium having stored thereon instructions which cause a processor to perform operations as described above. In other embodiments, the operations might be performed by specific hardware components that contain hardwired logic. Those operations might alternatively be performed by any combination of programmed computer components and custom hardware components.
A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer), including but not limited to Compact Disc Read-Only Memory (CD-ROMs), Read-Only Memory (ROMs), Random Access Memory (RAM), Erasable Programmable Read-Only Memory (EPROM), and a transmission over the Internet.
The applications of the present invention have been described largely by reference to specific examples and in terms of particular allocations of functionality to certain hardware and/or software components. However, those of skill in the art will recognize that RSS notification of received telecommunication messages can also be produced by software and hardware that distribute the functions of embodiments of this invention differently than herein described. Such variations and implementations are understood to be captured according to the following claims.