# US 2017/0288904 A1 · System and method for enabling use of a single user identifier across incompatible networks for ucc functionality

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0288904 A1
- Document ID: US20170288904A1
- Status: Published application
- Kind: A1
- Application number: 15/090,394
- Filed: 2016-04-04
- Published: 2017-10-05
- Earliest claimed: 2016-03-31
- Assignees: Damaka, Inc.
- Applicants: Damaka, Inc.
- Inventors: SIVAKUMAR CHATURVEDI; SATISH GUNDABATHULA; RASHMI LOHITA
- Web page: https://patentgrep.com/patent/US20170288904A1

## CPC

- H04L 12/4625: {Single bridge functionality, e.g. connection of two networks over a single bridge}
- H04L 12/184: {with heterogeneous receivers, e.g. layered multicast}
- H04L 51/56: Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
- H04L 65/103: {in the network}
- H04L 65/1053: IP private branch exchange [PBX] functionality entities or arrangements (circuit switched PBXs H04M3/00)
- H04L 65/1073: Registration or de-registration
- H04L 65/1094: Inter-user-equipment sessions transfer or sharing
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method and system for supporting a cross-domain communication session between communication platforms using a bridge server are provided. In one example, the method includes registering the bridge server with multiple platforms using a user identifier. A request is received from one of the platforms to establish a communication session with a user corresponding to the user identifier. A communication leg is created for each of the platforms. The leg from which the request was received is an incoming leg and the other legs are outgoing legs. The request is sent over the outgoing legs. An acceptance is received from one of the outgoing legs. A cancel message is sent over the outgoing legs from which the acceptance was not received. The acceptance is sent over the incoming leg. The incoming leg and the outgoing leg from which the acceptance was received are bridged to establish the session.

## Claims

### Claim 1

A method for supporting a cross-domain communication session between communication platforms using a bridge server, the method comprising:
registering, by a bridge server, with a plurality of communication platforms using a user identifier, wherein at least two of the communication platforms are in incompatible domains and cannot communicate directly with one another, and wherein the user identifier is registered with each of the communication platforms via one or more clients that are in communication with the communication platforms;
receiving, by the bridge server, a request to establish a communication session with a user corresponding to the user identifier, the request being received from one of the communications platforms;
creating, by the bridge server, a separate communication leg for each of the communication platforms, wherein the communication leg created for the communication platform from which the request was received is designated as an incoming leg and any other of the communication legs are designated as outgoing legs;
sending, by the bridge server, the request to establish the communication session over the outgoing legs;
receiving, by the bridge server, a communication acceptance from one of the outgoing legs;
sending, by the bridge server, a cancel message over any of the outgoing legs from which the communication acceptance was not received;
sending, by the bridge server, the communication acceptance over the incoming leg; and
bridging, by the bridge server, the incoming leg and the outgoing leg from which the communication acceptance was received to establish the communication session.

### Claim 2 (depends on 1)

The method of claim 1 further comprising:
receiving, from one of the incoming leg and the outgoing leg from which the communication acceptance was received, a communication session termination;
sending the communication session termination request over the incoming leg or the outgoing leg from which the communication session termination was not received; and
destroying all of the communication legs.

### Claim 3 (depends on 1)

The method of claim 1, wherein the bridge server is coupled to a media server that forms part of a cross-domain system with the bridge server, wherein the media server handles media legs for the communication session.

### Claim 4 (depends on 3)

The method of claim 3, wherein the cross-domain system includes a cross-domain database having a plurality of information specific to the communications platforms.

### Claim 5 (depends on 4)

The method of claim 4, wherein the plurality of information includes an IP address, a port number, and a plurality of functionality identifiers, the plurality of functionality identifiers indicating whether each of the communications platforms supports certain Unified Communications and Collaboration (UCC) functions.

### Claim 6 (depends on 5)

The method of claim 5 further comprising managing the communication session by the bridge server, wherein the bridge server uses the plurality of information contained in the cross-domain database to enable communications between the communication platforms that are in incompatible domains and cannot communicate directly with one another.

### Claim 7 (depends on 1)

The method of claim 1 wherein the bridge server bridges the incoming leg and the outgoing leg both when the communication platforms corresponding to the incoming leg and outgoing leg are in incompatible domains and cannot communicate directly with one another and when the communication platforms corresponding to the incoming leg and outgoing leg are in compatible domains and can communicate directly with one another.

### Claim 8 (depends on 1)

The method of claim 1 further comprising:
receiving, by the bridge server, a second request to establish a second communication session with the user corresponding to the user identifier, the second request being received from one of the communications platforms;
creating, by the bridge server, a separate second communication leg for each of the communication platforms, wherein the second communication leg created for the communication platform from which the second request was received is designated as a second incoming leg and any other of the second communication legs are designated as second outgoing legs;
sending, by the bridge server, the second request to establish the communication session over the second outgoing legs;
receiving, by the bridge server, a cancel message from the second incoming leg;
sending, by the bridge server, the cancel message over the second outgoing legs; and
destroying, by the bridge server, the second communication legs.

### Claim 9

A method for supporting a cross-domain communication session between communication platforms using a bridge server, the method comprising:
registering, by a bridge server, with a plurality of communication platforms using a user identifier, wherein at least two of the communication platforms are in incompatible domains and cannot communicate directly with one another, and wherein the user identifier is registered with each of the communication platforms via one or more clients that are in communication with the communication platforms;
receiving, by the bridge server, a request to establish a communication session with the user corresponding to the user identifier, the request being received from one of the communications platforms;
creating, by the bridge server, a separate communication leg for each of the communication platforms, wherein the communication leg created for the communication platform from which the request was received is designated as a incoming leg and any other of the communication legs are designated as outgoing legs;
sending, by the bridge server, the request to establish the communication session over the outgoing legs;
receiving, by the bridge server, a cancel message from the incoming leg;
sending, by the bridge server, a cancel message over the outgoing legs; and
destroying, by the bridge server, all of the communication legs.

### Claim 10 (depends on 9)

The method of claim 9, wherein the bridge server is coupled to a media server that forms part of a cross-domain system with the bridge server, wherein the media server handles media legs for any communication sessions managed by the bridge server.

### Claim 11 (depends on 10)

The method of claim 10, wherein the cross-domain system includes a cross-domain database having a plurality of information specific to the communications platforms.

### Claim 12 (depends on 11)

The method of claim 11, wherein the plurality of information includes an IP address, a port number, and a plurality of functionality identifiers, the plurality of functionality identifiers indicating whether each of the communications platforms supports certain Unified Communications and Collaboration (UCC) functions.

### Claim 13 (depends on 12)

The method of claim 12 wherein the bridge server uses the plurality of information contained in the cross-domain database to enable communications between any of the communication platforms that are in incompatible domains and cannot communicate directly with one another.

### Claim 14

A system for supporting a cross-domain communication session between communication platforms using a bridge server, the system comprising:
a processor; and
a memory coupled to the processor, the memory containing computer executable instructions for
providing a bridge server;
registering, by the bridge server, with a plurality of communication platforms using a user identifier, wherein at least two of the communication platforms are in incompatible domains and cannot communicate directly with one another, and wherein the user identifier is registered with each of the communication platforms via one or more clients that are in communication with the communication platforms;
receiving, by the bridge server, a request to establish a communication session with a user corresponding to the user identifier, the request being received from one of the communications platforms;
creating, by the bridge server, a separate communication leg for each of the communication platforms, wherein the communication leg created for the communication platform from which the request was received is designated as an incoming leg and any other of the communication legs are designated as outgoing legs;
sending, by the bridge server, the request to establish the communication session over the outgoing legs;
receiving, by the bridge server, a communication acceptance from one of the outgoing legs;
sending, by the bridge server, a cancel message over any of the outgoing legs from which the communication acceptance was not received;
sending, by the bridge server, the communication acceptance over the incoming leg; and
bridging, by the bridge server, the incoming leg and the outgoing leg from which the communication acceptance was received to establish the communication session.

### Claim 15 (depends on 14)

The system of claim 14 further comprising instructions for:
receiving, from one of the incoming leg and the outgoing leg from which the communication acceptance was received, a communication session termination;
sending the communication session termination request over the incoming leg or the outgoing leg from which the communication session termination was not received; and
destroying all of the communication legs.

### Claim 16 (depends on 14)

The system of claim 14, wherein the bridge server is coupled to a media server that forms part of a cross-domain system with the bridge server, wherein the media server handles media legs for the communication session.

### Claim 17 (depends on 16)

The system of claim 16, wherein the cross-domain system includes a cross-domain database having a plurality of information specific to the communications platforms.

### Claim 18 (depends on 17)

The system of claim 17, wherein the plurality of information includes an IP address, a port number, and a plurality of functionality identifiers, the plurality of functionality identifiers indicating whether each of the communications platforms supports certain Unified Communications and Collaboration (UCC) functions.

### Claim 19 (depends on 18)

The system of claim 18 further comprising instructions for managing the communication session by the bridge server, wherein the bridge server uses the plurality of information contained in the cross-domain database to enable communications between the communication platforms that are in incompatible domains and cannot communicate directly with one another.

### Claim 20 (depends on 14)

The system of claim 14, wherein the bridge server bridges the incoming leg and the outgoing leg both when the communication platforms corresponding to the incoming leg and outgoing leg are in incompatible domains and cannot communicate directly with one another and when the communication platforms corresponding to the incoming leg and outgoing leg are in compatible domains and can communicate directly with one another.

### Claim 21 (depends on 14)

The system of claim 14 further comprising instructions for:
receiving, by the bridge server, a second request to establish a second communication session with the user corresponding to the user identifier, the second request being received from one of the communications platforms;
creating, by the bridge server, a separate second communication leg for each of the communication platforms, wherein the second communication leg created for the communication platform from which the second request was received is designated as a second incoming leg and any other of the second communication legs are designated as second outgoing legs;
sending, by the bridge server, the second request to establish the communication session over the second outgoing legs;
receiving, by the bridge server, a cancel message from the second incoming leg;
sending, by the bridge server, the cancel message over the second outgoing legs; and
destroying, by the bridge server, the second communication legs.

### Claim 22

A system for supporting a cross-domain communication session between communication platforms using a bridge server, the system comprising:
a processor; and
a memory coupled to the processor, the memory containing computer executable instructions for
providing a bridge server;
registering, by the bridge server, with a plurality of communication platforms using a user identifier, wherein at least two of the communication platforms are in incompatible domains and cannot communicate directly with one another, and wherein the user identifier is registered with each of the communication platforms via one or more clients that are in communication with the communication platforms;
receiving, by the bridge server, a request to establish a communication session with the user corresponding to the user identifier, the request being received from one of the communications platforms;
creating, by the bridge server, a separate communication leg for each of the communication platforms, wherein the communication leg created for the communication platform from which the request was received is designated as a incoming leg and any other of the communication legs are designated as outgoing legs;
sending, by the bridge server, the request to establish the communication session over the outgoing legs;
receiving, by the bridge server, a cancel message from the incoming leg;
sending, by the bridge server, the cancel message over the outgoing legs; and
destroying, by the bridge server, all of the communication legs.

### Claim 23 (depends on 22)

The system of claim 22, wherein the bridge server is coupled to a media server that forms part of a cross-domain system with the bridge server, wherein the media server handles media legs for any communication sessions managed by the bridge server.

### Claim 24 (depends on 23)

The system of claim 23, wherein the cross-domain system includes a cross-domain database having a plurality of information specific to the communications platforms.

### Claim 25 (depends on 24)

The system of claim 24, wherein the plurality of information includes an IP address, a port number, and a plurality of functionality identifiers, the plurality of functionality identifiers indicating whether each of the communications platforms supports certain Unified Communications and Collaboration (UCC) functions.

### Claim 26 (depends on 25)

The system of claim 25 wherein the bridge server uses the plurality of information contained in the cross-domain database to enable communications between any of the communication platforms that are in incompatible domains and cannot communicate directly with one another.

### Claim 27

A system for supporting a cross-domain communication session between communication platforms, the system comprising:
a bridge server registered with at least two communication platforms using a user identifier, wherein the at least two communication platforms are in separate and incompatible domains and wherein the user identifier is recognized by all of the at least two communication platforms; and
a cross-domain database having a plurality of information specific to the at least two communication platforms and the user identifier,
wherein the bridge server is configured to receive communications requests from the at least two communication platforms and to manage communication sessions between the at least two communication platforms using the plurality of information specific to the at least two communication platforms.

### Claim 28 (depends on 27)

The system of claim 27 further comprising a media server interfaced with the bridge server.

### Claim 29 (depends on 27)

The system of claim 27, wherein the plurality of information includes an IP address, a port number, and a plurality of functionality identifiers, the plurality of functionality identifiers indicating whether each of the communications platforms supports certain Unified Communications and Collaboration (UCC) functions.

### Claim 30 (depends on 27)

The system of claim 27, wherein one of the at least two communication platforms is compatible with another one of the at least two communication platforms.
