EXHIBIT 2 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 1 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

1 

EXHIBIT 2.A 

Patent 10,218,606 Hangouts and Duo 

1. A method for routing communications in 

a packet switched communication system 

between a first participant device 

associated with a first participant and a 

second participant device associated with a 

second participant, the first and second 

participant devices being associated with 

first and second network elements of the 

communication system, respectively, the 

method comprising: 

Hangouts and Duo route a communication in a packet switched communication system between a 

first participant device associated with a first participant and a second participant device associated 

with a second participant, the first and second participant devices being associated with first and 

second network elements. 

The first participant device and the second participant device each comprise a mobile device running 

a version of the Hangouts or Duo application. These mobile devices are coupled to a network of 

servers and gateways controlled by Google. Hangouts and Duo utilize multiple servers in nodes 

and/or clusters each connected to multiple mobile devices and networked via local and wide area 

networks. Hangouts and Duo allow a mobile device running the Hangouts or Duo application to 

send a communication to another mobile device that is also running the Hangouts or Duo 

application. 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 2 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

2

https://play.google.com/store/apps/details?id=com.google.android.talk&hl=en 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 3 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

3

https://apps.apple.com/us/app/hangouts/id643496868 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 4 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

4

https://play.google.com/store/apps/details?id=com.google.android.apps.tachyon 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 5 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

5

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 6 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

6

https://apps.apple.com/us/app/google-duo/id1096918571 

“Simple, high quality video calls for smartphones, tablets, computers, and Smart Displays like the 

Google Nest Hub Max.” See: https://duo.google.com/about/ 

receiving, by at least one processor, a 

second participant identifier associated 

with the second participant device, in 

response to initiation of a communication 

from the first participant device to the 

second participant device, the first 

participant device being associated with a 

first participant identifier; 

Hangouts and Duo include processing by the mobile application, running on the mobile device as 

well as processing by one or more Google servers. One or more of the processors on the mobile 

device receives an input from the user to select the second participant. The user input, which may 

comprise a partial name associated with a user and/or a partial number associated with a user 

represents the second participant identifier. The first participant is registered with Hangouts or Duo 

and has a Hangouts or Duo identifier, which represents a first participant identifier. 

https://support.google.com/hangouts/answer/3110347?co=GENIE.Platform%3DAndroid 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 7 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

7

https://support.google.com/duo/answer/7538935?co=GENIE.Platform%3DAndroid 

causing the at least one processor to access 

at least one memory storing a first 

participant profile identifying at least one 

first participant attribute; 

One or more processors on the mobile device access data stored on the mobile device and/or data 

stored on a Google server to locate the contact list for the first participant. This information is 

specific to the first participant and represents at least part of the first participant profile. 

processing the second participant identifier 

and the at least one first participant 

attribute, using the at least one processor, 

to produce a new second participant 

identifier based on at least one match 

between the second participant identifier 

and the at least one first participant 

attribute; 

One or more processors on the mobile device process the selection of a user and retrieve a Hangouts 

or Duo identifier or phone number associated with the displayed information. When the user enters 

a partial name or partial number into the search box, a list of matching contacts is presented. Each 

of the listed contacts is a Hangouts or Duo user and has an associated identifier. The Hangouts or 

Duo identifier, username or phone number of a selected contact represents the new second 

participant identifier. 

processing the new second participant 

identifier, using the at least one processor, 

to determine whether the second network 

element is the same as the first network 

element; 

Hangouts and Duo determine if the first participant device is associated with the same network 

element as the second network element. For example, the first participant device and the second 

participant device may be serviced by the same node or cluster or a different node or cluster. On 

information and belief, Hangouts and Duo are large scale services that operates on multiple 

distributed nodes coupled to each other over a wide area network. On information and belief, the 

Hangouts and Duo network elements are organized into nodes and clusters and geographically 

distributed. The first participant device and the second participant device may be serviced by the 

same network element or cluster or a different network element or cluster. Thus, routing of 

communications between devices can take place on the same node and/or cluster or may require that 

communications go between nodes and/or clusters. 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 8 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

8 

https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture

https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools 

when the second network element is 

determined to be the same as the first 

network element, producing a routing 

message identifying a first network address 

associated with the first network element, 

using the at least one processor; and 

Hangouts and Duo produce a routing message that identifies an address of an address associated 

with the first network element when the first and second network elements are the same. 

On information and belief, Hangouts and Duo nodes and/or clusters operate to serve multiple 

devices. Thus, in the case that the first and second devices are served by the same Hangouts or Duo 

node and/or cluster, a routing message is produced that causes the communication to be established 

through the same Hangouts or Duo node and/or cluster. 

when the second network element is 

determined not to be the same as the first 

network element, producing a routing 

message identifying a second network 

address associated with the second network 

element, using the at least one processor; 

Hangouts and Duo produce a routing message that identifies an address associated with the second 

network element when the first and second network elements are not the same. 

On information and belief, Hangouts and Duo nodes and/or clusters are geographically distributed 

and coupled via the Internet and/or other wide area networks. In the case that the first and second 

devices are served by different Hangouts or Duo nodes and/or clusters, a routing message is 

produced that causes the communication to be established from the first node and/or cluster to the 

second node and/or cluster. 

wherein the packet switched 

communication system attempts to 

establish the communication from the first 

participant device to the second participant 

device based on at least one network 

address identified in the routing message. 

Hangouts and Duo use Google’s communication system infrastructure to attempt to establish 

communication from the first participant device to the second participant device. 

14. The method of claim 1, wherein the 

packet switched communication system is 

controlled by a system operator, the 

method further comprising: 

Hangouts and Duo are controlled by Google. 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 9 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

9 

receiving a third participant identifier 

associated with a third participant device, 

wherein the third participant device is not 

associated with either the first network 

element or the second network element; 

and 

Hangouts and Duo allow communications to be placed to multiple parties. Subsequent to the 

communication of claim 1, a communication may be established from the first participant device to a 

third participant device. 

For example, after establishing a communication between the first communication device and the 

second communication device, both of which are Hangouts or Duo users, the first participant device 

may attempt to establish a communication with a third participant device identified by a phone 

number that is not a Hangouts or Duo user (e.g., a mobile phone or landline on the PSTN). 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 10 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

10

https://support.google.com/hangouts/answer/3187125 

producing a routing message identifying a 

gateway to an external communication 

system that is not controlled by the system 

operator, using the at least one processor, 

Hangouts and Duo produce a routing message identifying a gateway to the PSTN when the 

destination device is not associated with a Hangouts or Duo user. This causes a further 

communication to be established to the third participant device. 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 11 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

11 

to cause a further communication to be 

established to the third participant device. 

15. The method of claim 14 wherein at 

least a portion of the external 

communication system is a public switched 

telephone network (PSTN) communication 

system, and wherein the third participant 

identifier comprises a public switched 

telephone network (PSTN) number. 

Hangouts and Duo can route a communication to the PSTN in the case that the third participant 

identifier is a PSTN number. 

 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 12 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

12 

EXHIBIT 2.B 

Patent 10,218,606 Google Home 

1. A method for routing communications in 

a packet switched communication system 

between a first participant device 

associated with a first participant and a 

second participant device associated with a 

second participant, the first and second 

participant devices being associated with 

first and second network elements of the 

communication system, respectively, the 

method comprising: 

Google Home routes a communication in a packet switched communication system between a first 

participant device associated with a first participant and a second participant device associated with a 

second participant, the first and second participant devices being associated with first and second 

network elements. 

The first participant device and the second participant device each comprise a Google Home device, 

for example, Google home automation and smart speaker devices including devices branded as 

Google Home and Google Nest. These devices are coupled to a network of servers and gateways 

controlled by Google. On information and belief, Google Home utilizes multiple servers in nodes 

and/or clusters each connected to multiple communication devices and networked via local and wide 

area networks. Google Home allows a device to communicate with another Google Home device. 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 13 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

13

https://support.google.com/googlenest/answer/7029485?co=GENIE.Platform%3DAndroid 

receiving, by at least one processor, a Google Home includes processing by the smart speaker as well as processing by one or more Google 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 14 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

14

second participant identifier associated 

with the second participant device, in 

response to initiation of a communication 

from the first participant device to the 

second participant device, the first 

participant device being associated with a 

first participant identifier; 

servers. One or more of the processors on the mobile device and/or Google servers receives an input 

from the user to select the second participant. The user input, which may comprise a spoken name 

or a spoken number associated with a user represents the second participant identifier. The first 

participant is registered with Google and has an identifier and/or username, which represents a first 

participant identifier. 

https://support.google.com/googlenest/answer/9165631?co=GENIE.Platform%3DAndroid 

causing the at least one processor to access 

at least one memory storing a first 

participant profile identifying at least one 

first participant attribute; 

One or more processors on the mobile device access data stored on the mobile device and/or data 

stored on a Google server to locate the contact list for the first participant. This information is 

specific to the first participant and represents at least part of the first participant profile. 

processing the second participant identifier 

and the at least one first participant 

attribute, using the at least one processor, 

to produce a new second participant 

One or more processors on the mobile device process the selection of a user and retrieve a Hangouts 

identifier or phone number associated with the displayed information. When the user speaks a 

contact name, a matching contact is selected. The matching contact is a Google user and has an 

associated identifier. The Google identifier, username or phone number of a selected contact 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 15 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

15

identifier based on at least one match 

between the second participant identifier 

and the at least one first participant 

attribute; 

represents the new second participant identifier. 

https://support.google.com/googlenest/answer/9165631?co=GENIE.Platform%3DAndroid 

processing the new second participant 

identifier, using the at least one processor, 

to determine whether the second network 

element is the same as the first network 

element; 

Google Home determines if the first participant device is associated with the same network element 

as the second network element. For example, the first participant device and the second participant 

device may be serviced by the same node or cluster or a different node or cluster. On information 

and belief, Google Home is a large scale service that operates on multiple distributed nodes coupled 

to each other over a wide area network. On information and belief, the Google Home network 

elements are organized into nodes and clusters and geographically distributed. The first participant 

device and the second participant device may be serviced by the same network element or cluster or 

a different network element or cluster. Thus, routing of communications between devices can take 

place on the same node and/or cluster or may require that communications go between nodes and/or 

clusters. 

https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture 

https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools 

when the second network element is 

determined to be the same as the first 

network element, producing a routing 

message identifying a first network address 

Google Home produces a routing message that identifies an address of an address associated with 

the first network element when the first and second network elements are the same. 

On information and belief, Google Home nodes and/or clusters operate to serve multiple devices. 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 16 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

16 

associated with the first network element, 

using the at least one processor; and 

Thus, in the case that the first and second devices are served by the same Google Home node and/or 

cluster, a routing message is produced that causes the communication to be established through the 

same Google Home node and/or cluster. 

when the second network element is 

determined not to be the same as the first 

network element, producing a routing 

message identifying a second network 

address associated with the second network 

element, using the at least one processor; 

Google Home produces a routing message that identifies an address associated with the second 

network element when the first and second network elements are not the same. 

On information and belief, Google Home nodes and/or clusters are geographically distributed and 

coupled via the Internet and/or other wide area networks. In the case that the first and second 

devices are served by different Hangouts nodes and/or clusters, a routing message is produced that 

causes the communication to be established from the first node and/or cluster to the second node 

and/or cluster. 

wherein the packet switched 

communication system attempts to 

establish the communication from the first 

participant device to the second participant 

device based on at least one network 

address identified in the routing message. 

Google Home uses Google’s communication system infrastructure to attempt to establish 

communication from the first participant device to the second participant device. 

14. The method of claim 1, wherein the 

packet switched communication system is 

controlled by a system operator, the 

method further comprising: 

Google Home is controlled by Google. 

receiving a third participant identifier 

associated with a third participant device, 

wherein the third participant device is not 

associated with either the first network 

element or the second network element; 

and 

Google Home allows communications to be placed to multiple parties. Subsequent to the 

communication of claim 1, a communication may be established from the first participant device to a 

third participant device. 

For example, after establishing a communication between the first communication device and the 

second communication device, both of which are Google Home users, the first participant device 

may attempt to establish a communication with a third participant device identified by a phone 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 17 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

17

number that is not a Google user (e.g., a mobile phone or landline on the PSTN). 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 18 of 19
Voip-Pal.com, Inc. v. Google, Inc., 

18 

https://support.google.com/googlenest/answer/7363847?co=GENIE.Platform%3DAndroid 

producing a routing message identifying a 

gateway to an external communication 

system that is not controlled by the system 

operator, using the at least one processor, 

to cause a further communication to be 

established to the third participant device. 

Google Home produces a routing message identifying a gateway to the PSTN when the destination 

device is not associated with a Google user. This causes a further communication to be established to 

the third participant device. 

15. The method of claim 14 wherein at 

least a portion of the external 

communication system is a public switched 

telephone network (PSTN) communication 

system, and wherein the third participant 

identifier comprises a public switched 

telephone network (PSTN) number. 

Google Home can route a communication to the PSTN in the case that the third participant identifier 

is a PSTN number. 

Case 6:20-cv-00269-ADA Document 1-2 Filed 04/03/20 Page 19 of 19