# US 10,313,513 B2 · Systems and methods for providing a multi-channel communication service

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

- Number: US 10,313,513 B2
- Document ID: US10313513B2
- Status: Granted
- Kind: B2
- Application number: 15/899,981
- Filed: 2018-02-20
- Published: 2018-06-21
- Granted: 2019-06-04
- Earliest claimed: 2016-04-12
- Assignees: Nexmo Inc.
- Applicants: NEXMO, Inc.
- Inventors: Eric Nadalin; Neil Stratford; Roland Selmer
- Web page: https://patentgrep.com/patent/US10313513B2

## CPC

- H04M 3/42221: {Conversation recording systems (at the subscriber's set H04M1/656)}
- H04L 12/1813: {for computer conferences, e.g. chat rooms (instant messaging H04L51/04; protocols for multimedia communication H04L65/1101; arrangements for multi-party communication H04L65/403; telephonic conference arrangements H04M3/56; television conference systems H04N7/15)}
- H04L 12/1831: {Tracking arrangements for later retrieval, e.g. recording contents, participants activities or behavior, network status}
- H04L 12/4625: {Single bridge functionality, e.g. connection of two networks over a single bridge}
- H04M 3/5175: {Call or contact centers supervision arrangements}
- H04M 3/56: Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities (video conference systems H04N7/15)
- H04M 3/58: Arrangements for transferring received calls from one subscriber to another; Arrangements affording interim conversations between either the calling or the called party and a third party (substation line holding circuits H04M1/80)
- H04M 2203/404: Collaboration among agents
- H04M 2203/5018: Initiating a conference during a two-party conversation, i.e. three-party service or three-way call
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A multi-channel communication service uses an object-oriented approach to processing communications. The multi-channel communication service is capable of receiving, at a conversation object generator, inbound communications sent from a communication service and subsequently managing the status of participants engaged in a conversation via the various inbound communications. The management process is achieved by associating the inbound communications to corresponding client applications and executing an invitation process from the client applications to a conversation created by the conversation object generator.

## Claims

### Claim 1

A method for managing multiple channels of communications between users comprising:
receiving, at a conversation object generator, one or more inbound communications sent from a communication service;
associating each of the one or more inbound communications to one of a plurality of corresponding client applications;
sending a notification to each of the corresponding client applications;
receiving from each of the corresponding client applications a request to invite users associated with the one or more inbound communications to join a conversation created by the conversation object generator;
sending one or more invitations to the users associated with the one or more inbound communications to join the conversation;
determining a conversation state of the users associated with the one or more inbound communications; and
relaying the conversation state of the users associated with the one or more inbound communications to the corresponding client applications.

### Claim 2 (depends on 1)

The method of claim 1 wherein the one or more inbound communications are on channels selected from the group consisting of SMS, POTS based telephony, VoIP based telephony, WebRTC, SIP and an over-the-top service.

### Claim 3 (depends on 1)

The method of claim 1 wherein the conversation created by the conversation object generator is represented by a conversation object that comprises at least two members communicating via one or more of the channels.

### Claim 4 (depends on 3)

The method of claim 3 wherein the at least two members correspond to at least two users of the corresponding client applications that sent the request to invite.

### Claim 5 (depends on 3)

The method of claim 3 wherein the status of a member of a conversation object is selected from the group consisting of invited, joined and left.

### Claim 6 (depends on 5)

The method of claim 5 wherein an “invited” member has been invited to join a conversation but has not yet joined, a “joined” member is currently joined to a conversation and a “left” member is a member that has left a conversation.

### Claim 7 (depends on 1)

The method of claim 1 wherein the associating is performed by matching a destination identifier associated with the one or more inbound communications to a contact identifier associated with one of the plurality of the corresponding client applications.

### Claim 8 (depends on 1)

The method of claim 1 wherein multiple users are invited to join the conversation over multiple communication protocols.

### Claim 9 (depends on 1)

The method of claim 1 further comprising associating the inbound communication to a second client application.

### Claim 10

Apparatus for managing multiple channels of communications between users comprising:
a conversation object generator that performs the steps of:
receiving, at a conversation object generator, one or more inbound communications sent from a communication service;
associating each of the one or more inbound communications to one of a plurality of corresponding client applications;
sending a notification to each of the corresponding client applications;
receiving from each of the corresponding client application a request to invite users associated with the one or more inbound communications to join a conversation created by the conversation object generator;
sending one or more invitations to the users associated with the one or more inbound communications to join the conversation;
determining a conversation state of the users associated with the one or more inbound communications; and
relaying the conversation state of the users associated with the one or more inbound communications to the corresponding client applications.

### Claim 11 (depends on 10)

The apparatus of claim 10 wherein the one or more inbound communications are on a channel selected from the group consisting of SMS, POTS based telephony, VoIP based telephony, WebRTC, SIP and an over-the-top service.

### Claim 12 (depends on 10)

The apparatus of claim 10 wherein the conversation created by the conversation object generator is represented by a conversation object that comprises at least two members communicating via one or more of the channels.

### Claim 13 (depends on 12)

The apparatus of claim 12 wherein the at least two members correspond to at least two users of the corresponding client applications that sent the request to invite.

### Claim 14 (depends on 10)

The apparatus of claim 10 wherein the associating is performed by matching a destination identifier associated with the one or more inbound communications to a contact identifier associated with one of the plurality of the corresponding client applications.

### Claim 15 (depends on 10)

The apparatus of claim 10 wherein multiple users are invited to join the conversation over multiple communication protocols.

### Claim 16 (depends on 15)

The apparatus of claim 15 wherein the status of a member of a conversation object is selected from the group consisting of invited, joined and left.

### Claim 17 (depends on 16)

The apparatus of claim 16 wherein an “invited” member has been invited to join a conversation but has not yet joined, a “joined” member is currently joined to a conversation and a “left” member is a member that has left a conversation.

### Claim 18 (depends on 10)

The apparatus of claim 10 further comprising associating the one or more inbound communications to a second client application.

### Claim 19

A multi-channel communication system for managing multiple channels of communications between users comprising:
a conversation service sub-system;
a voice application programming interface in communication with the conversation service sub-system; and
a conversation application programming interface (CAPI) in communication with the voice application programming interface and the conversation service sub-system, the CAPI generating objects that represent the status of a conversation and status of one or more users of the conversation, wherein when the CAPI receives an inbound communication setup request sent from the communication service sub-system, the CAPI sends a notification about the setup request to a client application corresponding to an intended recipient of the communication, and wherein when the CAPI subsequently receives from the client application a request to invite the intended recipient to join a conversation, the CAPI sends an invitation to the intended recipient asking the intended recipient to join the conversation.

### Claim 20 (depends on 19)

The multi-channel communication system of claim 19, wherein when the CAPI joins a participant to a conversation, the CAPI sends an object representing the joined status of the participant to a client application corresponding to the participant.
