IP Library › Granted Patent US 11,653,282
Granted Patent B2
US 11,653,282 · App. 17/095,122 · Granted May 16, 2023

System and method for enabling multi-modal communication

Inventor: Patrick Malatack (San Francisco, CA)
Assignee: Twilio Inc.
H04W40/02H04L41/5051H04L45/745H04W8/26H04W12/06H04W60/00H04W60/005H04L45/74H04L63/08H04W88/06
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,653,282
App. No.
17/095,122
Granted
May 16, 2023
Kind
B2
Abstract

Systems and methods for a multi-tenant communication platform. At a multi-tenant communication platform, and responsive to authentication of a communication request provided by an external system, a routing address record of the communication platform is determined that matches a communication destination of the communication request. The matching routing address record associates the communication destination with a plurality of external communication providers. At least one communication provider associated with the matching routing address record is selected, and a request to establish communication with the communication destination is provided to each selected communication provider. The communication request specifies the communication destination and account information.

Claims (38)

1. A method comprising:

receiving, through an application programming interface (API), an inbound communication request, the inbound communication request identifying a communication endpoint;

analyzing the inbound communication request to identify a transport protocol;

selecting a routing option of the transport protocol, the routing option mapping the communication endpoint to a destination endpoint;

responsive to receiving communication content associated with the communication request, transforming the communication content to a format that is compatible with the selected routing option of the transport protocol and a mode of communication associated with the selected routing option; and

transmitting the transformed communication content to the destination endpoint on the selected routing option.

2. The method of claim 1 , wherein selecting the routing option comprises selecting the routing option based, at least in part, on reliability of the selected routing option.

3. The method of claim 1 , wherein selecting the routing option comprises selecting the routing option based, at least in part, on involved content transformations of a set of a routing options.

4. The method of claim 1 , further comprising: receiving an endpoint registration request through a registration API, in response to a user initiating a pairing of the communication endpoint with the destination endpoint of an account of a third party communication platform; and updating an endpoint repository database that pairs the destination endpoint of a third party communication platform with the communication endpoint.

5. The method of claim 4 , wherein selecting the routing option of the transport protocol comprises selecting the routing option from a set of routing options according to a set of priority heuristics, wherein the routing option specifies the destination endpoint and destination transport protocol.

6. The method of claim 5 , wherein the set of routing options comprises of at least one routing option for each of: a Short Message Service (SMS) message service provider, a Multimedia Messaging Service (MMS) message service provider, and an Internet Protocol (IP) message service provider.

7. The method of claim 5 , wherein the set of routing options comprises of at least two distinct over-the-top routing options.

8. The method of claim 5 , wherein the set of routing options comprises of at least one routing option that specifies an asynchronous transport protocol and one routing option that specifies a synchronous transport protocol.

9. A non-transitory computer-readable storage medium comprising computer-readable instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

receiving, through an application programming interface (API), an inbound communication request, the inbound communication request identifying a communication endpoint;

analyzing the inbound communication request to identify a transport protocol;

selecting a routing option of the transport protocol, the routing option mapping the communication endpoint to a destination endpoint;

responsive to receiving communication content associated with the inbound communication request, transforming the communication content to a format that is compatible with the selected routing option of the transport protocol and a mode of communication associated with the selected routing; and

transmitting the transformed communication content to the destination endpoint on the selected routing option.

10. The non-transitory computer-readable storage medium of claim 9 , the operations further comprising: receiving an endpoint registration request through a registration API, in response to a user initiating a pairing of the communication endpoint with the destination endpoint of an account of a third party communication platform; and updating an endpoint repository database that pairs the destination endpoint of a third party communication platform with the communication endpoint.

11. The non-transitory computer-readable storage medium of claim 10 , wherein selecting the routing option of the transport protocol comprises selecting the routing option from a set of routing options according to a set of priority heuristics, wherein the routing option specifies the destination endpoint and destination transport protocol.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the set of routing options comprises at least one routing option for each of: a Short Message Service (SMS) message service provider, a Multimedia Messaging Service (MMS) message service provider, and an Internet Protocol (IP).

13. The non-transitory computer-readable storage medium of claim 11 , wherein the set of routing options comprises at least two distinct over-the-top routing options.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the set of routing options comprises at least one routing option that specifies an asynchronous transport protocol and one routing option that specifies a synchronous transport protocol.

15. A system comprising:

a communication system comprising a communication router configured with a set of communication interfaces for a set of routing options;

wherein the set of routing options comprises routing options for at least two transport protocols;

wherein the communication system comprises of at least one computer-readable medium that stores instructions that when executed by at least one computer processor cause the communication system to:

receive, through an application programming interface (API), an inbound communication request, the inbound communication request identifying a communication endpoint,

analyze the inbound communication request to identify a transport protocol,

select a routing option of the transport protocol, the routing option mapping the communication endpoint to a destination endpoint;

responsive to receiving communication content associated with the inbound communication request, transform the communication content to a format that is compatible with the selected routing option of the transport protocol and a mode of communication associated with the selected routing option; and

transmit the transformed communication content to the destination endpoint on the selected routing option.

16. The system of claim 15 , wherein the communication system is further configured to receive an endpoint registration request through a registration API, in response to a user initiating a pairing of the communication endpoint with the destination endpoint; and update an endpoint repository database that pairs the destination endpoint of a third-party communication platform with the communication endpoint.

17. The system of claim 16 , wherein configuration to select the selected routing option of the transport protocol comprises configuration to select the routing option from the set of routing options according to a set of priority heuristics, wherein the routing option specifies the destination endpoint and a destination transport protocol.

18. The system of claim 15 , wherein the set of routing options comprises at least one routing option for each of: a Short Message Service (SMS) message service provider, a Multimedia Messaging Service (MMS) message service provider, and an Internet Protocol (IP) message service provider.

19. The system of claim 15 , wherein the set of routing options comprises at least two distinct over-the-top routing options.

20. The system of claim 15 , wherein the set of routing options comprises at least one routing option that specifies an asynchronous transport protocol and one routing option that specifies a synchronous transport protocol.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2020
From: MALATACK, PATRICK
To: TWILIO INC.
Reel/Frame 054336/0258 →
Continuity (6)
Continuation 16546019 · Aug 20, 2019
Continuation 15871833 · Jan 15, 2018
Continuation 14944869 · Nov 18, 2015
Continuation 14690252 · Apr 17, 2015
Provisional Application 61980749 · Apr 17, 2014
Related Publication 20210136652A1 · May 6, 2021
Cited By (3)
US 12,213,048 US 12,471,169 US 12,557,164