Sign In to Follow Application
View All Documents & Correspondence

Client Controlled Dynamic Call Forwarding

Abstract: ABSTRACT OF THE DISCLOSURE CLIENT CONTROLLED DYNAMIC CALL FORWARDlNG A clicnt-side signaling mechanism that allows a client to control how a telephone call is handled on a call server. The client user can create call routing rules on the client device using a clicni control component that manages session protocol messages. Once created. the call routing rulc(s! creaied on the client are transmitted lo the call server where a call routing component of the call server processes the rule(s) for a call related to the client. When the server receives the rule(s) and determines that the rLile(s) are related to an existing call (incoming or currently in-process), the server halts current normal server rules processing for that call and executes the clicnt-creaicd rulc(s). In one example. SIP session messages are employed for client control of server-side call forwarding.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
26 February 2009
Publication Number
22/2009
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application
Patent Number
Legal Status
Grant Date
2017-12-15
Renewal Date

Applicants

MICROSOFT CORPORATION
ONE MICROSOFT WAY, REDMOND,WASHINGTON 98052-6399

Inventors

1. RAMANATHAN,RAJESH
ONE MICROSOFT WAY, REDMOND,WASHINGTON 98052-6399
2. RAGHAV, AMRITANSH
ONE MICROSOFT WAY, REDMOND,WASHINGTON 98052-6399
3. SHTIEGMAN, ERAN
ONE MICROSOFT WAY, REDMOND,WASHINGTON 98052-6399
4. BOBDE,NIKHIL
ONE MICROSOFT WAY, REDMOND,WASHINGTON 98052-6399

Specification

BACKGROUND
[0001] The advent of global communications networks such as the Internet has served as a catalyst for the convergence ofeomputing power and services in poilable computing devices. Given the advances in storage and computing power of such portable vvirclcss devices, they now are capable of handling many types of disparate data types such as images, voice, video clips, audio data, and textual data, for example. This data is typically utili/ed separately for specific purposes. Network operators and providers (bolh cellular as well as non-cellular) have long realized that mobile communications is the next frontier that can provide huge returns. Thus, a cellular customer can now purchase a cell phone that allows access to multimedia that is available on the Internet. In another example, a cell phone user can also message an iP node (another user) on the Internet, and read e-mail from the user's c-maii provider based on the Internet. Simil:irl\. telephony capability for computivig devices also provides lucrative oppovtuniues. |()002| In an IP-based client-server telecommunications context (e.g.. VoIP-voice over Internet protocol), telephone call processing/forwarding rules have traditionally been implemented server side. This requires the server to have prior knowledge of ihc rules that have been set by the client. Server-side forwarding has worked in the past because the rules that the client could apply were simple and easy to implement. |(I003| In the future, hovvever, there would be many instances where the server would be incapable of understanding or applying call processing rules without the help of additional assistance from the client. This can be especially significant where client deployments and rollouts are much more frequent than server deployments, which is more likely to be the case.
4
[0004] Moreover, it can easily be imagined that users will be able to purchase new client software off the shelf and use it with existing server Infrastructures, since client applications are quicker to develop and deploy, and evolve faster than server applications, fhus. existing signaling mechanisms in, for example, SIP (session initiation protocol) arc inadcqualc or vindcfmed to help solve Ihe problem. AnoVher problem with existing signaling protocols Is that there is no way for the client to specify to the server that the call should be processed by proxy.

SUMMARY
|0005| rhe following presents a simplified summary in order to provide a basic understanding of some aspects of the disclosed innovation, fhis summary is not an extensive overview, and it is not intended to identify key/critical elements or to delineate the scope thereof. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
10006) The disclosed architecture introduces a client-side signaling mechanism thai allows a client handset or computing device to control how a telephone call is handled on a call server. I'he client user is provided with the capability of creating call routing rules on the client based on session protocol messages (e.g.. SiP-session initiation protocol) being utilized by the existing session protocol. Once created, the user can cause the call routing ruic{s) to be transmitted to the call server where the call server processes the rulc(s). When the server receives the rule(s) and determines that the ruie(s) are related to an existing call (incoming or currently in-process), the server halls current rtiles processing for that call and executes the client-side rule(s). The server can be conllgured to process server-side rules stored on the server for normal processing of client calls. I lowcver. once the server receives the client-created rule(s), it dispenses with server-side rules processing for that call and processes the received client rules. |()007| The disclosed innovation can be applied to existing call inlVastruciures withoiil having to change the server routing rules systems. Additionally, the innovation can be applied without adding additional client-like functionality to the server dynamicall\ uhen the client logs on. Accordingly, users are able to purchase newer clients off the shelf and use new intelligent call handling features made available on the newer clients while using the existing server infrastructure.
[OOflSj In one exemplary implementation, the session protocol is SIP and the call routing rules developed by the client utilize SIP responses. SIP provisional response messages (Ixx) and/or redirect responses (3xx) in the SIP protocol can be leveraged to provide client-side control of server-side call routing. In a more automated implementation, the client user can write a script on the client that when iransmitlcd to the call server contains the call forwarding rttles that the server will apply to that

particular call. When the pro.xy server receives such a request, for example, it stops llie current call forking and applies the rules that are specified in the 1 xx response, |0009| !n support thereof, the architecture disclosed and claimed herein comprises a computer-impicmcntcd system that facilitates call management- I'he system includes a call routing component of a call server for routing a call of a client to a destination, and a control component of the client for controlling the routing of the call al the server. I he client user creates client-side rules using the control component and transmits the rules lo the server-side call routing component for execution for a call related to the client, fhc call is then routed according lo the client-side rules.
|(l010i Methodologies are described related to capabilities allowing the client to send alternate calling rules while ensuring that the current client continues ringing (or being alerted), to redirect the caller based on an alternate set of call rules, the capability of the call server to apply client-generated call forwarding rules and interrupt any other call forwarding that is already in progress, and the capability of a call-originating client to apply call forwarding rules when the server cannot.
|()(H1| To the accomplishment of the foregoing and related ends, certain illustriitive aspects of the disclosed innovation are described herein in connection with the following description and the annexed drawings. These aspects are indicative, however, of but a few of the various wa\s in which the principles disclosed herein can be employed and is intended to include all such aspects and their equivalents. Other advantages and no\cl features will become apparent from the following detailed description when considered in conjunction with the drawings,
liRIi; ]■ DI-.SCRIP'IION OF Ti IP, DRAWINGS
|00I2| \'\0. I illustrates a computer-implemented system that facilitates call
management in accordance with the disclosed innovation.
100131 flG. 2 illustrates a methodology of managing calls from a client,
|il014| FICi, 3 illustrates a more detailed system that facilitates call managemcni in
response lo client-based messages,
|0015| 110, 4 illustrates a methodology of forwarding calls according to clicnl-sidc
control.

|00I6| I'lG. 5 illusirales a methodology of maintaining client-side processes during
clienl-eonlrolled call forwarding of the call server.
|0017] riG. 6 illustrates a methodology of server-side processing based on clienl-sidc
rules,
|0018| 1-IG. 7 illustrates a SIP client-based call forwarding system.
|00I9| MCi. S illusirales a methodology of client-side control using a Sll' pro.\y
server.
|0020[ hlCi. 9 illusirales a methodology of clienl-sidc conlrol using a SIP redirccl
server,
|()02I| I'Ki. 10 illusirales an exemplary call flow diagram for clicni conlrol bv ringing
oilier ctiiHauls ihat are ):urrcntty online.
|0022| \-lCi. 11 illustrates an exemplary call flow diagram using 3xx redireclion lo
divert a call.
|0023| FIG, 12 illustrates an exemplary call flow diagram for rcdireeling a call Ui a
PS IN destination.
|0024| FIG. 13 illusirales a methodology of dynamically managing calls for various
aceounls by using clicnl-side control of a call server.
|0025| FKi. 14 illustrates a methodology of managing presence informalion al ihe
client by using elienl-side conlrol of a call server.
|0026| FIG. 15 illustrates a methodology of managing incoming calls lo an olf-hook
(or online) client by using clienl-side control of a call server.
(0027J FIG. 16 illustrates a methodology of dynamically managing calls based on
chsinges in clicni ioealion by using client-side conlrol of a call server processing.
10028] FIG, 17 illusirales a schematic block diagram of a portable wireless device ihal
facililales clienl-side rules creation and call server conlrol.
J0029) I-IG. 18 illustrates a block diagram of a desktop or portable compmer operable
UI execute clienl-sidc call forwarding conlrol of a call server in accordance uilh the
disclosed architecture.

Di:fAiij:nDr:scRiPTiON
HW3(l| Ihc imiDvalioii is now described witli reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the followinsi description, for purposes of explanation, numerous speciFie details are set forth in order to provide a thorough uriderstanding thereof It may be evident, however, that the innovation can he practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate a description thereof
[00311 The disclosed architecture introduces a signaling mechanism in. for example. Sll' (session initiation protocol), and/or other session protocols that allow a client to control how the call is forwarded on a call server without having to change the existing; server call routing rules, or add additional client-like functionality to the server dynamically when the clienl logs on. As a result, users are able to purchase newer clients off the shelf and use the new intelligent call handling features that can be made available on the clicnls using the existing server infrastructure that their administrators have deployed. Note that although the description dwells on the use of SIP as the session protocol for communications between the client and the calls server, it is to he understood that the disclosed innovation applies to other session protocols (e.g.. 11.32.^) as well. [()((32I SIP is a protocol developed by ll^ff (Internet T.nginecring fask force) MMIJSIC (Multiparty Multimedia Session Control) Working Group and a proposed standard for initiating, modifying, and terminating an interactive user session that involves multimedia elements such as telephone calls, miiUimcdia conferencing, instant messaging, and other realtime communications on the Internet (e.g., online games and virtual reality), k is one of the leading signaling protocols for VoIP (Voice over IP), along with 11,323.
[00331 A motivating goal for SIP was to provide a signaling and call setup protocol for IP-hased communications that can support a superset of the call processing functions and Icalures present in the public switched telephone network (PSIN). fhe focus of SIP is call-setup and signaling which features permit familiar telephone-like operations (e.g.. dialing a number, causing a phone to ring, hearing ring-back tones or a busy signal).

(0034| SIP a peer-lo-pccr protocol that requires only a very simple core network willi intelligence emhedded in endpoints (terminating devices built in cither hard\varc or soriwarc). In a typical implementation, SIP sessions are simply packet streams ol" a Realtime Transport Protocol (R'!"P)-the carrier for the actual voice or video conicnl itself. 10035] Hardware endpoints thai provide the look, fee!, and shape of a iriKiiiional telephone, use SIP and RTP for communications, and further, can use f.leclroiiic Numbering (IINUM) to translate existing phone numbers into SIP addresses (based on a I'RI- (uniform resource locator) formal). Accordingly, calls lo other SIP users can bypass the telephone network even though the service provider mighl normally aci as a gateway (o the PSTN network for traditional phone numbers and associated charges. |0036| SIP uses network elements called proxy servers lo help route requests to the user's current tocation. authenticate and authorize users for services, implement provider call-routing policies, and provide features to users. SIP also provides a registration function through a registrar (or user agent server) that allows users to upload their current locations for use by proxy servers.
|0(I37| Referring initially to the drawings. FIG. 1 illustrates a computcr-impleincnled system 100 that facilitates call management in accordance with the disclosed innovaiion, "fhe system 100 includes a call routing component 102 of a call server 104 (e.g.. a pro.w server) for routing a call ofa client 106 to a destination. The system 100 can also include a control component 108 of the client 106 for controlling the rouling of the call at the server 104. In operation, when the call server 104 receives a call directed to the diem 106. the call server 104 signals the client 106 that a call is incoming. Whether the client 106 is currently online on a call or offline, the client \06 can cause the call server 104 lo handle the incoming call according to client rules that are different than rules currently on the call server 104 for handling calls for the client 106. The client 106 responds to the call server 104 with one or more session messages (t'.g,, SIP) that indicalc lo the call server 11)4 hov\ lo route ihe call.
|003}i| In one example, a provisional response message of Sil' includes a call forwarding rule that is transmitted from the client 106 to the server 104. which when executed by the server 11)4. mules the call accordingly. In another example, a redirection response message ofSlP includes a call forwarding rule that is transmitted from the client

to the server, which when executed by the server, routes the call. More speeifically. the disclosed architecture leverages the (Ixx, where x is 0-9) information (or provisional) response messages, and/or (3xx, where x is 0-9} redirect responses in the Sll' protocol. Using at least one or more of these types of responses, a script can be generated at the client 106 and transmitted from the client 106 to the call server 104. the script containing the call forwarding rules that the server 104 applies to that particular call. When the call server 104 receives the script from the client 106. it stops the current call forking for that call and applies the one or more rules in the script that are specified in the 1 \x response. |fl039| Described in greater detail infra are other capabilities associated with the disclosed architecture. For example, the client 106 can include the capability to send alternate calling rules to the proxy server 104 concurrently with the client 106 processing another call (e.g., continues ringing or being alerted). In another example, the client 106 includes the capability to send a script of rules that redirect processing of the incoming call according to SIP redirection response messages. Moreover, the call server 104 includes the capability to apply the call forwarding rules received from the client 106 and to interrupt any other call forwarding processes that are already in progress that relate to the call. Additionally, no special re-configuration of an existing call or proxy server is needed lo apply the call forwarding rules received from a call originating client 106, [0(»40| Conventionally, for example, the SIP RFC (Request For Comment) 3261 document provides for a 380 Alternate Service response (a Redirection Response under SIP), but leaves its definition or purpose undefined. At least one scenario requires the client lo specify the proxy behavior to the server. For example, consider that a user has an incoming call from a caller and wants to direct the caller to his/her mobile number. In ibis case, the re-routing (e.g.. by proxy) has to be done by the LS (location server) pro.\\. thereby prohibiting u?,c of the existing SIP 302 Moved Temporarily Redirection Response for this purpose.
|0041| FIG. 2 illustrates a methodology of managing calls from a client. While, for purposes of simplicity of explanation, the one or more methodologies shown herein, for example, in the form of a flow chart or flow diagram, are shown and described as a series of acts, it is to be understood and appreciated that the subject innovation is not limited by the order of acts, as some acts may. in accordance therewith, occur in a different order

and/or concurrently with other acts from that shown and described herein. I'or example, lliose skilled in the art will understand and appreciate that a methodology could alternativciy be represented as a scries of interrelated slates or events, such as in a state diagram. Moreover, not all illustrated acts may be required to implement a methodology in accordance with the innovation.
10042| At 200, a phone call is received at the client for processing. This can be an ll'-based phone call (e.g., VoIP) the handling of which is compatible with an IP session protocol (e.g.. SIP). In one implementation, the call server signals the client that a call is incoming and will be processed for connection with the client. In another implemenlation. the call is forwarded to the client, after which the call forwarding is commenced to re-route the call. At 202, the client .sends a script of SIP messages (or call rules) to the call .server that controls the call server to forward the call according to the client script. At 204. the call server receives and processes the client script to re-route the call,
|0043| I'lti. 3 illustrates a more detailed system 300 thai facilitates call management in response to client-based messages. The system 300 includes the call routing component 102 of the call server 104 for routing a call of the client 106 to a destination, and the control component 108 of the client 106 for generating, transmitting and uUimatciy controlling the routing of the call at the server 104,
|0044| In this implementation, the client 106 also includes a client rules component 302 for developing one or more rules for communication to the server 104 via a client signaling component 304, The client signaling component 304 facilitates utili/ation of different session protocols, such as SIP. The one or more rules created by the client user through a user interface to the client rules component 302 can be communicated via the client signaling component 304 to a server signaling component 306, In one implementation, the client and server signaling components (304 and 306) process SIP as ihe session protocol. In another implementation. 11.323 is the session protocol. Alternatively, other application layer session protocols can be employed, such as IIT'I I* (hypertext transfer protocol) and FTP (Tile transport protocol), for example, |()045| As indicated previously, the client rules can be communicated from the client 106 to the server (or proxy server) in the form ofa script that is executable b\ the .server

104. and which facililatcs the override of one or more scrvcr-sidc rules selected fnr processing the incoming call, fhc script is received by a server rules component 30S that processes the script and associated rules to route (or forward) the call accordinglv. |()046| As described supra, whether the client 106 is currently online on a call or ofllinc when another call comes in, the client 106 can cause the call server 104 lo handle the incoming call according to client rules that are different than rules currently on ihe call server 104 for normal handling of calls for the client 106.
[fl047| I'IG. 4 illustrates a methodology of forwarding calls according lo ciienl-sidc control. At 400. a call server receives call rules for normal proccssinji of client calls at the call -Server, "fhe call server will process these rules for calls to or from the client until directed olhcrv\isc by the client-side control rules. At 402, the call server receives a call for the client. At 404. the server .signals the client of an incoming call and initiates processing of the server-side client call routing rules. At 406, the client responds v\ilh mes.sage(s) to process one or more client-based alternative call routing rules. At 408. the server receives and processes the one or more alternative client call routing rtiles. [0048) \-\G. 5 iliuslrates a methodology of maintaining client-side processes during client-controlled call forwarding of the call server. At 500. the client receives and connects with a current call. At 502, the client receives and processes a signal related to another incoming call. At 504, the client selects one or more client-based alternative call routing rules for server-side processing. At 506, the client transmits the one or more alternative call routing rules lo the server using a session protocol. At 508. the client maintains norma! call processes of the current call while the call server processes the one or more alternative rules. In other words, the client processes alerts, notifications (e.g.. .sounds, chirps, vibrations, ringtones,...). and messages related lo the incoming call and other ongoing processes concurrently with controlling the call server such that the user is made aware of another incoming call, in response to which the alternative rules can he communicated lo the call server for forwarding Ihe new call. In another example, ihc current call can be processed according lo transmitted client-side rules lo connect additional recipients {e.g., call conferencing) lo Ihe current call.
10049] Referring now to I-'IG. 6, there is illuslrated a methodologv of server-side processing based on client-side rules. At 600, a call server stores client call routine rules

lor normal processing of client calls. The rules can be for processing incoming calls and for processing clienl-originaled calls. At 602, the server receives a clicnl-ierminaied call and accesses the normal processing routing rules for that client. At 604. the client .selects one or more client-based alternative call routing rules for server-side processing. At 606. the server receives the client-based alternative rule(s) in response to being signaled about the incoming clienl call, Al 608, the call server interrupts normal handling of the incoming call and processes the alternative rule(s). At 610. the server routes the cLirrcnt call according to the allcrnative rule(s).
|005()| KIG. 7 illustrates a SIP client-based call forwarding system 700. The sysle 700 includes a proxy server 702, a redirect server 704 and a SIP user client 706 of a die (wired or wireless) device 708. The SIP client 706 of the device 708 can include a die rules component 710 for creating rules on the client for transmission via a client SIP interface 712 lo and execution by the proxy server 702 and/or the redirect server 704. As shown, the client rules component 710 and the clienl SIP interface 712 are part of the Sll' user client 706. However, this is not a requirement, in that either or both of the client rules component 710 or/and client SIP interface 712 can be components exiernal !o ihc SIP user clienl 706 of the device 708.
|(H)SI] fhe proxy server 702 is an intermediate network entity that receives SIP requesis from a client (e.g., client 706) and forwards the request on the client's behalf In other words, the proxy server 702 receives SIP messages and forwards the messages lo the next SIP server of the network. The proxy server 702 can provide authentication, aulhorization, network access control, routing, request retransmission, and securit; functions.
|0052| The redirect server 704 provides the client with information about the next hop (or hops) that the message should take, 'fhercafter, the client contacts ihc next hop entity (or .server) directly. A registrar .server (not shown) processes requests the clienl 706 for registration of the client's current location. Note that a registrar server can be co-located with the proxy server 702 or the redirect server 704. As the client device moves, its location can be dynamically registered with a SIP server.
|0053| When a SIP redirect code is utilized in a rule created at the client device 70S. the client SIP interface 712 communicates the SIP redirection response to a redirect

server SiP interface 714 of the redirect server 704. The redirect server 704 can include a redirect rules component 716 for processing the redirect response, and a redirect call rmiling component 718 that facilitates routing of the call according to the received client rule(s).
[00541 When a SIP informational response is utilized in a rule created hy the client 706. the client SIP interface communicates the rule to a proxy server SIP interlace 720. Ihc proxy server 702 can include a proxy rules component 722 for processing the inlbrmational response, and a proxy call routing component 724 that facilitates routing oT the call according to the received client rulc(s).
|0055| The SIP servers (702 and 704) can interact with other services such as I.DAP {lightweight directory access protocol), location servers (e.g., a location server 726). a database application, and an XML (extensible markup language) application. I'hese application services can provide back-end services such as directory, authentication, and hilling services. Note also that phones can function as a server or a client. |00561 Calls can be initiated by the client device 708 and routed through a SIP gateway 728 to a legacy PBX (private branch exchange), for example, and/or the PS IN (public switched telephone network). The gateway 728 provides call control, translation between conferencing endpoints. audio/video codecs, performs call setup and clearing on both the IP network side and the switched circuit side.
|n057| flCi. 8 illustrates a methodology of client-side control using a SIP proxy server. At 800. SIP is employed for call processing between a call proxy server and a client. At 802, a client-side script of SIP informational responses (Ixx) is developed as alternative rules for server-side processing. At 804. a call is initiated (either client-originated or client-terminated) and the client transmits the script to the proxy .server for execution as part of processing a client call. At 806. the proxy server halts current call forking for the client call. At 808. the proxy server applies the rule(s) specilled as the lx.\ message(s) lo the current call.
|(I05S| flCi. 9 illustrates a methodology of client-side control using a SIP redirect server. At '■>00. SIP is employed for call processing between a client and a redirect server. At 902. a client-side script is created of one or more redirection responses as alternative call routing rules. At 904. a call is initiated (either client-originated or client

terminated) and the client transmits the script to the redirect server for processing instead of normally processing rules stored on the server and used for client calls. At *X)6, the redirccl server halts any current call forking related to that client. At 908. the redirect server executes the script of rules and processes the call accordingly, |0059| FIG. 10 illustrates an exemplary call flow diagram for client control by ringing other contacts that are currently online. The example is between parties Alice and Bob. where Alice calls Bob. Alice has a SIP address of sip:alicc@contoso.com. where the forinat is s[p:userJDCd)gafeM'ay.com. Alice's client sends a SIP INVlfl: request to the proxy server, the proxy server determines the path lo the callcc Bob. the path being the SIP address sipibobfajcontoso.com, and forwards the INVITK request to Bob. The server sends a message back to Alice's client to indicate to Alice that the call is being attempted. Bob's client responds with a 100 TRYING response back to the proxy server. |()060| Bob has created and stored a rule set on his client to ring other contacts that arc currently online. Carol is online, and Bob's client sends a provisional response (denoted IXX Rules) to the proxy server (e.g., a location server) indicating to the proxy server to add Carol to the call, fhe proxy server locales Carol's SIP address and initiates a SIP INVffH to Carol's address ofcarol@eontoso.com. Carol's client responds with a ISO RINGING response to the proxy server, "fhe server forwards the ringing signal back to Alice's client. Alice's client also sends a 200 OK successful response back to the pR>xy server, which forwards it to Alice's client. Alice's client sends an acknowledgment (denoted ACK) to the proxy, which forwards the ACK to Carol's client. At some point. Bob decides lo drop out of the multiparty call. Accordingly, a CANCIT. message is sent from the proxy server to Bob's client, with the client responding with a SIP 200 OK message. Bob's client sends a 487 Request Cancelled to the proxy server, and the server responds with an ACK,
|0061| 'fhe Ixx provisional response {e.g., a 199 response) indicated above can have a llcxible script, for example, an XMI, script that contains the details of how the call needs to be routed, fhe Ixx responses are helpful In instances when other users have to be added to ihe cali. without slopping the current device from ringing. Some examples are presented below. Note that the XML is only for illustrative purposes, as other languages can be employed.




pi065| 1-lG. 11 illuslraies an exemplary call tlow diagram using iw redircvjlioti lo divert a call. Ilie following call flow diagram is an example where a 3xx response (e.g. 399) is used to divert llic call. The 3xx responses are useful to indicate to tlic server to reroute the call based on the rules specified by the clienl. A 3xx response cssentiall\ stops ringing the clienl and applies the forwarding rules specified.

|(H>(>6| In \\\i: call tlow diagram. Bob has set a dynamic call forwarding rule vo forward ihc call to Carol tlrsl for five seconds, disconnects Carol, and then connects to Dan. Alice calls Bob and the call rings Carol tlrst. before ringing Dan.
|00fi7) Alice's client sends a SIP INViTH request that includes Bob's address of bobVrcontoso.coin to the proxy server, the proxy server determines the path to the calicc Bob. and forwards the INVI'fr. request to Bob. The server sends a message back lo Alice's client to indicate to Alice that the call is being attempted. Bob's citeni responds with a 100 IRYINCJ response back lo the proxy server. Bob's client sends the redirect rule (3xx) to the proxy server. The server responds to Bob's client with an ACK. |(lfl68| Carol is online, and the proxy server sends a SIP INVITI: request to Carol's client, which client responds to the server with a 180 RINCiING message. The server forwards the ringing signal on to Alice's client. At that point, a timeout of live seconds occurs, followed by a CANCEL message to Carol's client, Carol's client responds to the server w ith and ACK.
|0069| The server then sends a SiP INVITH to Dan's client, which responds with a 1X0 RINGING message to the server, and on to the Alice's client. Dan's client sends a 200 OK message to the server, which is forwarded to Alice's client. Alice's elicnl then sends an ACK lo the server for forwarding on ihe Dan's client. A two-way voice channel is then established between Dan and Alice.
1007()| I'ollowing is exemplary XML code where a 3xx message is used in the redirect ofa call.



1(M)711 riG. 12 illuslrates an exemplary call flow diagram for redirccling a ca!i lo a I'STN dcslinalion, Alice's client sends a SIP INVITE request to the pro.xv server, the proxy server determines the path to the caliee Bob. the path being the Sll' address sip:bobf(i5t-'ontoso.com. and forwards the INVITH request to iiob. The .server sends a message back to Alice's client to indicate to Alice that the call is being attempted. Hob's cliem responds with a 100 TRYING response back to the proxy server, as \\ell us a Sil' ISO KINGING message, "fhe server forwards the 180 RINGING message to Alice\ c 11 en I.
10072] Bob has created and stored a rule set on his client to redirect the call. Accordingly, a SIP 3xx RRDiRECT message using a redirect script is sent from Bob's client to the sewer, rhe server then sends a SIP 181 CALL IS t-X)RWAKI)i\li message to Alice's client, "Ihe server sends an ACK to Bob's clienl. and an INVI IK message to the PSTN gateway having the address stipulated in Bob's redirect message. I'hc galev\a\ responds by sending a 180 RINGING message to the server, which i.s forwarded to Alice's client. A SIP 200 OK message is also sent from the gateway to the ser\cr and on lo Alice's client. Alice's clicni sends an ACK to the server, which forwards the ACK to die gateway. A 2-way voice channel is then established between Alice's client and the PS1 N gateway.
|(HI73| following are methodologies of examples where conventional server-side call processing can benellt Irom the disclosed clieni-side call forwarding control. i-IG. Li illusirates a methodology of dynamically managing calls for various accounts by usiasi

clicnl-sidc control of a call server. Here, a client device includes a CRM (customer relationship management) application that provides user account information. The user can create rules at the client that allows the client user to dynamically allow calls from certain accounts to be directed to certain other destinations (e.g.. redirect incoming call related to bank account information to be routed to a PSTN-terminated home telephone handsel). Al 1300, the client user creates one or more rules on the client for routing ol" specific call types. At 1302, the client is signaled of an incoming call related to one of the specific call types. At 1304, the client responds to the server by sending clienl rules to the call server for processing the spccillc call type. Al 1306. the call ser\er halls current call processing related to the incoming call, executes the received client-side rule{s). and routes the specific call type accordingly. At 1308, the call server reverts back 10 normal server-side call routing associated with that specific call.
(00741 KIG. 14 illustrates a methodology of managing presence information at the client by using client-side control of a call server. Here, a client device includes a presence-based application that aggregates presence information from other third pany presence providers, "fhus, the client-side rules can be created and transmitted for execution by the call server to allow incoming calls to be directed to people whose status on tho.sc other providers is online. Al 1400, the client user creates one or more presence rules for routing calls related to the status of online users of other providers. At 1402. the client is signaled of an incoming call or initiates an outgoing call. Al 1404. the client sends the presence rules to the call server for processing. At 1406. the caller receives and processes the presence rules and signals the client of the rules results, which can be whether a user of another provider is online or offline. At 1408, the call server processes the call for online users according to the presence rules. 'lUis can include signalini: the online users for connection to the current call (e.g.. call conferencing). |0()75| t'"lG. 15 illustrates a methodology of managing incoming calls to an off-hook (or online) client by using client-side control of a call server. Here, a clienl device lacililalcs user creation of rules that introduce various "states" such as "Do Not IJislurb-only when in Meeting with Manager'', fhe call server need not be aware of v\ho the user is currenlly talking to, and in accordance with the innovative client-based call forwarding capability, ihe client can route the incoming calls intelligently to an assi.stanl or someone

else. At 1500. a client user creates one or more off-hook rules on the client for routing incominj; calls when the user is currently on the phone. At 1502. the client receives a call and goes otT-hook. Al 1504, the client responds by sending the off-hook rules lo the call server for processing. Al 1 506. the call server processes the olT-hook rule.^ and routes ilie incoming calls to other terminations. The rules can also include providing signaling to the clicnl device thai lets the off-hook user know who is attempting lo call in. I hus. a brief text message can be displayed, a brief audio tone played, short video clip played, (.'fc. any of which can he customized for the particular caller.
|0076| l-'ICi. 16 illustrates a methodology of dynamically managing calls based on changes in client location by using client-side control of a call server processing, lor example, ihe stale of the client can change frequently such that the server m;i\ not be aware of ibis stale; therefore, the call processing rules on (he server may not be applicable. One example includes a client of a mobile device equipped with a CJi'S (global positioning system) receiver. The user can take the mobile device to various parls ol' the country, and in accordance with the innovative client-based cail forwarding capability, the user has programmed the device to route calls appropriately based on the current location of the user. For example, a rule can be "When I am at wxirk. ring my work phone; when 1 am in Alabama, ring my mobile device."
(fl()77J At 1600. a client device is received that Includes GPS capability and client-side rules creation capability. Al 1602. the client user creates one or more location rules for routing incoming calls related to change in geographic location of the client device. At 1604. the client user moves the client device to a different geographic location. Al 1606, ihe clicnl detects a change in location of the device. This can occur by the device hav ing the capability to receive and periodically process the tiPS data to make this determinalion. Al 1608, Ihc call server signals the client of an incoming call. Al 1610. the client responds by sending to the call server the location rules for server-side processing of the location rules. At 1612, the server processes the rules and routes the incoming cail accordingly.
|007S| As used in this application, the terms "component'" and "syslem" are iniended to refer lo a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution, for example, a component can be. but is

not limited to being- a process running on a processor, a processor, a hard disk drive. niLiltiple storage drives (of optical and/or magnetic storage medium), an ohjecl. an executable, a thread of execution, a program, and/or a computer. By way ol'iiluslralion. both an application running on a server and the server can be a component, One or more cnrnponcnts can reside within a process and/or thread of execution, and a component can be locali/ed on one computer and/or distributed between two or more computers. |0()79| IIG. 17 illustrates a schematic block diagram of a portable wireless device (I'WD) 1700 {c-g.. a cell phone, portable computer, tablet PC) thai facilitates cHcnl-sidc rules creation and call server control. The device 1700 includes a processor 1702 that interfaces to one or mi>re internal components for control and processing of dala and instructions. The processor 1702 can be programmed to control and operate the various components within the device 1700 in order to carry out the various functions described herein. The processor 1702 can be any of a plurality of suitable processors (e..t,'.. a DSP-digital signal processor), and can be a multiprocessor subsystem.
|(KI80| A memory and storage component 1704 interfaces to the processor 17(12 and serves to slore program code, and also serves as a storage means for information such as dala, applications, .services, metadata, device stales, and the like. Ihe mcmorv and storage component 1704 can include non-volatile memory suitably adapted to store at least a complete set of the sensed input data that is acquired from the sensing subsystem and/or sensors. Thus, the memory 1704 can include RAM or flash memory lor high-speed access by the processor 1702 and/or a mass storage memory, f.,1.'.. a jnicro drive capable of storing gigabytes of data that comprises text, images, audio, and/or video content. According to one aspeci. the memory 1704 has sufficient storage capacity to store multiple sets of information relating to disparate services, and the processor 1702 can include a program that facilitates alternating or cycling between various sets of information corresponding to the disparate services.
10081] A display 1706 can be coupled to the processor 1702 via a display dri\er subsystem 1708. The display 1706 can be a color liquid crystal display (I.CIJ). plasma display, touch screen display, or the like, fhe display 1706 functions to present dala. graphics, or other information content. Additionally, the display 1706 can present a variety of functions that are user selectable and that provide control and conllguration of

the device 1700. In a touch screen example, the display 1706 can display touch selectable icons that facilitate user interaction for control and/or configuration. |0(I82| Power can be provided to the processor 1702 and other onboard componcnis forming the device 1700 by an onboard power system 1710 (t'-g.. a battery pack or fuel cell), in the event that the power system 1710 fails or becomes disconnected from the device 1700, an alternative power source 1712 can be employed to provide power to the processor 1702 and other components (e.g., sensors, image capture device....) and to charge the onboard power system 1710, if a chargeable technology, for example, the alternative power source 1712 can facilitate interface to an cxlcrnal a grid connection via a power converter, fhe processor 1702 can be configured to provide power management services Vo, for example, induce a sleep mode Ihal reduces the currenl draw, or u> iiiiliaic an orderly shutdown of the device 1700 upon detection of an anticipated power failure, 100831 'fhe device 1700 includes a data communications subsystem 1714 having a data communications port 1716. which port 1716 is employed to interface the device 1700 to a remote computing system, server, service, or the like. The port 1716 can include one or more serial interfaces such as a Universal Serial Bus (USB) and/or 11:1 ,i-. 1794 that provide serial communications capabilities. Other technologies can also be included, but arc not limited to. for example, infrared communications utilizing an infrared eommtinications port, and wireless packet communications (I'.g-. Bluetooth''''. Wi-li. and Wi-Max). If a smartphone, the data communications subsyslcm 1714 can include SIM (subscriber identity module) data and the informalion necessary for cellular registration and network communications.
|0084| fhe device 1700 can also include a radio frequency (Rf) transceiver section 1718 in operative communicalion with the processor 1702. The Rr section 1718 includes an Rl- receiver 1720. which receives RF signals from a remote device or system via an antenna 1722 and can demodulate the signal to obtain digital informalion modulated therein, fhe RF section I7IS also includes an RF transmitter 1724 for transmitting informalion (e.g., data, serviee(s)) to a remote device or system, for exaniple, in response to manual user input via a user input device 1726 (e.g.. a keypad), or iiutomaticalK in response to detection of entering and/or anticipation of leaving a communication range or other predetermined and programmed criteria.

|(I085| The device 1700 can also include an audio 1/0 subsystem 1728 that is conlrollcd by the processor 1702 and processes voice input from a microphone or similar audio input device (not shown). The audio subsystem 1728 also facilitates the presentation of speech and audio output signals via a speaker or similar audio output device (not shown).
[0086] The device 1700 can also include an authcntJcaiion componcnl 1730 that interfaces to the processor, and facilitates authentication of a user to the device itself and/or to a remote system. The processor 1702 also interfaces to a sensing subsystems block 1732 that facilitates the capture and input of the OCR data, voice data, handwriting data, and image/video data, for example, for determination of user context and/or concept. Additionally, the device 1700 includes one or more applications 1734 {c.i;.. imaging program, video presentation program, OCR program, search engine....) that can be launched to enable operation of the sensing systems for receiving sensed input data in accordance with the innovative architecture. In accordance with the subject innovation, the applications 1734 can include a client 1736 that facilitates session protocol commimicalions with a proxy and/or redirect server for call routing managcmeiil. !ii support of rules creation and control, the applications 1734 can afso incltide a rules and control component 1738. The device user can then create rules of one or more session responses (e.g.. SIP responses) for communication to the servers to control call forwarding in response to receiving a call and/or during a call, whether client originated to client terminated.
[0((S7] fhe device 1700 can also include a physical interface subsystem 1740 that allows direct physical connection to another system {e.g., via a connector), rather than by wireless communications or cabled communications therebetween.
|0088| Referring now to I-4G. IK, there is illustrated a block diagram of a desktop or portable computer operable to execute client-side call forwarding control ofa call server in accordar\cc with the disclosed architecture. In order to provide addilioniil conlew for various aspects thereof, FIG. 18 and the following discussion arc intended to provide a brief, general description ofa suitable computing environment 1800 in which the various aspects of the innovation can be implemented. While the description above is in ihe general context of computer-executable instructions that may run on one or more

compulers, those skilled in the art will recognize that the innovaliun also can he implemented in combination with other program modules and/or as a combination of hardware and soflware.
|0089| Cjcnerally. program modules include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data ivpes. Moreover, those skilled in the art will appreciate that the inventive methods can he pracliccd with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal compulers. hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operative!) coupled to one or more associated devices.
[00901 fhc illustrated aspects of the innovation may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memor\ storage devices.
10091) A computer typically includes a variety of computer-readable mcdiii. Computer-readable media can be any available media that can be accessed by the computer and includes both volatile and non-volatile media, removable and non¬removable media. By way of example, and not limitation, computer-readable media can comprise computer storage media and communication media. Computer storage media includes both volatile and non-volatile, removable and non-retnovablc media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EFPROM, flash memory or other memory technology, CD-ROM. digital video disk (DVD) or other optical di.sk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired informalion nnd which can be accessed by the computer.
[0092] With reference again to FIG. 18, the exemplary environment 1800 for implementing various aspects includes a computer 1802, the computer 1802 including a

processing unit 1804. a system memory 1806 and a system bus 1808. Tlie .system bus 1808 couples system components including, but not limited to. the syslem memory 1806 to the processing unit 1804. The processing unit 1804 can be any of various commercially availab)e processors. Dual microprocessors and other muhi-processor archilectures may also be employed as the processing unil 1804.
|(I093| The system bus 1808 can be any of several types of bus structure that ma\ fuvlhcr iiHereotiiiccl lo a memory bus (wilh or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. I'he system memory 1806 includes read-only memory (ROM) 1810 and random aeeess memory (RAM) 1812. A basic input/output syslem (BIOS) is .stored in a non-volalilc memory 1810 such as ROM, l-PROM. BEPROM, which BIOS coniain.s the basic routines that help lo transfer inlbrmation between elements within the computer 1802. such as during start-up. "Fhe RAM 1812 can also include a high-speed RAM such as static RAM for caching data,
1
100941 Ihe computer 1802 further includes an internal hard disk drive (HDD) 1814 (f.<;.. IJDIi, SATA). which internal hard disk drive 1814 may also be configured for external use in a suitable chassis (not shown), a magnetic floppy disk drive (1-DD) 1816. (i:'.,i.'.. to read from or write to a removable diskette 1818) and an optical disk drive 1820. (t'.^y., reading a CD-ROM disk 1822 or. to read from or write to other high capacil\' optical media such as ihc DVD). The hard disk drive 1814, magnetic disk drive lSl6aiid optical disk drive 1820 can be connected to the syslem bus 1808 by a hard disk drive interface 1824. a magnetic disk drive interface 1826 and an optical drive interface 1828. respectively. The inicrface 1824 for external drive implementations includes at least one or both of L'niversal Serial Bus (USB) and IHRE 1394 interface technologies. Other external drive connection technologies are within contemplation of the subjeel innovation.
10095] The drives and their associated computer-readable media provide nonvolaiile storage of data, data .structures, computer-executable instructions, and so forth, for the computer 1802. the drives and media accommodate the storage of any data in a suitable digital formal. Allhough the description of computer-readable media above refers lo a HDD. a removable magnetic diskette, and a removable optical media such as a CD or

OVI>, ii should he appreciated by those skilled \n the art that other types oV media which are readable by a computer, such as zip drives, magnetic cassettes, flash memory eards. cartridges, and the like, may also be used in the exemplary operating environment, and further, thai any such media may contain computer-e.vccutable instructions for performing the methods of the disclosed innovation.
[00961 A number of program modules can be stored in the drives [ind RAM 1812. including an operating system 1830. one or more application programs 1832. other program modules 1834 and program data 1836. All or portions of the operating system, applications, modules, and/or data can also be cached in the RAM 1812. Ii is to be appreciated ihat the innovation can be implemented with various commercially a\ailablc operating s\ stems or combinations of operating systems.
|fl(»97] A user can enter commands and information into the computer 1802 thrcugh one or more wired/wireless input devices, for example, a keyboard 1838 and a pointing device, such as a mouse 1840. Other input devices (not shown) may include a microphone, an IR rcmoie control, a joystick, a game pad. a stylus pen. touch screen, or the like, fhese and other input devices are often connected to the processing unit 1804 through an input device interface 1842 that is coupled to the system bus 1808. but can be connected by other interfaces, such as a parallel port, an lllVA: 1394 serial port, a game port, a liSU port, an IR interface, elc.
l(KI98| A monitor 1 844 or other type of display device is also connected to the s\siem bus 1 808 via an interface, such as a video adapter 1846. In addition lo the monitor 1844. a compuler typically includes other peripheral output devices (not shown), such as speakers, printers, elc.
\{)W)\ flic computer 1802 may operate in a networked environment using logical connections via wired and/or wireless communications to one or more remote computers, such as a remote computer(s) 1848. The remote computer{s) 1848 can be a workslalion. a server compiucr, a router, a personal computer, portable computer, microprocessor-based cntcrtainmcnl appliance, a peer device or other common network node, and t)pictil!y incindes many or all of the elements described relative to the computer 1802. although, for purposes of brevity, only a memory/storage device I 850 is ilkistraled. fhc logical connections depicted include wired/wireless connectivity to a local area network

(FAN) 1852 and/or larger networks, for example, a wide area network (WAN) I8.S4. Such L,AN and WAN networking environments are commonplace in otfices inul companies, and facilitate enterprise-wide computer networks, such as intranets, all of which may connect to a global commtinications network, for example, the Internet. (dOlOOl When used in a LAN networking environment, the computer 1802 is connected to the local network 1852 through a wired and/or wireless communication network imerface or adapter 1856. Ihc adaptor 1856 may facilitate wired or wireless communication to the FAN 1852. which may also include a wireless access point disposed thereon for communicating with the wireless adaptor 1856. |()0I01| When used in a WAN networking environment, the computer 1802 can include a modem 1858, or is connected lo a communications server on the WAN 1854. or has other means for establishing communications over the WAN 1854. such as by wa> of the inlernel. Fhe modem 1858, which can be internal or external and a wired or wireless device, is connected to the system bus 1808 via the serial port interface 1842. In a networked environment, program modules depicted relative to the coniptiicr 1802. or portions thereof, can be stored in the remote memory/storage device 1850. U will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers can be used. |(K)I02) Fhe computer 1802 is operable to communicate with any wireless devices or entities operatively disposed in wireless communication, for example, a printer, scanner, dcsklop and/or portable computer, portable data assistant, communications satellite. an\ piece of equipment or location associated with a wirelessly detectable tag {e.g.. a kiosk, news stand, reslroom). and telephone. This includes at least Wi-Fi and Bluetoolh'"'^' wireless technologies. Thus, the communication can be a predetlned structure as with a conventional network or simply an ad hoc communication between at least two devices, 1(101031 Wi-f i. or Wireless Fidelity, allows connection to the Inicrnel from a couch at home, a bed in a hotel room, or a conference room at work, without wires. Wi-Fi is a v\ireless technology similar to that used in a cell phone that enables such devices, for example, computers, to send and receive data indoors and out: anywhere v\ithin the range of a base .station. Wi-Fi networks use radio technologies called \Y;\':\\ 802,1 Ix (a. b. g. elf.) lo provide secure, reliable, fast wireless connectivity. A Wi-Fi network can be used

to eontieel compLiters lo each other, to the Internet, and to wired networks (which use II-:i;i- 802.3 or Klhernei).
I00104I Wi-l-i networks can operate in the unlicensed 2.4 and 5 Gil/ radio bands. 11:1:1- 802.11 applies to generally to wireless LANs and provides I or 2 Mbps transmission in the 2.4 CJH/ band using either frequency hopping spread spectrum (MISS) or direct sequence spread spectrum (DSSS). lEiEL 802.1 la is an e.xtension to ll:i:li 802.1 I that applies to wireless LANs and provides up to 54 Mbps in the 5(Jl(/ band, l[:HI: 802.11a uses an orthogonal frequency division mulliple.xing (OIDM) encoding scheme rather than THSS or DSSS. 11£EE S02.1 ib (also rcicrred lo as X02.11 High Rale DSSS or Wi-Li) is an extension to 802.11 that applies to wireless LANs and provides ! I Mbps transmission (with a fallback to 5.5, 2 and I Mbps) in ihe 2.4 (ill/ band. JL'LI: S02,1 Ig applies to wireless LANs and provides 20* Mbps in the 2.4 Cil 1/ band. Products can contain more than one band (t.g.. dual band), so the networks can provide real-world performance similar to the basic lOBasef wired [:thernct networks used in many oftlces.
|fl()l05j What has been described above includes examples of the disclosed innovation. It is. of tovirsc, not possible to describe every conceivable combination of components and/or methodologies, but one of ordinary skill in the art may recognize that many further combinations and permutations are possible. Accordingly, the innovation is intended lo embrace all such alterations, modillcations and variations that fall within the spirit and scope of the appended claims, l-urthermore, to the extent that the term "includes" is used in cither the detailed description or the claims, such term is intended to he inclusive in a manner similar to the term ""comprising" as "comprising" is interpreted when emplo\ed as a transitional word in a claim.

I/WE CLAIM:
1. A computer-implemented system that facilitates phone call man age mem.
comprising:
a call routing component of a call server for routing a call of a client lo a destination; and
a control component of the client for controlling the routing of ihe call at ihc server.
2. The system of claim 1, wherein the control component of ihc client signals the call routing component of the server using one or more messages of a session prott>col to control the routing of the call on the server.
3. fhe system of claim 2, wherein the session protocol is session initiation protocol (SIP).
4. fhc system of claim 3, wherein a provisional response message of the SIP
includes a call forwarding rule that is transmitted from the client to the server, which
when executed by the server, routes the call.
5- The system of claim 3. wherein a redirection response message of die Sll'
includes a call forwarding rule that is transmitted from the client to the server. v\hich when executed by the server, routes the call.
6. "fhe system of claim 3, wherein the control component facilitates routing
of the call using at least one of Ixx and 3xx Sll* responses.
7, fhe system of claim I, wherein Ihe call routing component of the call
server halts processing of a rule related to the call and processes a call routing rule
received from the control component of the client.

8. riie system of claim I, wherein the control component of the clicnl
exposes session protocol messages for user access, and the user creates a cliem-side scripl for transmission to and execution by the call routing component to route the call.
'). Ihe system of claim i. wherein the control compoaent facilitates
controlling routing of the call al the server while concurrently processing signaling and messaging at the client.
I 0. A method of managing phone call routing, comprising: receiving a plionc call for processing;
signaling a cail server from the client using a call forwarding rule created al the client: and
routing the cail at the server based on the call forwarding rule.
I I. The method of claim 10. further comprising dynamically signaling the cali server from the client to forward the call when the call is received at the call server.
12. The method of claim 10. further comprising:
detecting a presence of other online clients; and
routing the call at the call server based on the call forwarding rule lo connect the call to the other online clients,
13. Ihe method of claim 10, further comprising;
deiecling a change in geographic location of the client to a new location; and
routing the call at the cali server based on the call forwarding rule which facilitates routing the call to the new location of the client.
14. fhe method of claim 10. further comprising executing a SIP message of"
the call forwarding rule to enable routing of the call at the call server.

15. The method of claim 10, further comprising;
detecting a call from an account; and
routing ihe call at the call server based on the call forwarding rule which faciliUiles routing the call to a destination associated with the account.
16. The method of claim iO. further comprising connecting multiple dilTereni eall panics lo the call based on llie client-based call forwarding rule.
17. fhe method of claim 10, further comprising dynamically lerminaling ihu call at another device based on the call forwarding rule while the client is cLirrenlK processing another call.
18. fhe method ofclaim 10. further comprising:
transmitting the call forwarding rule to the call server in response lo receiving the phone call, which is a PSTN-bascd call; and
routing the PS'l N-based call at the call server to a mobile phone based on the call forwarding rule.
19. fhe method of claim 10, further comprising:
creating a script at the client, which script includes one or more of Sll* provisional response messages and SIP redirect response messages;
transmitting the script to the call server in response lo receiving the phone call; and
processing the script to perform routing of the call at the server,
20. A call management system, comprising:
means for crcaling a call routing rule on a client;
means for receiving a call at one of a client and a SIP call server Ibr processing;
means for transmitting the call routing rule to the call server from the client;

means for executing the call routing rule at the call server: and means for routing the call at the server based on the eall routing rule.

Documents

Orders

Section Controller Decision Date

Application Documents

# Name Date
1 1096-CHENP-2009-RELEVANT DOCUMENTS [15-09-2023(online)].pdf 2023-09-15
1 Wipo Publication Page_As Filed_26-02-2009.pdf 2009-02-26
2 1096-CHENP-2009-RELEVANT DOCUMENTS [26-09-2022(online)].pdf 2022-09-26
2 ISR_As Filed_26-02-2009.pdf 2009-02-26
3 Form5_As Filed_26-02-2009.pdf 2009-02-26
3 1096-CHENP-2009-RELEVANT DOCUMENTS [23-09-2021(online)].pdf 2021-09-23
4 Form3_As Filed_26-02-2009.pdf 2009-02-26
4 1096-CHENP-2009-RELEVANT DOCUMENTS [27-03-2020(online)].pdf 2020-03-27
5 Form26_General Power of Attorney_26-02-2009.pdf 2009-02-26
5 1096-CHENP-2009-RELEVANT DOCUMENTS [28-05-2019(online)].pdf 2019-05-28
6 Form2 Title Page_Complete_26-02-2009.pdf 2009-02-26
6 1096-CHENP-2009-RELEVANT DOCUMENTS [28-03-2019(online)].pdf 2019-03-28
7 Form1_As Filed_26-02-2009.pdf 2009-02-26
7 1096-CHENP-2009-RELEVANT DOCUMENTS [15-03-2019(online)].pdf 2019-03-15
8 Drawings_As Filed_26-02-2009.pdf 2009-02-26
8 1096-CHENP-2009-RELEVANT DOCUMENTS [28-03-2018(online)].pdf 2018-03-28
9 1096-CHENP-2009-RELEVANT DOCUMENTS [15-03-2018(online)].pdf 2018-03-15
9 Description Complete_As Filed_26-02-2009.pdf 2009-02-26
10 1096-CHENP-2009-IntimationOfGrant15-12-2017.pdf 2017-12-15
10 Correspondence by Agent_As Filed_26-02-2009.pdf 2009-02-26
11 1096-CHENP-2009-PatentCertificate15-12-2017.pdf 2017-12-15
11 Claims_As Filed_26-02-2009.pdf 2009-02-26
12 Abstract_As Filed_26-02-2009.pdf 2009-02-26
12 Abstract_Granted 290658_15-12-2017.pdf 2017-12-15
13 Claims_Granted 290658_15-12-2017.pdf 2017-12-15
13 Form3_After Filing_07-08-2009.pdf 2009-08-07
14 Correspondence by Agent_Form3_07-08-2009.pdf 2009-08-07
14 Description_Granted 290658_15-12-2017.pdf 2017-12-15
15 Drawings_Granted 290658_15-12-2017.pdf 2017-12-15
15 Form18_Normal Request_26-09-2010.pdf 2010-09-26
16 Correspondence by Agent_Form18_26-09-2010.pdf 2010-09-26
16 Marked Up Claims_Granted 290658_15-12-2017.pdf 2017-12-15
17 Assignment_As Filed_03-02-2015.pdf 2015-02-03
17 1096-CHENP-2009-Written submissions and relevant documents (MANDATORY) [27-10-2017(online)].pdf 2017-10-27
18 1096-CHENP-2009-FORM 3 [16-10-2017(online)].pdf 2017-10-16
18 Form6_Applicant Name change with address_28-02-2015.pdf 2015-02-28
19 Correspondence by Agent_Power of Attorney_09-10-2017.pdf 2017-10-09
19 Correspondence by Office_Reply to Examination Report_24-08-2016.pdf 2016-08-24
20 1096-CHENP-2009-Correspondence to notify the Controller (Mandatory) [06-10-2017(online)].pdf 2017-10-06
20 Marked-up Copy_Claims_15-09-2016.pdf 2016-09-15
21 1096-CHENP-2009-FORM-26 [06-10-2017(online)].pdf 2017-10-06
21 Form5_FER Reply_15-09-2016.pdf 2016-09-15
22 1096-CHENP-2009-HearingNoticeLetter.pdf 2017-09-13
22 Form2 Title Page Complete_FER Reply_15-09-2016.pdf 2016-09-15
23 Abstract_FER Reply_15-09-2016.pdf 2016-09-15
23 Form1_FER Reply_15-09-2016.pdf 2016-09-15
24 Correspondence by agent_Reply to Examination Report_15-09-2016.pdf 2016-09-15
24 Claims_FER Reply_15-09-2016.pdf 2016-09-15
25 Claims_FER Reply_15-09-2016.pdf 2016-09-15
25 Correspondence by agent_Reply to Examination Report_15-09-2016.pdf 2016-09-15
26 Abstract_FER Reply_15-09-2016.pdf 2016-09-15
26 Form1_FER Reply_15-09-2016.pdf 2016-09-15
27 1096-CHENP-2009-HearingNoticeLetter.pdf 2017-09-13
27 Form2 Title Page Complete_FER Reply_15-09-2016.pdf 2016-09-15
28 1096-CHENP-2009-FORM-26 [06-10-2017(online)].pdf 2017-10-06
28 Form5_FER Reply_15-09-2016.pdf 2016-09-15
29 1096-CHENP-2009-Correspondence to notify the Controller (Mandatory) [06-10-2017(online)].pdf 2017-10-06
29 Marked-up Copy_Claims_15-09-2016.pdf 2016-09-15
30 Correspondence by Agent_Power of Attorney_09-10-2017.pdf 2017-10-09
30 Correspondence by Office_Reply to Examination Report_24-08-2016.pdf 2016-08-24
31 1096-CHENP-2009-FORM 3 [16-10-2017(online)].pdf 2017-10-16
31 Form6_Applicant Name change with address_28-02-2015.pdf 2015-02-28
32 1096-CHENP-2009-Written submissions and relevant documents (MANDATORY) [27-10-2017(online)].pdf 2017-10-27
32 Assignment_As Filed_03-02-2015.pdf 2015-02-03
33 Correspondence by Agent_Form18_26-09-2010.pdf 2010-09-26
33 Marked Up Claims_Granted 290658_15-12-2017.pdf 2017-12-15
34 Drawings_Granted 290658_15-12-2017.pdf 2017-12-15
34 Form18_Normal Request_26-09-2010.pdf 2010-09-26
35 Correspondence by Agent_Form3_07-08-2009.pdf 2009-08-07
35 Description_Granted 290658_15-12-2017.pdf 2017-12-15
36 Form3_After Filing_07-08-2009.pdf 2009-08-07
36 Claims_Granted 290658_15-12-2017.pdf 2017-12-15
37 Abstract_As Filed_26-02-2009.pdf 2009-02-26
37 Abstract_Granted 290658_15-12-2017.pdf 2017-12-15
38 1096-CHENP-2009-PatentCertificate15-12-2017.pdf 2017-12-15
38 Claims_As Filed_26-02-2009.pdf 2009-02-26
39 1096-CHENP-2009-IntimationOfGrant15-12-2017.pdf 2017-12-15
39 Correspondence by Agent_As Filed_26-02-2009.pdf 2009-02-26
40 1096-CHENP-2009-RELEVANT DOCUMENTS [15-03-2018(online)].pdf 2018-03-15
40 Description Complete_As Filed_26-02-2009.pdf 2009-02-26
41 1096-CHENP-2009-RELEVANT DOCUMENTS [28-03-2018(online)].pdf 2018-03-28
41 Drawings_As Filed_26-02-2009.pdf 2009-02-26
42 Form1_As Filed_26-02-2009.pdf 2009-02-26
42 1096-CHENP-2009-RELEVANT DOCUMENTS [15-03-2019(online)].pdf 2019-03-15
43 Form2 Title Page_Complete_26-02-2009.pdf 2009-02-26
43 1096-CHENP-2009-RELEVANT DOCUMENTS [28-03-2019(online)].pdf 2019-03-28
44 Form26_General Power of Attorney_26-02-2009.pdf 2009-02-26
44 1096-CHENP-2009-RELEVANT DOCUMENTS [28-05-2019(online)].pdf 2019-05-28
45 Form3_As Filed_26-02-2009.pdf 2009-02-26
45 1096-CHENP-2009-RELEVANT DOCUMENTS [27-03-2020(online)].pdf 2020-03-27
46 Form5_As Filed_26-02-2009.pdf 2009-02-26
46 1096-CHENP-2009-RELEVANT DOCUMENTS [23-09-2021(online)].pdf 2021-09-23
47 1096-CHENP-2009-RELEVANT DOCUMENTS [26-09-2022(online)].pdf 2022-09-26
47 ISR_As Filed_26-02-2009.pdf 2009-02-26
48 1096-CHENP-2009-RELEVANT DOCUMENTS [15-09-2023(online)].pdf 2023-09-15
48 Wipo Publication Page_As Filed_26-02-2009.pdf 2009-02-26
49 1096-CHENP-2009-FORM-27 [11-09-2025(online)].pdf 2025-09-11

ERegister / Renewals

3rd: 25 Jan 2018

From 15/08/2009 - To 15/08/2010

4th: 25 Jan 2018

From 15/08/2010 - To 15/08/2011

5th: 25 Jan 2018

From 15/08/2011 - To 15/08/2012

6th: 25 Jan 2018

From 15/08/2012 - To 15/08/2013

7th: 25 Jan 2018

From 15/08/2013 - To 15/08/2014

8th: 25 Jan 2018

From 15/08/2014 - To 15/08/2015

9th: 25 Jan 2018

From 15/08/2015 - To 15/08/2016

10th: 25 Jan 2018

From 15/08/2016 - To 15/08/2017

11th: 25 Jan 2018

From 15/08/2017 - To 15/08/2018

12th: 10 Jul 2018

From 15/08/2018 - To 15/08/2019

13th: 05 Jul 2019

From 15/08/2019 - To 15/08/2020

14th: 07 Jul 2020

From 15/08/2020 - To 15/08/2021

15th: 01 Jul 2021

From 15/08/2021 - To 15/08/2022

16th: 10 Jul 2022

From 15/08/2022 - To 15/08/2023

17th: 08 Aug 2023

From 15/08/2023 - To 15/08/2024