Sign In to Follow Application
View All Documents & Correspondence

Method And Devices For Routing An Outgoing Call

Abstract: The present invention relates to routing an outgoing call directed to a called party. In one embodiment, a placement of the outgoing call to the called party is detected. In response to the detection, metadata information from the outgoing call is extracted. Thereafter, a request trigger indicative of the outgoing call is created and transmitted to a server. In response to the request trigger, at least one call forwarding profile associated with the called party from the server. The at least one call forwarding profile includes at least one calling rule and one or more routing destinations. Based on the metadata information and the at least one calling rule, a first routing destination from the one or more routing destinations is determined. Thereafter, the outgoing call is routed to the first routing destination.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
14 April 2016
Publication Number
20/2016
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
mail@lexorbis.com
Parent Application
Patent Number
Legal Status
Grant Date
2023-04-20
Renewal Date

Applicants

Comviva Technologies Limited
A-26, Info City, Sector 34, Gurgaon-122001, Haryana, India

Inventors

1. JAIN, Manish Kumar
43, Vasudha Enclave, Pitampura, Delhi – 110034, India
2. SHAH, Mustak
Flat no. 20, DDA MIG Flats, Punjabi Bagh Enclave, Madipur, New Delhi - 110063, India
3. GOYAL, Gaurav
1251P, First Floor, Sector-15, Part-2, Gurgaon-122001, Haryana, India

Specification

DESCRIPTION
TECHNICAL FIELD OF INVENTION
The invention generally relates to call routing solution. More particularly, the
invention relates to routing a call, without involving a network operator.
BACKGROUND OF INVENTION
Conventional Call routing or forwarding solution is widely used and popularly known
in the art. Typically the conventional call forwarding solution is provided by a network
operator. Accordingly, a called user can enable a call-forwarding feature in a mobile device.
Upon enabling, the called user can select condition(s) or event(s) for call forwarding such as
always forward, forward when busy, forward when unanswered, and forward when
unreachable. Upon selecting the condition(s), the called user selects a user from a contact list
for forwarding a call (hereinafter referred to as forwarded user) when the selected
condition(s) occur. For this, the called user goes to settings page in the mobile device, then to
call settings page and then to call forward settings page to configuring call forward features.
As such, when a calling user initiates a call to the called number, the network operator
connects the call with the mobile device of the called user and detects occurrences of the
condition(s) set by the called user. Upon detecting the occurrences and identifying the
forwarded user, the network operator then connects the call between the calling user and the
forwarded user.
Thus, the conventional call forwarding is completely dependent on network operator
and configuration settings on the mobile device. Further, the call connection path between the
calling user and the forwarded user is a longer path and has to pass through the called user.
Moreover the called user also incurs call-forwarding charges since the call has to pass
through the called user. In addition, charges are increased when the calling user is in roaming
when trying to call a local called user. Further, no action is taken if the forwarded user is not
available, resulting in a non-maturity of the call.
Various solutions are available in the market that provides call forwarding features
which are not dependent on configuration settings on the mobile device. In one solution,
application is downloaded onto the mobile device. The application enables setting of call
forwarding condition(s) easily and quickly as the calling user is not required to go to settings
page in the mobile device, then to call settings page and then to call forward settings page to
configuring call forwarding condition(s). Thus, the application is useful if frequent call
forwarding to other numbers is required. However, this solution is still network operator
2
dependent, as the solution requires selection of network operator during the configuration. In
addition, the call still flows in the longer path, i.e., from calling user to called user to
forwarded user. Further, no action is taken if the forwarded user is not available, resulting in
a non-maturity of the call.
In another solution, in a first mode, a connection request is sent to prompt a PSTN to
route the connection request according to an endpoint telephone number. In a second mode,
an authentication server is contacted using an Internet connection and a routing telephone
number for a call-routing provider is received from an authentication server. A connection
request is sent to prompt the PSTN to route the connection request according to the received
routing telephone number. This approach is amenable, for example, to implementation on a
mobile telephone that operates under a calling plan assigned to the phone in the first mode,
and operates under an alternate calling plan subscribed to by a user of the phone, which can
be effected independently from any calling plan assigned to the mobile telephone (e.g., a plan
by an issuer of the mobile telephone and its assigned telephone number).
However, in this solution, the call is first received by a central server to identify
forwarding or routing number. Thereafter, the call is placed to the network operator for
establishing the call with the routing number.
In another solution, call forwarding profiles corresponding to call forwarding settings
based on parameters such as time, location, and/or presence states of a called party are
created. The profiles may also specify how incoming calls are to be forked (e.g. forward to a
single destination, simultaneous ring, cascaded forward defining multiple forks if a first
attempt is unsuccessful). The destination(s) of forwarded calls may also be defined in the
profiles (e.g. voicemail, other end points associated with the user, PSTN, contacts, contact
groups, delegates, etc.). Called users are enabled to pre-configure their call forwarding
profiles based on one or more rules. The call forwarding profiles are then stored in a
communication server, which is a part of a communication network. The communication
network includes network operators/nodes of networks such as PSTN and mobile network.
The communication server monitors mobile device of the called users based on the above
parameters and automatically activates different call forwarding settings on the mobile device
based on the corresponding predefined call forwarding profiles. When an incoming call is
received on the mobile device, the call is forwarded/ routed according to call forwarding
settings.
Thus, the solution enables setting of different call forwarding profiles and multiple
forwarded destinations. However, the call is received by the mobile device before being
3
forwarded in accordance with the activated profile/settings. Further, in this solution, the
mobile device is continuously monitored for various parameters for activation of the
profile/settings. Therefore, such solution is resource intensive.
In one another solution, a linked list of possible forwarding destinations for each
subscriber is centrally stored. The subscriber may provide a list of possible destinations at
which he may be reached or the PABX system can compile a list from the subscriber's
general call forwarding activity. Typically, when a subscriber wishes to transfer a call, he
goes off hook and dials a call transfer code, followed by the number to which calls to his
subscriber's line number are to be transferred. A behaviour database in the PABX system for
each subscriber is maintained based on a success rate at reaching the subscriber at each
destination. Upon receiving an incoming call for the called subscriber at the PABX system, a
target destination is determined from the behaviour database where the called subscriber is
probably located and the incoming call is forwarded to the target destination. The behaviour
database is dynamically updated according to the success rate of the forwarded calls along
with time data.
Thus, the solution requires no action on behalf of a user to establish call forwarding.
The solution enables multiple call forwarding options based on location and time. A target
destination is selected based on success rate of reaching the user at the target destination and
at the particular time. However, this solution is also network operator dependent and the call
is forwarded only upon receiving the call at the PABX system. Further, the selection of target
destination is based on success rate. Therefore, there is a chance of an error that the user may
not be present at the target destination despite having a greater success rate.
In yet another solution, call forwarding is provided in an IP telephone. First, when a
telephone number for a first telephone is dialled from a second telephone, the call is routed to
a call manager. Call setup procedures with a broadband residential gateway (BRG)
responsible for the first telephone are then initiated. The BRG then checks stored call
forwarding profiles to determine whether there is an active call forwarding profile for the first
telephone. The call is connected to the first telephone if an active call forwarding profile is
not found. However, if an active call forwarding profile is found, the call forwarding
information is sent to the call manager. The call is then routed to at least a third telephone
based on the call forwarding information.
However, in this solution, the call is first received by a central server or call manager
to identify forwarded/routed number. Thereafter, the call is placed to the network operator for
establishing the call with the routed number.
4
In yet one another solution, a calling user can specify how to forward (e.g., direct or
redirect) future calls to one or more target phone devices or users. The profiles are saved in a
call management system. Upon initiation of a call by the user, the call management system
intercepts and forwards the user's call in accordance with call forwarding configuration
information previously provided by the user. The call can be received either on data network
such as a local area network, wide area network, and the Internet or on circuit network such
as cellular phone network and PSTN. Further, the call can be connected on either on data
network such as a local area network, wide area network, and the Internet or on circuit
network such as cellular phone network and PSTN. Further, the call can be forwarded to
multiple destinations either simultaneously or in a pre-defined sequence.
Thus, the solution enables multiple call forwarding options. However, this solution is
also network operator or network node dependent since the incoming call is first received by
a central server or call management server, which communicates with forwarded devices over
on data network such as a local area network, wide area network, and the Internet or on
circuit network such as cellular phone network and PSTN.
As can be gathered from above, the above solutions are still dependent on network
operator. Further, the call still flows in the longer path, i.e., from the calling user to the
central server or the called user and finally to the forwarded user. In some cases, the central
server monitors the called mobile device continuously and activates corresponding
profile/settings on the called mobile device. In such case, the call still flows in the longer
path, i.e., from calling user to the called user and then to the forwarded user. In other cases,
the central server itself receives the call and fetches a profile of a relevant called device. In
such case, the call still flows in the longer path, i.e., from calling user to the central server
and then to the forwarded user. Therefore, there is a need for a better solution which
overcomes all the above deficiencies.
SUMMARY OF INVENTION
In accordance with the purposes of the invention, the present invention as embodied
and broadly described herein, relates to routing an outgoing call directed to a called party by
a calling device, without involving a network operator or any intermediate node and without
being resource intensive.
Accordingly, a placement of the outgoing call to the called party is detected. The
outgoing call is placed via one of data communication mode and a circuit communication
mode. In response to the detection, metadata information is extracted from the outgoing call.
5
The metadata information includes an identifier associated with a calling party, an identifier
associated with the called party, a location of the calling device, a date of the outgoing call,
and a time-stamp for the outgoing call. Thereafter, a request trigger indicative of the outgoing
call and including the metadata information corresponding to the outgoing call is created and
transmitted to a server.
In response to the request trigger, at least one call forwarding profile associated with
the called party is received from the server. The at least one call forwarding profile includes
at least one calling rule and one or more routing destinations. Based on the metadata
information and the at least one calling rule, a first routing destination is determined from the
one or more routing destinations, and the outgoing call is routed to the first routing
destination.
Further, in response to the detection, an establishment of a call between the calling
device and the called party is prevented.
Furthermore, if a failure trigger is received from the first routing destination, a second
routing destination is determined from the one or more routing destinations. The failure
trigger is indicative of incomplete call with the first routing destination. The second routing
destination is determined based on the metadata information, the at least one calling rule, and
a pre-defined order. Thereafter, the outgoing call is routed to the second routing destination.
The advantages of the present invention include, but are not limited to, obtaining call
forwarding information or profile of a called party from any intermediate node such as a
central server, without actually placing a call to the intermediate node or the called party.
This completely eliminates dependency on the network operator. The central server,
according to present invention, is being used for storing or saving the forwarding profiles of
plurality of called devices in a database and provides the forwarding profile of the called
party to the calling device upon receiving a request. In addition, the one or more routing
destinations are determined by the calling device without involvement of the network
operator. Thus, a lot of resources and network bandwidth are saved as dependency on
network operator is completely eliminated.
Further, the outgoing call is prevented from being established between the calling
device and the called party before routing the outgoing call. In one implementation, the
outgoing call is prevented from being established between the calling device and any network
node before routing the outgoing call. This further reduces network congestion as the call is
established directly between the calling device and the routing destination.
6
Further, the call flows in a shorter path, i.e., from the calling device to the routing
destination. Therefore, call establishment is faster than conventional solutions and cost
involved in routing calls in considerably reduced since the call is directly established between
the calling device and the routing destination.
Furthermore, a user can set call forwarding profiles either through his device or from
an alternate device upon proper authentication. This enables portability and ease of setting
call forwarding profiles even when the user does not have the device with him.
These and other aspects as well as advantages will be more clearly understood from
the following detailed description taken in conjunction with the accompanying drawings and
claims.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
To further clarify the advantages and features of the invention, a more particular
description of the invention will be rendered by reference to specific embodiments thereof,
which is illustrated in the appended drawings. It is appreciated that these drawings depict
only typical embodiments of the invention and are therefore not to be considered limiting of
its scope. The invention will be described and explained with additional specificity and detail
with the accompanying drawings in which:
Figures 1a to1c illustrate an exemplary method implemented in a calling device for
routing an outgoing call, in accordance with an embodiment of the invention.
Figure 2 illustrates an exemplary calling device for routing an outgoing call, in
accordance with the embodiment of the invention.
Figure 3 illustrates an exemplary network environment that facilitates routing an
outgoing call, in accordance with an embodiment of present invention.
Figure 4 illustrates a first example manifestation of routing an outgoing call, in
accordance with the embodiment of present invention.
Figure 5 illustrates a second example manifestation of routing an outgoing call, in
accordance with the embodiment of present invention.
Figure 6 illustrates a third example manifestation of routing an outgoing call, in
accordance with the embodiment of present invention.
Figure 7 illustrates a fourth example manifestation of routing an outgoing call, in
accordance with the embodiment of present invention.
Figure 8 illustrates a fifth example manifestation of routing an outgoing call, in
accordance with the embodiment of present invention.
7
It may be noted that to the extent possible, like reference numerals have been used to
represent like elements in the drawings. Further, those of ordinary skill in the art will
appreciate that elements in the drawings are illustrated for simplicity and may not have been
necessarily drawn to scale. For example, the dimensions of some of the elements in the
drawings may be exaggerated relative to other elements to help to improve understanding of
aspects of the invention. Furthermore, the one or more elements may have been represented
in the drawings by conventional symbols, and the drawings may show only those specific
details that are pertinent to understanding the embodiments of the invention so as not to
obscure the drawings with details that will be readily apparent to those of ordinary skill in the
art having the benefits of the description herein.
DETAILED DESCRIPTION
For the purpose of promoting an understanding of the principles of the invention,
reference will now be made to the embodiment illustrated in the drawings and specific
language will be used to describe the same. It will nevertheless be understood that no
limitation of the scope of the invention is thereby intended, such alterations and further
modifications in the illustrated system, and such further applications of the principles of the
invention as illustrated therein being contemplated as would normally occur to one skilled in
the art to which the invention relates.
It will be understood by those skilled in the art that the foregoing general description
and the following detailed description are exemplary and explanatory of the invention and are
not intended to be restrictive thereof. Throughout the patent specification, a convention
employed is that in the appended drawings, like numerals denote like components.
Reference throughout this specification to “an embodiment”, “another embodiment”
or similar language means that a particular feature, structure, or characteristic described in
connection with the embodiment is included in at least one embodiment of the invention.
Thus, the appearances of the phrase “in an embodiment”, “in another embodiment” and
similar language throughout this specification may, but do not necessarily, all refer to the
same embodiment.
The terms "comprises", "comprising", or any other variations thereof, are intended to
cover a non-exclusive inclusion, such that a process or method that comprises a list of steps
does not include only those steps but may include other steps not expressly listed or inherent
to such process or method. Similarly, one or more devices or sub-systems or elements or
8
structures proceeded by "comprises... a" does not, without more constraints, preclude the
existence of other devices or other sub-systems.
Various embodiments of the invention will be described below in detail with
reference to the accompanying drawings.
Figures 1a to1c illustrate an exemplary method (100) implemented in a calling device
for routing an outgoing call, in accordance with an embodiment of the invention. In said
embodiment, referring to Figure 1a, the method (100) comprises various steps for routing the
outgoing call. At block (101), a placement of the outgoing call to the called party is detected.
The outgoing call is placed via one of data communication mode and a circuit communication
mode.
At block (102), an establishment of a call between the calling device and the called
party is prevented in response to the detection.
At block (103), metadata information is extracted from the outgoing call in response
to the detection. The metadata information includes an identifier associated with a calling
party, an identifier associated with the called party, a location of the calling device, a date of
the outgoing call, and a time-stamp for the outgoing call.
At block (104), a request trigger indicative of the outgoing call and including the
metadata information corresponding to the outgoing call is created and transmitted to a
server.
Further, for transmitting the request trigger, existence of data connection of the calling
device with the server is determined. In case the data connection exists, the request trigger is
delivered to the server via the data connection. In case data connection does not exist, the
request trigger is delivered to the server via a non-data connection with the server.
At block (105), at least one call forwarding profile associated with the called party is
received from the server in response to the request trigger. The at least one call forwarding
profile includes at least one calling rule and one or more routing destinations. The at least one
call forwarding profile is received via one of a data connection and a non-data connection
with the server.
Further, the at least one call forwarding profile is set by the called party through an
application.
Further, the at least one call forwarding rule is defined based on at least one of:
location of a called device, current state of the called device, time of day, day of week, caller
identity, call context, call modality, and routing type.
9
Further, the one or more routing destinations include a contact from a contact list, a
user-id associated with a multimedia calling application, an unknown contact, and a
voicemail.
Further, the at least one call forwarding profile is stored in a memory for a
predetermined time.
At block (106), a first routing destination is determined from the one or more routing
destinations based on the metadata information and the at least one calling rule.
At block (107), the outgoing call is routed to the first routing destination.
Referring to Figure 1b, the routing of the outgoing call to the first routing destination
as illustrated at block (107) includes further steps. At block (108), a communication mode is
determined for establishing an outgoing call with the first routing destination based on the at
least one calling rule. The communication mode is one of data communication mode and a
circuit communication mode.
At block (109), a call trigger indicative of the outgoing call from the calling device to
the first routing destination is generated. The call trigger includes an identifier associated
with the calling party, an identifier associated with the first routing destination, the date of the
outgoing call, and the time-stamp for the outgoing call.
At block (110), the call trigger is transmitted to the first routing destination for
establishing the outgoing call.
Prior to transmitting the call trigger, at block (111), a message indicative of routing
the call to the first routing destination via the determined communication mode is provided
on a display unit of the calling device.
Thereafter, at block (112), a user-input corresponding to routing confirmation is
received prior to transmitting the call trigger in response to the message on the display unit.
Referring to Figure 1c, the method (100) comprises further steps for routing the
outgoing call. At block (113), a failure trigger is received from the first routing destination,
the failure trigger being indicative of incomplete call with the first routing destination. The
incomplete call is a call that is not established with the first routing destination due to
occurrence of one or more of a plurality of events, the plurality of events include the first
routing destination being busy, the first routing destination being in an out of coverage area,
the first routing destination being unreachable, the first routing destination being switched
off, the call being rejected, the call being unanswered, the call being answered for
predetermined time, and network congestion.
10
At block (114), a second routing destination is determined from the one or more
routing destinations based on the metadata information, the at least one calling rule, and a
pre-defined order.
At block (115), the outgoing call is routed to the second routing destination.
Figure 2 illustrates an exemplary calling device (200) for routing an outgoing call, in
accordance with the embodiment of the invention. The calling device (200) is any electronic
device capable of making and receiving a call over data communication mode and a circuit
communication mode. Accordingly, the calling device (200) may include one or more
multimedia calling applications (201) for making and receiving a call over a data
communication mode. Examples of such multimedia calling applications (201) include, but
not limited to, video calling application and chat application. (For the sake of brevity, only
one multimedia calling application is illustrated). The calling device (200) may also include a
calling application (202) for making and receiving a call over a circuit communication mode
such as via PSTN and mobile network. The calling device (200) is further capable of
communicating over data communication mode and/or non-data communication mode.
Examples of the calling device (200) include, but not limited to, smart phone, laptop,
notebook, tablet, an enhanced general packet radio service (EGPRS) enabled mobile phone,
and Personal Digital Assistance (PDA).
In accordance with the present invention, the calling device (200) implements the
method (100) for routing an outgoing call directed to a called party. Accordingly, the calling
device (200) includes a detecting unit (203) to detect a placement of the outgoing call to the
called party. The calling device (200) further includes a triggering unit (204) to extract
metadata information from the outgoing call in response to the detection. The triggering unit
(204) is further adapted to create and transmit a request trigger indicative of the outgoing call
and includes the metadata information corresponding to the outgoing call to a server.
The calling device (200) further includes a profile receiving unit (205) to receive at
least one call forwarding profile associated with the called party from the server in response
to the request trigger. The at least one call forwarding profile includes at least one calling rule
and one or more routing destinations.
The calling device (200) further includes an analysis unit (206) to determine a first
routing destination from the one or more routing destinations based on the metadata
information and the at least one calling rule.
The calling device (200) further includes a routing unit (207) to route the outgoing
call to the first routing destination. Further, the routing unit (207) determines a
11
communication mode for establishing an outgoing call with the first routing destination based
on the at least one calling rule.
The calling device (200) further includes a messaging unit (208) to provide a message
indicative of routing the call to the first routing destination via the determined
communication mode on a display unit of the calling device (200).
The calling device (200) further includes a call status unit (209) to receive a failure
trigger from the first routing destination. The failure trigger is indicative of incomplete call
with the first routing destination. Based on failure trigger, the analysis unit (206) determines a
second routing destination from the one or more routing destinations based on the metadata
information, the at least one calling rule, and a pre-defined order. Thereafter, the routing unit
(207) routes the outgoing call to the second routing destination.
The calling device (200) further includes a blocking unit (211) to prevent an
establishment of a call between the calling device (200) and the called party in response to
the detection of the outgoing call.
In one aspect of the invention, the detecting unit (203), the triggering unit (204), the
profile receiving unit (205), the analysis unit (206), the routing unit (207), the messaging unit
(208), the call status unit (209), and the blocking unit (211) can be implemented in a single
call managing unit (212). Further, the call managing unit (212) may include calling unit (not
shown in the figure) for making/receiving a call over the data communication mode or the
circuit mode. Thus, the calling unit may have functionalities similar to the multimedia calling
application (201) or the calling application (202).
Further, in one implementation, any of the units can be implemented as a
software/hardware/combination of hardware and software module in the calling device (200).
In another implementation, any combination of the units can be implemented a
software/hardware/combination of hardware and software module in the calling device (200).
In one another implementation, the call managing unit (212) can be implemented a
software/hardware/combination of hardware and software module in the calling device (200).
The call managing unit (212) may further include one or more of routines, programs, objects,
components, data structures, etc., which perform particular tasks, functions or implement
particular abstract data types.
The calling device (200) further includes a display unit (213) adapted to depict
various elements such as images, texts, and videos. Examples include, but not limited to,
depicting a list of applications available on the calling device (200), depicting user-interface
12
corresponding to each of the applications available in the calling device (200), and depicting
various features of the calling device (200).
The calling device (200) further includes a memory (214) such as a random access
memory (RAM), a read only memory (ROM), and/or other type of memory to store data and
instructions. The memory (214) may store the call forwarding profile for a predefined time.
In one implementation, the memory (214) includes the call managing unit (212) as an
application or module. In one example, the application may be a pre-installed application or
pre-loaded application at time of manufacturing of the calling device (200). In another
example, the application may be downloaded from the server by a user. In an alternative
implementation, the functionalities provided by the application may be implemented via an
inbuilt dedicated module in the calling device (200).
The calling device (200) further includes a processor (215) adapted to perform
necessary functions of the calling device (200). The processor (215) may be implemented as
one or more processors, microprocessors, application specific integrated circuits (ASICs),
field programmable gate arrays (FPGAs), or the like.
Further, in one embodiment, all the above mentioned units, i.e., the call managing unit
(212), the detecting unit (203), the triggering unit (204), the profile receiving unit (205), the
analysis unit (206), the routing unit (207), the messaging unit (208), the call status unit (209),
and the blocking unit (211) are provided separately from the processor (215).
In another embodiment, all the above mentioned units, i.e., the call managing unit
(212), the detecting unit (203), the triggering unit (204), the profile receiving unit (205), the
analysis unit (206), the routing unit (207), the messaging unit (208), the call status unit (209),
and the blocking unit (211) are present as a part of the processor (215).
In one another embodiments, any one of above mentioned units is present as a part of
the processor (215). In one such implementation, only the detecting unit (203) is present as a
part of the processor (215). In one such implementation, only the triggering unit (204) is
present as a part of the processor (215). In one such implementation, only the profile
receiving unit (205) is present as a part of the processor (215). In one such implementation,
only the analysis unit (206) is present as a part of the processor (215). In one such
implementation, only the routing unit (207) is present as a part of the processor (215). In one
such implementation, only the messaging unit (208) is present as a part of the processor
(215). In one such implementation, only the call status unit (209) is present as a part of the
processor (215). In one such implementation, only the blocking unit (211) is present as a part
13
of the processor (215). In one such implementation, the call managing unit (212) is present as
a part of the processor (215).
In yet another embodiment, any combination of above mentioned units is present as a
part of the processor (215). In one such implementation, the detecting unit (203) and the
triggering unit (204) are present as a part of the processor (215). In one such implementation,
the detecting unit (203), the triggering unit (204), and the analysis unit (206) are present as a
part of the processor (215). In one such implementation, only the profile receiving unit (205)
is present as a part of the processor (215). In one such implementation, the detecting unit
(203), the triggering unit (204), the analysis unit (206), and the routing unit (207) are present
as a part of the processor (215). In one such implementation, the detecting unit (203), the
triggering unit (204), the analysis unit (206), the routing unit (207), and the messaging unit
(208) are present as a part of the processor (215). In one such implementation, the detecting
unit (203), the triggering unit (204), the analysis unit (206), the routing unit (207), the
messaging unit (208), and the call status unit (209) are present as a part of the processor
(215). In one such implementation, the detecting unit (203), the triggering unit (204), the
analysis unit (206), the routing unit (207), the messaging unit (208), the call status unit (209),
and the blocking unit (211) are present as a part of the processor (215). Although, few
combinations have been illustrated above, it is to be understood that any combination of the
units is possible within the scope of the invention.
Further, the calling device (200) includes an input/output (I/O) unit (216) and a
communication interface unit (217). The communication interface unit (217) may connect to
an antenna assembly (not shown in the figure) for transmission and/or reception of RF
signals, and enables the calling device (200) to communicate with other devices and/or
systems. The various units are communicatively coupled together through a bus (218). It
would be understood that the calling device (200) and the processor (215) may further
include various hardware modules/units/components or software modules or a combination of
hardware and software modules as necessary for implementing the invention.
Although, specific hardware has been illustrated in the figure and described above, it
should be understood that the calling device (200) may include other hardware modules or
software module or combinations as may be required for performing various functions.
Figure 3 illustrates an exemplary network environment (300) that facilitates routing
an outgoing call, in accordance with an embodiment of present invention. In such
embodiment, a calling device (301) and a called device (302) communicate with each other
over a communication network (303). The calling device (301) and the called device (302)
14
are capable of making and receiving a call over data communication mode and a circuit
communication mode through the communication network. As such, the calling device (301)
and the called device (302) may include one or more multimedia calling applications (201)
for making and receiving a call over a data communication mode. The calling device (301)
and the called device (302) may also include the calling application (202) for making and
receiving a call over a circuit communication mode such as via PSTN and mobile network.
Thus, the communication network (303) may include one or more network nodes such as
mobile Switching centre (MSC), a base station subsystem (BSS), a radio access network
(RAN), a telephone exchange, a telephone switch, and server(s) supporting the multimedia
calling applications.
Further, the calling device (301) and the called device (302) include components as
illustrated and described in reference to Figure 2 above. Examples of the calling device (301)
and the called device (302) include, but not limited to, smart phone, laptop, notebook, tablet,
an enhanced general packet radio service (EGPRS) enabled mobile phone, and Personal
Digital Assistance (PDA).
The calling device (301) and the called device (302) further communicate with a
server (304) either via a data communication channel or a non-data communication channel.
Further, the server (304) is independent of network operator or network component of the
communication network (303). The call managing unit (212) is available in both the calling
device (301) and the called device (302). In one example, the call managing unit (212) may
be a pre-installed application or pre-loaded application at time of manufacturing of the calling
device (301) and the called device (302). In another example, the call managing unit (212)
may be an application downloaded from the server (304) by users of the calling device (301)
and the called device (302). In one another example, the call managing unit (212) may be a
part of a processor of the devices (301, 302). Thus, in accordance with the invention, the call
managing unit (212) is available in both the calling device (301) and the called device (302).
Further, the calling device (301) and the called device (302) may register with the
server (304) for accessing the call managing unit (212), as known in the art. Through the call
managing unit (212), a user of the called device (302) may set one or more call forwarding
profile(s) (305) for handling incoming call(s) (represented by solid lines and reference
numeral 1). The call forwarding profile (305) includes one or more call forwarding rules and
one or more routing destinations. The call forwarding rules are defined based on various
parameters such as location of the called device (302), current state of the called device
(302), time of day, day of week, caller identity, call context, call modality, presence
15
information of the called party or the user in multimedia application, and routing type. The
routing destination can be a contact from a contact list, a user-id associated with a multimedia
calling application, an unknown contact, and a voicemail. Further, the call forwarding rules
may be simple and complex. Each call forwarding rule can be associated with one or more
routing destinations in a predefined order such that if first routing destination is not available
then the incoming call is routed to a second routing destination.
Thus, the call forwarding rules define settings for enabling the user to handle different
incoming calls in different and personalised manner. For example, the user can define first
call forwarding profile for “on client visit”, second call forwarding profile for “on vacation”,
and third call forwarding profile for “travelling”. The first call forwarding profile may
include call forwarding rules based on location specifying client location and time specifying
total time of visit, and routing destination as contact number of work-colleague for calls
corresponding to work related matters as call context and contact number of personal
assistant for routing calls having location “home/near home”. The second call forwarding
profile may include call forwarding rules based on location of vacation, time/duration of
vacation, and presence of user indicating “on vacation’ on multimedia application, and
routing destination as voice mail for all incoming calls except for calls having location
“home/near home”. The third call forwarding profile may include call forwarding rules based
on time/duration of travelling and a first routing destination as a contact number of personal
assistant for calls having location “home/near home” and a second routing destination as
voice mail for all other incoming calls.
The user may set the call forwarding profile(s) (305) as known in the art through the
call managing unit (212) on the called device (302). In one example, the call managing unit
(212) may provide a user-interface on the called device (302) for setting the call forwarding
profile(s) (305).
Further, the user may set the call forwarding profile(s) (305) through the call
managing unit (212) available on an alternate device (not shown in the figure) other than the
called device (302). In one example, the call managing unit (212) may provide a userinterface
on the alternate device for setting the call forwarding profile (305). Accordingly, the
user may provide login credentials into the user interface. Upon authentication of the login
credentials, the user can set the call forwarding profile(s) (305). Examples of the device
include, but not limited to, smart phone, laptop, notebook, tablet, an enhanced general packet
radio service (EGPRS) enabled mobile phone, and Personal Digital Assistance (PDA).
16
Thus, the calling device (301), the called device (302), and the alternate device are
registered with the server (304) for accessing the call managing unit (212). However, upon
registration, a user of any of the device can set call forwarding profiles through the call
managing unit (212) available on any of the device upon proper authentication. This enables
portability and ease of setting call forwarding profiles even when the user does not have the
device with him.
Upon receiving the call forwarding profile(s) (305) from the user, called device (302)
sends the call forwarding profile(s) (305) to the server (304). In one implementation, the call
managing unit (212) may include a profile setting unit (not shown in the figure) to enable the
user to set the call forwarding profile(s) (305) and transmit the call forwarding profile(s)
(305) to the server (304). The call forwarding profile (305) is transmitted either via the data
communication channel or the non-data communication channel.
Upon receiving the call forwarding profile(s) (305), the server (304) stores call
forwarding profile(s) (305) and details of the called device (302) in a database (306) such that
the call forwarding profile(s) (305) is mapped with the user of the called device (302). The
server (304) may further store the details in the database (306) in corresponding account of
the user, as known in the art. In one example, the database (306) can be external to the server
(304). In another example, the database (306) can be internal to the server (304).
In accordance with the invention, the calling device (301) initiates an outgoing call to
the called device (302) over the communication network (303). The outgoing call can be
made either over data communication mode or a circuit communication mode. In one
example, a user of the calling device (301) can initiate a call to the user of the called device
(302) via the multimedia calling application (201) available in the calling device (301). In
another example, the user of the calling device (301) can initiate a call to the user of the
called device (302) via the calling application (202) available in the calling device (301). In
one another example, the user of the calling device (301) can initiate a call to the user of the
called device (302) via the call managing unit (212) available in the calling device (301).
The detecting unit (203) detects the placement of the outgoing call. In response to the
detection, the blocking unit (211) prevents establishment of the outgoing call between the
calling device (301) and the called device (302). In one implementation, the outgoing call is
put on hold before reaching the network operator or network node in the communication
network (303).
Further, in response to the detection, the triggering unit (204) extracts metadata
information from the outgoing call. The metadata information includes an identifier
17
associated with a user of the calling device (301) or calling party, an identifier associated
with the user of the called device (302) or a called party, a location of the calling device
(301), a date of the outgoing call, and a time-stamp for the outgoing call. The identifier
associated with the calling party can be a calling party number and a calling user-id
associated with a multimedia calling application. The identifier associated with the called
party can be a called party number and a called user-id associated with the multimedia calling
application. In one example, the metadata information is obtained from call logs of the calling
device (301). The call logs can be logs maintained by the calling application (202) and the
multimedia calling application (201), when calls are made through these applications. The
call logs can be logs maintained by the call managing unit (212) when calls are made through
the call managing unit (212). In another example, the metadata information is obtained when
a call is made directly from the call managing unit (212). In one another example, the
location of the calling device (301) is determined using location determining techniques such
as GPS-location and satellite triangulation.
Upon extracting the metadata information, the triggering unit (204) creates a request
trigger indicative of the outgoing call and includes the metadata information. The request
trigger may also include a query to the server (304) to confirm if the called device (302) has
set any call forwarding profiles. The triggering unit (204) then transmits the request trigger to
the server (304) (represented by bold lines and reference numeral 2). In one example, such a
request trigger can be sent by the triggering unit (204) using a message frame, as known in
the art.
The request trigger is sent via either a data connection or a non-data connection with
the server (304). Accordingly, in one implementation, the triggering unit (204) determines
existence or availability of data connection in the calling device (301) with the server (304).
Examples of the data connection include, but not limited to, Wi-Fi, LAN data, and mobile
data. As would be understood, the existence or availability of data connection in a device is
availability of capability in the device to communicate data over the data connection,
although the data connection may or may not be active in the device at the time of sending
the data. In case the data connection exists, the triggering unit (204) delivers the request
trigger to the server (304) via the data connection. Thus, if the data connection is not active,
the triggering unit (204) activates the data connection and transmits the request trigger. In
case data connection does not exist, the triggering unit (204) delivers the request trigger to the
server (304) via a non-data connection with the server (304). Examples of such non-data
18
connection mode include, but not limited to, SMS mode, USSD mode, and push message
mode.
Upon receiving the request trigger, the server (304) determines if a call forwarding
profile is available for the called device (302) in the database (306). In an example, the server
(302) fetches a call forwarding profile based on the identifier associated with the called party
present in the metadata information. If a call forwarding profile is not present in the database
(306), the server (304) provides a response trigger indicative of non-availability of the call
forwarding profile. In one example, the response trigger can be sent by the server (304) using
a message frame, as known in the art. The message frame may include a single character
indicative of non-availability of the profile. The server (304) sends the response trigger via
either a data connection or a non-data connection with the profile receiving unit (205), in a
manner similar to the triggering unit (204). Upon receiving the response trigger, the blocking
unit (211) connects the outgoing call with the network operator or the network node in the
communication network (303) for establishment of the call in conventional manner
(represented by dashed lines and reference numeral 3). In an implementation, the outgoing
call that was earlier put on hold by the blocking unit (211) is released such that the outgoing
call reaches the network operator or network node in the communication network (303).
On the contrary, if the call forwarding profile is available, the server (304) transmits
the call forwarding profile (305) to the profile receiving unit (205). The server (304) sends
the call forwarding profile(s) (305) via either a data connection or a non-data connection with
the profile receiving unit (205).
Upon receiving the call forwarding profile(s) (305), the profile receiving unit (205)
stores the call forwarding profile(s) (305) in the memory (214) for a predetermined time. The
predetermined time can be pre-set as factory settings.
Thereafter, the analysis unit (206) analyses the call forwarding profile(s) (305) and
determines a routing destination (307) based on the metadata information and the calling
rule(s) in the call forwarding profile(s) (305). As described earlier, examples of the routing
destination (307) include, but not limited to, smart phone, laptop, notebook, tablet, an
enhanced general packet radio service (EGPRS) enabled mobile phone, and Personal Digital
Assistance (PDA). Accordingly, the analysis unit (206) may again determine the location of
the calling device (301) using location determining techniques such as GPS-location and
satellite triangulation. Based on the location, the analysis unit (206) may compare the
location(s) specified by the calling rule(s) and accordingly determine the routing destination
19
(307). Similarly, the analysis unit (206) may determine the time of the outgoing call from the
metadata information and analyse the call forwarding profile(s) (305).
In one example, the call forwarding profile (305) may include a call forwarding rule
based on time/duration of travelling as 1100 to 1200 hours (hrs) and a first routing destination
as a contact number of personal assistant for incoming calls having location “home/near
home” and a second routing destination as voice mail for all other incoming calls via circuit
connection mode. In such example, if the current location of the calling device (301) is
“home/near home” and the time of the call is 1130 hrs, the analysis unit (206) determines the
routing destination (307) as contact number of personal assistant. However, if the current
location of the calling device (301) is not “home/near home” and the time of the call is 1130
hrs, the analysis unit (206) determines the routing destination (307) as voice mail.
Further, in the above example, the call forwarding profile (305) may include another
call forwarding rule based on time/duration of travelling as 1100 to 1200 hrs and a routing
destination as voice mail for all incoming calls from a multimedia application via data
communication mode.
Further, if no routing destination is available in the call forwarding profile (305) in
accordance with the metadata information and the calling rule(s), the analysis unit (206) may
determine a default routing destination. In one implementation, the default routing destination
can be the called device (302). In another implementation, the default routing destination can
be any other contact. The default routing destination can be set by the user of the called
device (302) or can be pre-set. In the above example, if the current location of the calling
device (301) is “home/near home” and the time of the call is 1230 hrs, the analysis unit (206)
determines the routing destination (307) as the called device (302) as no routing destination is
specified for the location and time of the incoming call.
In another example, a first call forwarding profile for “on client visit” and a second
call forwarding profile “vacation” are obtained. The first call forwarding profile may include
call forwarding rules based on location specifying “client location” and time and date
specifying total time and dates of visit, and first routing destination as contact number of
work-colleague for calls corresponding to work related matters as call context and location as
“not home/near home”, and second routing destination as contact number of personal
assistant for routing calls having location “home/near home”. The second call forwarding
profile may include call forwarding rules based on location of vacation, time and dates of
vacation, and presence of user indicating “on vacation’ on multimedia application, and
20
routing destination as voice mail for all incoming calls except for calls having location
“home/near home”.
In such example, when a call is received from a home during time of client visit, the
call is routed to personal assistant. On the other hand, when the call is received from a home
during time of vacation, the call is routed to called device. Likewise, when a call is received
from office during time of client visit, the call is routed to co-worker. On the other hand,
when the call is received from office during time of vacation, the call is routed to voicemail.
Upon determining the routing destination (307), the routing unit (207) determines a
communication mode for establishing an outgoing call with the routing destination (307)
based on the calling rule(s). The communication mode is one of data communication mode
and a circuit communication mode. For example, the routing destination can be user-id
associated with the multimedia application. In such example, the communication mode is
determined as a data communication mode.
Upon determining the communication mode, the messaging unit (208) provides a
message indicative of routing the call to the routing destination (307) via the determined
communication mode on the calling device (301). Examples of the messages include, but not
limited to, USSD message, a flash message, and a pop-up message. In an example, the
message may be overlaid on a user-interface corresponding to the multimedia calling
application (201) or the calling application (202) or the call managing unit (212), through
which the initial outgoing call was placed. The message may also include a user-actionable
item such as button for receiving a user-input enabling the user connect the call or cancel the
call with the routing destination (307).
Upon receiving user-input indicative of connecting the call with the routing
destination (307), the routing unit (207) transmits a call trigger to the routing destination
(307) for establishing the outgoing call in conventional manner (represented by solid line and
reference numeral 4). In one implementation, the routing unit (207) transmits the call trigger
to the network operator or network node in the communication network (303) in conventional
manner for establishing the outgoing call. The call trigger includes the identifier associated
with the calling party or the user of the calling device (301)and identifier associated with the
routing destination (307). In one example, the identifier associated with the routing
destination (307) is a user-id of the multimedia calling application (201) available in the
routing destination (307). In another example, the identifier associated with the routing
destination (307) is a phone number.
21
Thus, the calling device obtains call forwarding information or profile of a called
party from any intermediate node such as a central server, without actually placing a call to
the intermediate node or the called party. In addition, the one or more routing destinations are
determined by the calling device without involvement of the network operator or the central
server. Thus, a lot of resources and bandwidth are saved as operator dependency is
completely eliminated for obtaining the call forwarding information. Further, the outgoing
call is prevented from being established between the calling device and the called party
before routing the outgoing call. In one implementation, the outgoing call is prevented from
being established between the calling device and any network node before routing the
outgoing call. This further reduces network congestion and associated costs as the call is
established directly between the calling device and the routing destination.
Further, the call status unit (209) may receive a failure trigger from the routing
destination (307). The failure trigger is indicative of incomplete call with the routing
destination (307). The incomplete call is a call that is not established with the routing
destination (307) due to occurrence of one or more of a plurality of events. The plurality of
events include the routing destination (307) being busy, the routing destination (307) being in
an out of coverage area, the routing destination (307) being unreachable, the routing
destination (307) being switched off, the call being rejected, the call being unanswered, the
call being answered for predetermined time, and network congestion. The predetermined time
is a short duration of few seconds or less that does not enable intended communication to
occur between the users of the calling device (301) and the routing destination (307). In an
implementation, the failure trigger is provided by the network operator or network node in
the communication network (303).
Upon receiving the failure trigger, the analysing unit (206) again analyses the call
forwarding profile(s) (305) and determines another routing destination (not shown in the
figure) based on the metadata information, the calling rule(s) in the call forwarding profile
(305), and a predefined order of selecting successive routing destination(s). In an example,
the predefined order is provided by the user of the called device (302) in the call forwarding
profile(s) (305). The analysing unit (206) determines another routing destination in a manner
as described above. Upon determining another routing destination, the routing unit (207)
provides a call trigger to another routing destination for establishing the call in a manner as
described above.
In one example, the call forwarding profile (305) may include call forwarding rules
based on time/duration of travelling as 1100 to 1200 hours (hrs) and a first routing destination
22
as a contact number of personal assistant, second routing destination as a contact number of
family member, and a third routing destination as voice mail for all incoming calls. In such
example, the call is first connected with the contact number of personal assistant. If the
contact number of personal assistant is not reachable, then the call is connected with contact
number of the family number. However, if the contact number of family number is also not
reachable, then the call is connected with the voice mail box.
Thus, the outgoing call is routed irrespective of its origin, i.e., call being made via a
data mode or circuit communication mode, and irrespective of its routing destination, i.e., call
being received via a data mode or circuit communication mode. This enables a better userexperience,
as a called user can determine call forwarding profile for any type of call.
Similarly, a calling user can start with any type of call and reach the caller user/forwarded
user automatically without him trying different routes.
For the ease of understanding, the forthcoming descriptions of Figures 4-9 illustrate
various example manifestations of the invention.
Figure 4 illustrates a first example manifestation (400) of routing an outgoing call, in
accordance with the embodiment of present invention.
At step 1, a called user device B (401) sets a calling forwarding profile through the
call managing unit (212) available in the called user device B (401). The call forwarding
profile indicates a call forwarding rule for routing all incoming calls and routing destination
as user device C (402). The call forwarding rule also indicates that a call can be established
with the user device C (402) over a circuit communication mode such as via PSTN and
mobile network of a communication network. The call managing unit (212) then saves the
call forwarding profile at a server (403). The server (403) is independent of any network
operator in the communication network.
At step 2, a calling user device A (404) initiates an outgoing call to the called user
device B (401). The call managing unit (212) in the calling user device A (404) detects the
outgoing call and sends a trigger to the server (403) requesting for call forwarding profile set
by the called user device B (401). The sever (403) then sends the call forwarding profile to
the calling user device A (404).
At step 3, the call managing unit (212) in the calling user device A (404) analyses the
call forwarding profile and determines the user device C (402) as the routing destination and
circuit communication mode as the communication mode. Thereafter, the call managing unit
(212) establishes the call over the circuit communication mode of the communication
network.
23
Figure 5 illustrates a second example manifestation (500) of routing an outgoing call,
in accordance with the embodiment of present invention.
At step 1, a called user device B (501) sets a calling forwarding profile through the
call managing unit (212) available in a user device C (502). The call forwarding profile
indicates a call forwarding rule for routing all incoming calls and routing destination as user
device C (502). The call forwarding rule also indicates that a call can be established with the
user device C (502) over a circuit communication mode such as via PSTN and mobile
network of a communication network. The call managing unit (212) then saves the call
forwarding profile at a server (503). The server (503) is independent of any network operator
in the communication network.
At step 2, a calling user device A (504) initiates an outgoing call to the called user
device B (501). The call managing unit (212) in the calling user device A (504) detects the
outgoing call and sends a trigger to the server (503) requesting for call forwarding profile set
by the called user device B (501). The sever (503) then sends the call forwarding profile to
the calling user device A (504).
At step 3, the call managing unit (212) in the calling user device A (504) analyses the
call forwarding profile and determines user device C (502) as the routing destination and
circuit communication mode as the communication mode. Thereafter, the call managing unit
(212) establishes the call over the circuit communication mode of the communication
network.
Figure 6 illustrates a third example manifestation (600) of routing an outgoing call, in
accordance with the embodiment of present invention.
At step 1, a called user device B (601) sets a calling forwarding profile through the
call managing unit (212) available in the called user device B (601). The call forwarding
profile indicates a call forwarding rule for routing all incoming calls and routing destination
as user device C (602). The call forwarding rule also indicates that a call can be established
with the user device C (602) over a data communication mode of a communication network.
The call managing unit (212) then saves the call forwarding profile at a server (603). The
server (603) is independent of any network node in the communication network.
At step 2, a calling user device A (604) initiates an outgoing call to the called user
device B (601). The call managing unit (212) in the calling user device A (604) detects the
outgoing call and sends a trigger to the server (603) requesting for call forwarding profile set
by the called user device B (601). The sever (603) then sends the call forwarding profile to
the calling user device A (604).
24
At step 3, the call managing unit (212) in the calling user device A (604) analyses the
call forwarding profile and determines the user device C (602) as the routing destination and
data communication mode as the communication mode. Thereafter, the call managing unit
(212) establishes the call over the data communication mode of the communication network.
Figure 7 illustrates a fourth example manifestation (700) of routing an outgoing call,
in accordance with the embodiment of present invention.
At step 1, a called user device B (701) sets a calling forwarding profile through the
call managing unit (212) available in a user device X (702). The call forwarding profile
indicates a call forwarding rule for routing all incoming calls and routing destination as user
device X (702). The call forwarding rule also indicates that a call can be established with the
user device X (702) over a data communication mode of a communication network. The call
managing unit (212) then saves the call forwarding profile at a server (703). The server (703)
is independent of any network node in the communication network.
At step 2, a calling user device A (704) initiates an outgoing call to the called user
device B (701). The call managing unit (212) in the calling user device A (704) detects the
outgoing call and sends a trigger to the server (703) requesting for call forwarding profile set
by the called user device B (701). The sever (703) then sends the call forwarding profile to
the calling user device A (704).
At step 3, the call managing unit (212) in the calling user device A (704) analyses the
call forwarding profile and determines the user device X (702) as the routing destination and
data communication mode as the communication mode. Thereafter, the call managing unit
(212) establishes the call over the data communication mode of the communication network.
Figure 8 illustrates a fifth example manifestation (800) of routing an outgoing call, in
accordance with the embodiment of present invention.
At step 1, a called user device B (801) sets a calling forwarding profile through the
call managing unit (212) available in a user device C (802). The call forwarding profile
indicates a call forwarding rule for routing all incoming calls and multiple routing
destinations in a predefined order. As such, a first routing destination is set as user device C
(802), a second routing destination is set as user device X (803), and a third routing
destination is set as user device n (804). The call forwarding rule also indicates that a call can
be established with the user device C (802) and user device n (804) over a circuit
communication mode such as via PSTN and mobile network of a communication network.
The call forwarding rule further indicates that call can be established with the user device X
(803) over a data communication mode of the communication network. The call managing
25
unit (212) then saves the call forwarding profile at a server (805). The server (805) is
independent of any network operator or network node in the communication network.
At step 2, a calling user device A (806) initiates an outgoing call to the called user
device B (801). The call managing unit (212) in the calling user device A (806) detects the
outgoing call and sends a trigger to the server (805) requesting for call forwarding profile set
by the called user device B (801). The sever (805) then sends the call forwarding profile to
the calling user device A (806).
At step 3, the call managing unit (212) in the calling user device A (806) analyses the
call forwarding profile and determines user device C (802) as the first routing destination and
circuit communication mode as the communication mode. Thereafter, the call managing unit
(212) establishes the call over the circuit communication mode of the communication
network. Thereafter, the call managing unit (212) in the calling user device A (806) receives
a failure trigger from the user device C (802). The failure trigger is indicative of incomplete
call with the user device C (802).
At step 4, the call managing unit (212) in the calling user device A (806) analyses the
call forwarding profile and determines user device X (803) as the second routing destination
and data communication mode as the communication mode. Thereafter, the call managing
unit (212) establishes the call over the data communication mode of the communication
network. Thereafter, the call managing unit (212) in the calling user device A (806) receives
a failure trigger from the user device X (803). The failure trigger is indicative of incomplete
call with the user device X (803)
At step 5, the call managing unit (212) in the calling user device A (806) analyses the
call forwarding profile and determines user device n (804) as the third routing destination and
circuit communication mode as the communication mode. Thereafter, the call managing unit
(212) establishes the call over the circuit communication mode of the communication
network.
While certain present preferred embodiments of the invention have been illustrated
and described herein, it is to be understood that the invention is not limited thereto. Clearly,
the invention may be otherwise variously embodied, and practiced within the scope of the
following claims.

We Claim:
1. A method of routing an outgoing call directed to a called party from a calling device,
the method comprising:
- detecting, by a detecting unit, a placement of the outgoing call to the called
party;
- extracting, by a triggering unit, a metadata information from the outgoing call
in response to the detection;
- creating and transmitting, by the triggering unit, a request trigger to a server,
the request trigger being indicative of the outgoing call and includes the
metadata information corresponding to the outgoing call;
- receiving, by a profile receiving unit, at least one call forwarding profile
associated with the called party from the server in response to the request
trigger, the at least one call forwarding profile including at least one calling
rule and one or more routing destinations;
- determining, by an analysis unit, a first routing destination from the one or
more routing destinations based on the metadata information and the at least
one calling rule; and
- routing, by a routing unit, the outgoing call to the first routing destination.
2. The method as claimed in claim 1, wherein the metadata information includes an
identifier associated with a calling party, an identifier associated with the called party,
a location of the calling device, a date of the outgoing call, and a time-stamp for the
outgoing call.
3. The method as claimed in claim 1, wherein the outgoing call is placed via one of data
communication mode and a circuit communication mode.
4. The method as claimed in claim 1, wherein the at least one call forwarding profile is
set by the called party through an application.
5. The method as claimed in claim 1, the at least one call forwarding rule is defined
based on at least one of: location of called device, current state of called device, time
27
of day, day of week, caller identity, call context, call modality, presence information
of called party in multimedia application, and routing type.
6. The method as claimed in claim 1, wherein the one or more routing destinations
include a contact from a contact list, a user-id associated with a multimedia calling
application, an unknown contact, and a voicemail.
7. The method as claimed in claim 1, wherein transmitting the request trigger by the
triggering unit further comprises:
- determining existence of data connection with the server; and
- in case the data connection exists, delivering the request trigger to the server via
the data connection; or
- in case data connection does not exist, delivering the request trigger to the
server via a non-data connection with the server.
8. The method as claimed in claim 1, wherein the at least one call forwarding profile is
received via one of a data connection and a non-data connection with the server.
9. The method as claimed in claim 1, wherein the routing further comprises:
- determining, by the routing unit, a communication mode for establishing an
outgoing call with the first routing destination based on the at least one calling
rule;
- generating, by the routing unit, a call trigger being indicative of the outgoing
call from the calling device to the first routing destination, and includes an
identifier associated with a calling party, an identifier associated with the first
routing destination, a date of the outgoing call, and a time-stamp for the
outgoing call; and
- transmitting, by the routing unit, the call trigger to the first routing destination
for establishing the outgoing call.
10. The method as claimed in claim 9, wherein the communication mode is one of data
communication mode and a circuit communication mode.
11. The method as claimed in claim 9 further comprising:
28
- providing, by a messaging unit, a message indicative of routing the call to the
first routing destination via the determined communication mode on a display
unit of the calling device; and
- receiving, by the routing unit, a user-input corresponding to routing
confirmation prior to transmitting the call trigger in response to the message
on the display unit.
12. The method as claimed in claim 1 further comprising:
- receiving, by a call status unit, a failure trigger from the first routing
destination, the failure trigger being indicative of incomplete call with the first
routing destination ;
- determining, by the analysis unit, a second routing destination from the one or
more routing destinations based on the metadata information, the at least one
calling rule, and a pre-defined order; and
- routing, by the routing unit, the outgoing call to the second routing destination.
13. The method as claimed in claim 12, wherein the incomplete call is a call that is not
established with the first routing destination due to occurrence of one or more of a
plurality of events, the plurality of events include the first routing destination being
busy, the first routing destination being in an out of coverage area, the first routing
destination being unreachable, the first routing destination being switched off, the call
being rejected, the call being unanswered, the call being answered for predetermined
time, and network congestion.
14. The method as claimed in claim 1, further comprising:
- preventing, by a blocking unit, in response to the detection, an establishment
of a call between the calling device and the called party.
15. The method as claimed in claim 1, further comprising:
- storing in a memory, by the profile receiving unit, the at least one call
forwarding profile for a predetermined time.
16. A calling device for routing an outgoing call directed to a called party, the calling
device comprises:
29
- a detecting unit to detect a placement of the outgoing call to the called party;
- a triggering unit to:
- extract a metadata information from the outgoing call in response to the
detection; and
- create and transmit a request trigger to a server, the request trigger being
indicative of the outgoing call and includes the metadata information
corresponding to the outgoing call;
- a profile receiving unit to receive at least one call forwarding profile
associated with the called party from the server in response to the request
trigger, the at least one call forwarding profile including at least one calling
rule and one or more routing destinations;
- an analysis unit to determine a first routing destination from the one or more
routing destinations based on the metadata information and the at least one
calling rule; and
- a routing unit to route the outgoing call to the first routing destination.

Documents

Application Documents

# Name Date
1 201611013131-IntimationOfGrant20-04-2023.pdf 2023-04-20
1 Form 9 [14-04-2016(online)].pdf 2016-04-14
2 201611013131-PatentCertificate20-04-2023.pdf 2023-04-20
2 Form 5 [14-04-2016(online)].pdf 2016-04-14
3 Form 3 [14-04-2016(online)].pdf 2016-04-14
3 201611013131-CLAIMS [04-03-2020(online)].pdf 2020-03-04
4 Form 18 [14-04-2016(online)].pdf 2016-04-14
4 201611013131-COMPLETE SPECIFICATION [04-03-2020(online)].pdf 2020-03-04
5 Drawing [14-04-2016(online)].pdf 2016-04-14
5 201611013131-FER_SER_REPLY [04-03-2020(online)].pdf 2020-03-04
6 Description(Complete) [14-04-2016(online)].pdf 2016-04-14
6 201611013131-OTHERS [04-03-2020(online)].pdf 2020-03-04
7 abstract.jpg 2016-07-19
7 201611013131-FER.pdf 2019-09-04
8 Form 26 [19-08-2016(online)].pdf 2016-08-19
8 201611013131-Correspondence-190916.pdf 2016-09-22
9 201611013131-OTHERS-190916.pdf 2016-09-22
9 Other Patent Document [19-09-2016(online)].pdf 2016-09-19
10 201611013131-OTHERS-190916.pdf 2016-09-22
10 Other Patent Document [19-09-2016(online)].pdf 2016-09-19
11 201611013131-Correspondence-190916.pdf 2016-09-22
11 Form 26 [19-08-2016(online)].pdf 2016-08-19
12 201611013131-FER.pdf 2019-09-04
12 abstract.jpg 2016-07-19
13 201611013131-OTHERS [04-03-2020(online)].pdf 2020-03-04
13 Description(Complete) [14-04-2016(online)].pdf 2016-04-14
14 201611013131-FER_SER_REPLY [04-03-2020(online)].pdf 2020-03-04
14 Drawing [14-04-2016(online)].pdf 2016-04-14
15 201611013131-COMPLETE SPECIFICATION [04-03-2020(online)].pdf 2020-03-04
15 Form 18 [14-04-2016(online)].pdf 2016-04-14
16 201611013131-CLAIMS [04-03-2020(online)].pdf 2020-03-04
16 Form 3 [14-04-2016(online)].pdf 2016-04-14
17 201611013131-PatentCertificate20-04-2023.pdf 2023-04-20
17 Form 5 [14-04-2016(online)].pdf 2016-04-14
18 Form 9 [14-04-2016(online)].pdf 2016-04-14
18 201611013131-IntimationOfGrant20-04-2023.pdf 2023-04-20

Search Strategy

1 SearchPattern201611013131_23-08-2019.pdf

ERegister / Renewals

3rd: 03 Jul 2023

From 14/04/2018 - To 14/04/2019

4th: 03 Jul 2023

From 14/04/2019 - To 14/04/2020

5th: 03 Jul 2023

From 14/04/2020 - To 14/04/2021

6th: 03 Jul 2023

From 14/04/2021 - To 14/04/2022

7th: 03 Jul 2023

From 14/04/2022 - To 14/04/2023

8th: 03 Jul 2023

From 14/04/2023 - To 14/04/2024

9th: 13 Mar 2024

From 14/04/2024 - To 14/04/2025

10th: 19 Mar 2025

From 14/04/2025 - To 14/04/2026