US 12,294,559 B2
System and method for enabling dynamic multi-modal communication
Patrick Malatack, San Francisco, CA (US); Thomas Wilsher, San Francisco, CA (US); Cheuk To Law, San Francisco, CA (US); and Gowri Rao, San Francisco, CA (US)
Assigned to Twilio Inc., San Francisco, CA (US)
Filed by Twilio Inc., San Francisco, CA (US)
Filed on Nov. 27, 2023, as Appl. No. 18/520,525.
Application 18/520,525 is a continuation of application No. 17/867,566, filed on Jul. 18, 2022, granted, now 11,831,415.
Application 17/867,566 is a continuation of application No. 16/054,879, filed on Aug. 3, 2018, granted, now 11,394,673, issued on Jul. 19, 2022.
Application 16/054,879 is a continuation of application No. 15/059,753, filed on Mar. 3, 2016, granted, now 10,069,773, issued on Sep. 4, 2018.
Application 15/059,753 is a continuation of application No. 14/489,371, filed on Sep. 17, 2014, granted, now 9,325,624, issued on Apr. 26, 2016.
Claims priority of provisional application 61/902,985, filed on Nov. 12, 2013.
Prior Publication US 2024/0098049 A1, Mar. 21, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 51/063 (2022.01); H04L 47/125 (2022.01); H04L 51/066 (2022.01); H04L 51/214 (2022.01); H04M 7/00 (2006.01); H04W 72/044 (2023.01)
CPC H04L 51/063 (2013.01) [H04L 47/125 (2013.01); H04L 51/066 (2013.01); H04L 51/214 (2022.05); H04M 7/0021 (2013.01); H04M 7/0024 (2013.01); H04M 7/0048 (2013.01); H04M 7/0051 (2013.01); H04W 72/044 (2013.01); H04M 7/0054 (2013.01); H04M 2201/60 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, by a multi-tenant communication platform, a first request associated with a first user account and a second request associated with a second user account,
the first request comprising content of a first message and a first plurality of destination endpoints to receive the first message, and identifying a first routing property defining one or more first constraints for transmitting the first message, and
the second request comprising content of a second message and a second plurality of destination endpoints to receive the second message, and identifying a second routing property defining one or more second constraints for transmitting the second message;
generating a first list of routing options for delivering the first message to the first plurality of destination endpoints using the first routing property, and a second list of routing options for delivering the second message to the second plurality of destination endpoints using the second routing property, the routing options being associated with different communication services and, for each communication service, different channel protocols corresponding to different service providers;
determining, based on the first list of routing options, a first optimal routing option for delivering the first message to the first plurality of destination endpoints;
determining, based on the second list of routing options, a second optimal routing option for delivering the second message to the second plurality of destination endpoints;
causing one or more versions of the first message to be transmitted to the first plurality of destination endpoints using the first optimal routing option; and
causing one or more versions of the second message to be transmitted to the second plurality of destination endpoints using the second optimal routing option.