`
`(12) United States Patent
`Osterhout et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,149,506 B2
`Dec. 12, 2006
`
`(54)
`(75)
`
`(73)
`
`(*)
`
`(21)
`(22)
`(65)
`
`(62)
`
`(51)
`
`(52)
`
`(58)
`
`PORTABLE CALL MANAGEMENT SYSTEM
`
`(56)
`
`References Cited
`
`Inventors: Gregory T. Osterhout, Coppell, TX
`(US); Kim B. Holmes, Rowlett, TX
`(US); Mark Sosebee, Plano, TX (US)
`Assignee: Nortel Networks Limited, St. Laurent
`(CA)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 13 days.
`Appl. No.: 10/199,797
`
`Notice:
`
`Filed:
`
`Jul. 19, 2002
`
`Prior Publication Data
`US 2002/O187777 A1
`Dec. 12, 2002
`
`Related U.S. Application Data
`Division of application No. 09/419,175, filed on Oct.
`15, 1999.
`
`Int. C.
`(2006.01)
`H04M 3/42
`(2006.01)
`H04O 7/20
`U.S. Cl. ................... 455/417:455/435.1; 455/436;
`455/442: 340/3.5; 340/3.52
`Field of Classification Search ................ 455/417,
`455/412.1, 412.2, 41.4.1, 415, 425, 458, 459,
`455/463,466, 556.1, 556.2, 442, 445, 435.1,
`455/435.2, 435.3, 438,439, 4144, 432.2:
`709/217, 219, 220, 227; 340/3.523.54,
`340/825.29, 7.46, 747, 7.52, 825.52, 3.5,
`34077.45
`See application file for complete search history.
`
`U.S. PATENT DOCUMENTS
`
`1/1999 Kulkarni et al. ......... 455,432.2
`5,862,481 A *
`5,913,166 A * 6/1999 Buttitta et al. .............. 455,436
`6,161,134 A * 12/2000 Wang et al. ................ TO9.220
`6.421,536 B1* 7/2002 Uranaka et al. ............ 455,417
`6,526,277 B1 * 2/2003 Zicker et al. ............ 455,426.2
`6,856,676 B1* 2/2005 Pirot et al. ............. 379,201.01
`2002/0118800 A1* 8, 2002 Martinez et al. ........... 379 (67.1
`
`
`
`OTHER PUBLICATIONS
`
`Handley et al., SIP: Session Initiation Protocol; Mar. 1999, pp.
`1-134.
`3Com Corporation, “Web Clipping Developer's Guide”. Document
`No. 3009-001; Print Date Aug. 7, 1999, pp. 1-93.
`
`* cited by examiner
`
`Primary Examiner Tony T. Nguyen
`
`(57)
`
`ABSTRACT
`
`A method of redirecting a call from a data processing system
`to another address. In a preferred embodiment, a notice of an
`incoming call received from a server at a data processing
`system. This notice may include caller identification infor
`mation as well. The user of the data processing system is
`prompted for an address to which the user wishes the call to
`be redirected. The user then identifies and sends to the server
`a new address to which the incoming call is to be redirected.
`The server then redirects the call to the new address.
`
`15 Claims, 10 Drawing Sheets
`
`Start
`
`Receive HTML message,
`902
`
`-
`—------ Y
`Parse HTML for Tessage class &
`contet.
`904
`
`Analyze Twill message class &
`content.
`906
`
`Create SIP message formed from
`All message class & content.
`908
`
`- YH
`Send SIP message to SIP Proxy.
`910
`
`APPL-1011 / Page 1 of 18
`Apple v. Uniloc
`
`
`
`U.S. Patent
`
`Dec. 12, 2006
`
`Sheet 1 of 10
`
`US 7,149,506 B2
`
`
`
`
`
`l s
`
`
`
`
`
`i S
`
`
`
`
`
`s
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`3.
`
`
`
`: g
`
`APPL-1011 / Page 2 of 18
`
`
`
`U.S. Patent
`
`Dec. 12, 2006
`
`Sheet 2 of 10
`
`US 7,149,506 B2
`
`Processor
`202
`
`Processo
`204
`
`2O6
`
`w
`
`Memory
`Controller
`Cache
`208
`
`I/O Bridge
`210
`--rr
`
`Local Memory
`209
`
`PC Bus Bridge
`214
`
`216
`PCI Bus
`
`Graphics Adapter
`230
`
`PCI Bus Bridge
`222
`
`Network Adapter
`220
`
`226
`PC Bus-p-
`
`
`
`
`
`Hard Disk
`232
`
`PC: Bus Bridge
`224
`
`228
`PC Bus
`
`-o-
`
`200
`Server
`Figure 2
`
`APPL-1011 / Page 3 of 18
`
`
`
`U.S. Patent
`
`Dec. 12, 2006
`
`Sheet 3 of 10
`
`US 7,149,506 B2
`
`Transceiver
`
`Processor
`
`Main Memory
`
`\
`
`
`
`y
`
`Disk Memory
`306
`
`APPL-1011 / Page 4 of 18
`
`
`
`U.S. Patent
`
`Dec. 12, 2006
`
`Sheet 4 of 10
`
`US 7,149,506 B2
`
`
`
`
`
`
`
`Host/PC Cachef
`
`Main Memory
`404
`
`Audio Adapter
`416
`
`SCSI Host
`Bus Adapter
`412
`
`
`
`
`
`
`
`Expansion Bus
`Interface
`414
`
`Audio/Video
`Adapter
`419
`
`Keyboard and
`Mouse Adapter
`420
`
`400
`Client
`Figure 4
`
`APPL-1011 / Page 5 of 18
`
`
`
`U.S. Patent
`
`Dec. 12, 2006
`
`Sheet S of 10
`
`US 7,149,506 B2
`
`New
`Destination
`512
`
`SIP Proxy
`502
`
`s: up
`
`Wireless Proxy
`508
`
`Portable
`Computing
`Device
`510
`
`register
`MO1
`
`HTML registration
`MO2
`
`incoming call
`MO6
`
`HTML redirect
`M09
`
`SIP registration
`MO3
`
`SIP invite
`M04
`
`SIP trying
`MO5
`
`SIP redirect
`M10
`
`HiML incoming call
`MO7
`
`redirect info
`M08
`
`notification
`M11
`
`notification
`M11
`
`SIP invite
`M12
`
`Figure 5
`
`APPL-1011 / Page 6 of 18
`
`
`
`U.S. Patent
`
`Dec. 12, 2006
`
`Sheet 6
`Of 10
`
`US 7,149,506 B2
`
`
`
`NORTENETWORKS
`
`NORTELNETWORKS
`
`Enter the following Information:
`
`User:
`
`Proxy ID:
`
`Proxy Port:
`
`60
`ra
`
`60.
`
`60
`
`Figure 6A
`
`Figure 6B
`
`NORTEL NEWORKS
`
`NORELNETWORKS
`
`You have an incoming call from:
`
`Party information
`Redirect
`
`Woice Mail 1.
`618
`
`614 J?
`
`-oid
`
`rash
`
`N 616
`
`Enter the new destination:
`
`
`
`Figure 6D
`
`11032RR
`
`Figure 6C
`
`NORTEL NETWORKS
`
`The Cal has been redirected
`
`Figure 6E
`
`APPL-1011 / Page 7 of 18
`
`
`
`U.S. Patent
`
`Dec. 12, 2006
`
`Sheet 7 of 10
`
`US 7,149,506 B2
`
`
`
`Register
`preferred
`location.
`702
`
`Receive
`notification of
`incoming Call.
`704
`
`Identify a new
`destination for
`incoming call.
`7O6
`
`Send new
`destination for
`incoming call.
`708
`
`Receive
`failure/success
`notice.
`710
`
`Figure 7
`
`APPL-1011 / Page 8 of 18
`
`
`
`U.S. Patent
`
`Dec. 12, 2006
`
`Sheet 8 of 10
`
`US 7,149,506 B2
`
`Start
`
`Receive a request for call initiation.
`802
`
`
`
`
`
`Locate preferred location.
`804
`
`Send request to users device.
`806
`
`
`
`
`
`HaS user
`responded to request?
`808
`
`NO
`
`Dispose of call according to predetermined
`procedure.
`81O
`
`Redirect Call to new location.
`812
`
`APPL-1011 / Page 9 of 18
`
`
`
`U.S. Patent
`
`Dec. 12, 2006
`
`Sheet 9 of 10
`
`US 7,149,506 B2
`
`Receive HTML message.
`902
`
`Parse HTML for message class &
`Content.
`904
`
`Analyze HTML message class &
`Content.
`906
`
`Create SIP message formed from
`HTML message class & content.
`908
`
`Send SIP message to SIP Proxy.
`910
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Figure 9
`
`APPL-1011 / Page 10 of 18
`
`
`
`U.S. Patent
`
`Dec. 12, 2006
`
`Sheet 10 of 10
`
`US 7,149,506 B2
`
`
`
`Receive SIP signal from SIP
`Proxy.
`1002
`
`Parse SIP signal for message
`type.
`1004
`
`Extract Content, calling party &
`called party.
`1006
`
`Generate HTML message.
`1008
`
`Send HTML message to called
`party.
`1010
`
`Figure 10
`
`APPL-1011 / Page 11 of 18
`
`
`
`1.
`PORTABLE CALL MANAGEMENT SYSTEM
`
`US 7,149,506 B2
`
`This application is a divisional of application Ser. No.
`09/419,175, filed Oct. 15, 1999, status pending.
`
`FIELD OF THE INVENTION
`
`The present invention relates to telecommunications sys
`tems and, more specifically, to methods of transferring calls
`real time from one device to another.
`
`10
`
`BACKGROUND OF THE INVENTION
`
`15
`
`25
`
`Historically, when a caller telephoned a party, if the party
`to which the caller wished to speak with did not answer the
`phone or if the line was busy, the caller had to hang up and
`redial at a later time hoping that the second call would reach
`the intended party. Often times, the caller would need to
`attempt to contact the party multiple times in order to reach
`that party. If the caller had urgent information in which time
`was of the essence, this method was unsatisfactory and often
`resulted in the intended party missing important business or
`other opportunities.
`Some of these problems were alleviated with the intro
`duction of answering machines and Voice mail systems.
`However, even these solutions were not completely satis
`factory. For instance, utilizing answering machines and
`Voice mail systems required the called party to actively
`retrieve their messages. Thus, either many important mes
`sages were still not received in a timely manner if the called
`30
`party did not retrieve their messages frequently or the called
`party was required to check their voice mail or answering
`machine quite frequently when the party was out of the
`office or home in order to insure that messages were
`retrieved quickly. Thus, this results in the same problem as
`having the caller repeatedly call the intended party, except
`that in this case it is the called party that must waste its time
`insuring that no messages are missed.
`A more recent solution to this problem is the introduction
`of subscriber's static reach list. A static reach list enabled a
`subscriber (i.e., called party) to enter a list of telephone
`numbers (or IP addresses, etc.) where the subscriber might
`be reached. The subscriber would enter these numbers in the
`order of preference in which the subscriber wished the
`telecommunications system to try to reach the Subscriber.
`Therefore, if the subscriber were going to be away from the
`location of the subscriber's normal telephone number, if a
`call were received for the subscriber, the telecommunica
`tions system would redirect the subscribers calls to the next
`number on the static reach list until the subscriber were
`reached or until the list of numbers was exhausted.
`However, this method required the subscriber to know in
`advance the telephone number or other communications
`address at which the subscriber would be while traveling.
`Many times such information is unknowable either because
`the person does not know a number at the location to which
`they are travelling or because the person does not know
`sufficiently in advance where they will be in order to update
`the static reach list with the appropriate number. Therefore,
`it would be beneficial to have a method of to prevent a called
`party from missing calls without being required to know the
`number of a phone at which they will be in advance.
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`SUMMARY OF THE INVENTION
`
`The present invention solves the problem of preventing a
`called party from missing calls without having to know in
`
`65
`
`2
`advance the number at which they will be by providing a
`method and apparatus for redirecting a call from a data
`processing system to another address. In a preferred embodi
`ment, a notice of an incoming call received from a server at
`a data processing system. This notice may include caller
`identification information as well. The user of the data
`processing system is prompted for an address to which the
`user wishes the call to be redirected. The user then identifies
`and sends to the server a new address to which the incoming
`call is to be redirected.
`In another aspect of the present invention, an SIP server
`receives a notice of a call and forwards the notice to a SIP
`user agent. The SIP proxy server then identifies the address
`to which the called party wishes the call sent from a database
`of preferred locations. The called party has previously
`registered their preferred location to this database. The SIP
`user agent then sends a message to the called party that they
`have an incoming call. The called party then identifies a
`phone number or IP address to which the called party wishes
`the call to be redirected. Thus, the called party can have their
`calls originally directed to their handheld personal digital
`assistant or other data processing device. Thus, when a call
`is received, the called party can determine at that time how
`to dispose of the call.
`Other aspects and features of the present invention will
`become apparent to those ordinarily skilled in the art upon
`review of the following description of specific embodiments
`of the invention in conjunction with the accompanying
`figures.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The novel features believed characteristic of the invention
`are set forth in the appended claims. The invention itself,
`however, as well as a preferred mode of use, further objec
`tives and advantages thereof, will best be understood by
`reference to the following detailed description of an illus
`trative embodiment when read in conjunction with the
`accompanying drawings, wherein:
`FIG. 1 depicts a block diagram illustrating a communi
`cations network in which the present invention may be
`implemented;
`FIG. 2 depicts a block diagram of a data processing
`system which may be implemented as a server in accordance
`with the present invention;
`FIG. 3 depicts a block diagram of a portable device such
`as a personal digital assistant (PDA) in which the present
`invention may be implemented;
`FIG. 4 depicts a block diagram of a data processing
`system in which the present invention may be implemented;
`FIG. 5 depicts a message flow chart illustrating the
`processes of redirecting a call in real time from according to
`the present invention;
`FIGS. 6A-6E illustrate examples of sample HTML or
`web pages displayed to a user of a portable computing
`device;
`FIG. 7 depicts a flowchart illustrating the methods
`executed on a portable computing device in accordance with
`a preferred embodiment of the present invention;
`FIG. 8 depicts a flowchart illustrating the processes of
`redirecting a call which are implemented on a server within
`the communications network in accordance with the present
`invention;
`FIG. 9 depicts a flowchart illustrating a method of con
`verting HTML to SIP as performed by a SIP User Agent in
`accordance with the present invention; and
`
`APPL-1011 / Page 12 of 18
`
`
`
`US 7,149,506 B2
`
`3
`FIG. 10 depicts a flowchart illustrating a method of
`converting an SIP signal into an HTML message in accor
`dance with the present invention.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`4
`the case with phone 124. Thus, computer 126 may support
`IP telephony with voice terminal 128, for example.
`Cellular network 112 supports wireless communications
`with terminals operating in its service area (which may
`cover a city, county, state, country, etc.). As is known,
`cellular network 112 includes a plurality of towers, e.g., 130,
`that each service communications within a respective cell.
`Wireless terminals that may operate in conjunction with
`cellular network 112 include wireless handsets 132 and
`wirelessly enabled laptop computers 134, for example.
`Wireless handsets 132 could be, for example, personal
`digital assistants, wireless or cellular telephones, or two-way
`pagers. Cellular network 112 couples to IP network 102 via
`gateway 114.
`Wireless handsets 132 and wirelessly enabled laptop
`computers 134 may communicate with cellular network 112
`using a wireless application protocol (WAP). WAP is an
`open, global specification that allows mobile users with
`wireless devices. Such as, for example, mobile phones,
`pagers, two-way radios, Smartphones, communicators, per
`Sonal digital assistants, and portable laptop computers, to
`easily access and interact with information and services
`almost instantly. WAP is a communications protocol and
`application environment and can be built on any operating
`system including, for example, Palm OS, EPOC, Windows
`CE, FLEXOS, OS/9, and JavaOS. WAP provides interoper
`ability even between different device families.
`WAP is the wireless equivalent of Hypertext Transfer
`Protocol (HTTP) and Hypertext Markup Language
`(HTML). The HTTP-like component defines the communi
`cation protocol between the handheld device and a server or
`gateway. This component addresses characteristics that are
`unique to wireless devices, such as data rate and round-trip
`response time. The HTML-like component, Wireless
`Markup Language (WML), defines new markup and Script
`ing languages for displaying information to and interacting
`with the user. This component is highly focused on the
`limited display size and limited input devices available on
`Small, handheld devices. For example, a typical cell phone
`may have only a 4x10-character display with 16-gray levels
`and only a numeric keypad plus up/down volume keys.
`Cellular network 112 operates according to an operating
`standard, which may be the Advanced Mobile Phone System
`(AMPS) standard, the Code Division Multiple Access
`(CDMA) standard, the Time Division Multiple Access
`(TDMA) standard, or the Global System for Mobile Com
`munications or Groupe Speciale Mobile (GSM), for
`example. Independent of the standard(s) supported by cel
`lular network 112, cellular network 112 supports voice and
`data communications with terminal units, e.g., 132 and 134.
`Satellite network 116 includes at least one satellite dish
`136 that operates in conjunction with a satellite 138 to
`provide Satellite communications with a plurality of termi
`nals, e.g., laptop computer 142 and satellite handset 140.
`Satellite handset 140 could also be a two-way pager. Satel
`lite network 116 may be serviced by one or more geosyn
`chronous orbiting satellites, a plurality of medium earth
`orbit satellites, or a plurality of low earth orbit satellites. In
`any case, satellite network 116 Services voice and data
`communications and couples to IP network 102 via gateway
`118.
`Wireless Proxy 160 is coupled to IP network 102 and is
`coupled to a plurality of towers, e.g., 162, which each
`provide wireless communications with wireless devices
`such as wireless device 164. Wireless Proxy 160 provides
`access to IP network 102 to wireless device 164, such as
`personal digital assistants (PDAs), that may require propri
`
`10
`
`15
`
`With-reference now to the figures, and in particular with
`reference to FIG. 1, a system diagram illustrating a plurality
`of interconnected heterogeneous networks in which a the
`present invention may be implemented is depicted. As
`illustrated, an Internet Protocol (IP) network 102, a Local
`Area Network (LAN)/Wide Area Network (WAN) 104, the
`Public Switched Telephone Network (PSTN) 109, a cellular
`wireless network 112, and a satellite communication net
`work 116 make up the plurality of heterogeneous networks
`serviced by the personal mobility system of the present
`invention.
`IP network 102 may be the publicly available IP network,
`a private IP network, or a combination of public and private
`IP networks. In any case, IP network 102 operates according
`to the Internet Protocol and routes packets among its many
`Switches and through its many transmission paths. IP net
`works are generally known in the art to be expandable, fairly
`easy to use and heavily supported. Coupled to IP network
`102 is a Domain Name Server (DNS) 108 to which queries
`may be sent, Such queries each requesting an IP address
`based upon a Uniform Resource Locator (URL). IP network
`102 supports 32 bit IP addresses as well as 128 bit IP
`addresses, which are currently in the planning stage.
`LAN/WAN 104 couples to IP network 102 via a proxy
`server 106 (or another connection). LAN/WAN 104 may
`operate according to various communication protocols. Such
`as the Internet Protocol, the Asynchronous Transfer Mode
`(ATM) protocol, or other known packet switched protocols.
`Proxy server 106 serves to route data between IP network
`102 and LAN/WAN 104. A firewall that precludes unwanted
`communications from entering LAN/WAN 104 may also be
`located at the location of proxy server 106.
`Computer 120 couples to LAN/WAN 104 and supports
`communications with LAN/WAN 104. Computer 120 may
`employ the LAN/WAN and proxy server 106 to communi
`cate with other devices across IP network 102. Such com
`munications are generally known in the art and will not be
`45
`further described herein except to expand upon the teachings
`of the present invention. As is also shown, phone 122
`couples to computer 120 and may be employed to initiate IP
`Telephony communications with another phone or voice
`terminal using IP Telephony. In such an IP telephony system,
`a gatekeeper 152 is deployed by a service provider to
`manage IP telephony for its users. An IP phone 154 con
`nected to IP network 102 (or other phone, e.g., phone 124)
`may communicate with phone 122 using IP telephony.
`PSTN 109 is a circuit switched network that is primarily
`employed for voice communications, such as those enabled
`by a standard phone 124. However, PSTN 109 also supports
`the transmission of data. Data transmissions may be Sup
`ported to a tone based terminal, such as a FAX machine 125,
`to a tone based modem contained in computer 126, or to
`another device that couples to PSTN 109 via a digital
`connection, Such as an Integrated Services Digital Network
`(ISDN) line, an Asynchronous Digital Subscriber Line
`(ADSL), or another digital connection to a terminal that
`Supports such a connection. As illustrated, a voice terminal,
`such as phone 128, may couple to PSTN 109 via computer
`126 rather than being supported directly by PSTN 109, as is
`
`55
`
`25
`
`30
`
`35
`
`40
`
`50
`
`60
`
`65
`
`APPL-1011 / Page 13 of 18
`
`
`
`5
`etary or other special protocols in order to communicate
`with IP network 102. For example, wireless proxy server
`160 may be a 3Com server utilizing 3Com protocols for
`communicating with a Palm VII, a handheld portable com
`puting device available from 3Com Corporation in Santa
`Clara, Calif.
`In a preferred embodiment of the present invention,
`wireless proxy 160 is a 3Com proxy server supporting
`communications with Palm VII personal organizer and por
`table computing device 164 is a Palm VII personal organizer.
`In this embodiment, communications between wireless
`proxy server 160 and portable computing device 164 is
`facilitated by the use of Palm Query Applications (PQAs). A
`PQA is like a mini-Web site that resides on portable com
`puting device 164. That is, a PQA is a special kind of record
`15
`database. A typical PQA contains an HTML form or a list of
`hyperlinks that request additional information either
`locally—on personal computing device 164—or remotely—
`on the Internet.
`Much of the content on the Internet is designed to take
`advantage of the power of Pentium/RISC-class computers
`with large, high resolution color monitors and fast and cheap
`Internet access. In these circumstances, there is little reason
`to economize on the abundant connect time and large file
`size that make Web browsing such a rich, multimedia
`experience from a desktop or notebook computer.
`However, this model is not the best model for a small,
`low-power computer like the Palm VII organizer with its
`tiny screen, battery powered operation, and relatively slow
`and expensive wireless connection to the Internet. Rather
`than duplicate the Web browsing model on a handheld
`computer, PQAs are developed that access targeted bits of
`Internet information—like clippings from a newspaper.
`Typically, a handheld computer user does not focus on
`35
`following hyperlinks to the Internet (although this is avail
`able), but instead, they compose a simple query in the PQA
`(for example a request for a stock quote) and then send that
`query over the air.
`Also included in network 100 is a Session Initiation
`40
`Protocol (SIP) proxy 170. SIP proxy 170 is connected to IP
`network 102 and provides Switching and routing for com
`munication over IP network 102. SIP proxy 170 also main
`tains a static list of preferred locations to which a user
`wishes telephone calls or other communication types sent.
`When a request to initiate a communications session is
`received, SIP proxy 170 retrieves the static list of the called
`party and routes the call to the top address in the static list.
`If the communications session is not established with the top
`address in the static list, then SIP proxy 170 may attempt to
`access the next address in the list and so on until the called
`party is reached or until the addresses in the static list are
`exhausted.
`SIP is a textual based signaling protocol for creating,
`modifying and terminating sessions. These sessions can be
`multimedia conferences, Internet telephone calls and similar
`applications consisting of one or more media types such as,
`for example, audio, video, or whiteboard. SIP invitations are
`used to create sessions and carry session descriptions, which
`allow participants to agree on a set of compatible media
`types. SIP requests can be sent either over TCP or UDP.
`SIP User Agent 172 is also connected with IP Network
`102. SIP User Agent 172 translates between SIP communi
`cations and Hypertext Transfer Protocol (HTTP) and other
`extensible markup language (XML) based protocols such as
`Voice XML (VOXML) and Wireless Application Protocol
`(WAP).
`
`50
`
`45
`
`55
`
`60
`
`65
`
`US 7,149,506 B2
`
`10
`
`25
`
`30
`
`6
`FIG. 1 is intended as an example and not as an architec
`tural limitation for the processes of the present invention.
`In a preferred embodiment, a user registers an address to
`which they wish their voice calls or other communications
`to be sent. The address can be an IP address, a PSTN address
`or other type of address for locating an electronic device
`Such as a data processing system or telephone. As an
`example, consider a user of portable device 164 wishing to
`have all of their calls routed to the portable device. The user
`of portable device 164 sends an HTML registration request
`to Wireless Proxy 160, which then forwards the HTML
`registration request to SIP User Agent 172. SIP User Agent
`SIP 172 translates the HTML registration request from
`HTML into an SIP registration statement and sends the SIP
`registration statement to SIP Proxy 170. SIP Proxy 170 then
`updates the user's static list and inserts the newly received
`address into the top of the static list as the first address to
`attempt to establish a connection with if a request to initiate
`communications with that user is received. If the user does
`not have a static list, SIP Proxy 170 can create one and then
`place the received address in the newly created static list.
`The registration request does not have to initiate from a
`portable wireless device such as portable device 164 but
`may initiate with a LAN based data processing system Such
`as client 120 or with some other type of wireless device.
`When SIP Proxy 170 receives a request to initiate com
`munications, such as a voice telephone call, with a user, SIP
`Proxy 170 retrieves the static list for the called party and
`determines the first address to contact. SIP Proxy 170 then
`sends an SIP Invite message to SIP User Agent 172. SIP User
`Agent 172 translates the SIP Invite message into an HTML
`message and sends the HTML message to Wireless Proxy
`160 which then forwards the HTML message to portable
`device 164.
`Once the HTML invite message is received at portable
`device 164, the user may then determine how to dispose of
`the call. If portable device 164 is a telephone (or supports
`Voice communications), the user may choose to take the call
`if it is someone to which the user wishes to speak. The user
`may also redirect the call elsewhere to a nearby PSTN
`address, to a voice mailbox, or to an IP address. Portable
`device 164 may even Suggest options as to disposal of the
`incoming communication. For example, if the incoming
`communication is video, rather than a voice call, portable
`device 164 may suggest routing the communication to client
`120 on LAN/WAN 104, which may be the nearest device
`capable of receiving Such communication.
`If the user decides to redirect the call to some other
`device, then redirection information in HTML format indi
`cating the address of the new device is sent from portable
`device 164 to wireless proxy 160. Wireless proxy 160 then
`forwards the HTML redirect information to SIP User Agent
`172, which converts the HTML redirect information into an
`SIP redirect and send the SIP redirect to SIP proxy 170. SIP
`User Agent 172 also sends an HTML notification to portable
`device 164 via wireless proxy 160 indicating that the com
`munication is being redirected. SIP proxy 170 then redirects
`the communication to the new address and takes down the
`connection with portable device 164. If SIP proxy 170 is
`unable to make a connection with the new address (e.g.,
`incorrect address, device off-line, etc.), then the communi
`cation must be terminated or the next address in the user's
`static list contacted. This is because the connection to
`portable device 164 has already been taken down thus
`preventing an attempt to request a new address to which to
`redirect the communication.
`
`APPL-1011 / Page 14 of 18
`
`
`
`US 7,149,506 B2
`
`10
`
`15
`
`30
`
`35
`
`40
`
`7
`As an example of uses of Such redirection methods and
`systems according to the present invention, consider a
`family consisting of a husband, wife, and children. Perhaps
`the husband has registered his wireless telephone as the
`device to which incoming calls to his home telephone should
`be delivered. If notification of an incoming call is received
`by the husband on his wireless telephone, he can look at the
`display to see who the caller is. If the husband determines
`that the call is for his wife, he can redirect the call to her
`work phone or to her wireless phone. If the call is for one of
`the children, the call can be redirected to the home phone.
`However, if the call is for the husband, he can choose to take
`the call on his wireless telephone. Alternatively, if the call is
`for the husband, but he does not wish to speak with the
`caller, the call can be forwarded to his voice mailbox.
`As another example of the use of redirection methods and
`systems according to the present invention, consider a
`person travelling on business and away from the office. The
`business person can register a personal digital assistant
`(PDA) as the device to which incoming calls are directed.
`Thus, wherever the business person is, no calls will be
`misses because of being away from the office. If notification
`of a call is received, the business person can have the call
`redirected to a phone near where the business person is
`presently located. Such phone could be the room phone of
`25
`the hotel where the person is currently staying or it could be
`the office phone of the person with which the business
`person is meeting.
`Referring now to FIG. 2, a block diagram of a data
`processing system which may be implemented as a server,
`such as server 106, 108, 160, or 170 in FIG. 1, is depicted
`in accordance with the present invention. Data processing
`system 200 may be a symmetric multiprocessor (SMP)
`system including a plurality of processors 202 and 204
`connected to system buS 206. Alternatively, a single proces
`Sor system may be employed. Also connected to system bus
`206 is memory controller/cache 208, which provides an
`interface to local memory 209. I/O bus bridge 210 is
`connected to system bus 206 and provides an interface to I/O
`bus 212. Memory controller/cache 208 and I/O bus bridge
`210 may be integrated as depicted.
`Peripheral component interconnect (PCI) bus bridge 214
`connected to I/O bus 212 provides an interface to PCI local
`bus 216. A number of modems 218–220 may be connected
`to PCI bus 216. Typical PCI bus implementations will
`Support four PCI expansion slots or add-in connectors.
`Communications links to 2 network computers 120, 126,
`134, and 142 in FIG.1 may be provided through modem 218
`and network adapter 220 connected to PCI local bus 216
`through add-in boards.
`Additional PCI bus bridges 222 and 224 provide inter
`faces for additional PCI buses 226 and 228, from which
`additional modems or network adapters may be supported.
`In this manner, server 200 allows connections to multiple
`network computers. A memory mapped graphics adapter
`230 and hard disk 232 may also be connected to I/O bus 212
`as depicted, either directly or indirectly.
`Those of ordinary skill in the art will appreciate that the
`hardware depicted in FIG. 2 may vary. For example, other
`peripheral devices, such as optical disk drives and the like,
`also may be used in addition to or in place of the hardware
`depicted. The depicted example is not meant to imply
`architectural limitations with respect to the present inven
`tion.
`The data processing system depicted in FIG.2 may be, for
`example, an IBM RS/6000, a product of International Busi
`
`55
`
`45
`
`50
`
`60
`
`65
`
`8
`ness Machines Corporation in Armonk, N.Y., running the
`Advanced Interactive Executive (AIX) operating system.
`Turning now to FIG. 3, a block diagram of a personal
`digital assistant (PDA), such as portable device 164 in FIG.
`1, is illustrated in which the present invention may be
`implemented. The PDA is typically a palmtop computer,
`such as, for example, a Palm VII, a product of 3Com.
`Corporation in Santa Clara, Calif., connected to a wireless
`communications network and which may provide Voice, fax,
`e-mail, and/or other types of communication. The PDA300
`may have one or more processors 302. Such as a micropro
`cessor, a main memory 304, a disk memory 306, and an I/O
`308 Such as a mouse, keyboard, or pen-type input, and a
`screen or monitor. The PDA 300 may also have a wireless
`transceiver 310 connected