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 |
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.
|