System and method for queuing a communication session
First Claim
Patent Images
1. A method comprising:
- at a multitenant communication platform that includes at least one programmatic queue, each programmatic queue being configured for a platform account of a plurality of platform accounts of the communication platform, the communication platform including a programmatic queue-control interface available to each platform account associated with a programmatic queue;
establishing a communication session of a platform account in the multitenant communication platform;
through the programmatic queue-control interface, receiving an enqueue request of the platform account from a first entity, the enqueue request being a request to enqueue the communication session of the platform account in a programmatic queue of the platform account that is identified by a queue identifier specified in the enqueue request, the enqueue request specifying a wait-state application uniform resource identifier (URI) of a wait-state application for the communication session when in the queue of the platform account;
adding the communication session to the queue of the platform account, the queue being a queue of a plurality of communication sessions;
upon adding the communication session to the queue, transferring control logic to the wait-state application of the specified URI;
receiving a dequeue request initiated by a second entity; and
in response to the dequeue request, managing the procession of communication sessions in the queue; and
dequeuing a communication session from the queue,wherein a wait-state application URI is specified for each of a plurality of communication sessions enqueued in the queue of the platform account, each wait-state application URI being specified by a respective enqueue request, and wherein each wait-state application URI references executable instructions specified for the platform account,wherein each enqueue request for the queue of the platform account is a request of the platform account, andwherein each enqueue request received through the programmatic queue-control interface specifies at least one of;
an added-state application, the added state application including at least one of;
an application that is invoked before a communication session of the enqueue request is added to the queue, and an application that is invoked directly after the communication session is added to the queue,a wait-state application that is invoked while the communication session is waiting, andan action-state application that is invoked in response to the communication session being dequeued.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method including receiving a request to enqueue a communication session; adding the communication session to the queue of a plurality of communication sessions; upon adding the communication to the queue, transferring control logic to the configured wait-state application; receiving a dequeue request initiated by a second entity; in response to the dequeue request, managing the procession of communication sessions in the queue; and dequeuing a communication session from the queue.
469 Citations
31 Claims
-
1. A method comprising:
- at a multitenant communication platform that includes at least one programmatic queue, each programmatic queue being configured for a platform account of a plurality of platform accounts of the communication platform, the communication platform including a programmatic queue-control interface available to each platform account associated with a programmatic queue;
establishing a communication session of a platform account in the multitenant communication platform; through the programmatic queue-control interface, receiving an enqueue request of the platform account from a first entity, the enqueue request being a request to enqueue the communication session of the platform account in a programmatic queue of the platform account that is identified by a queue identifier specified in the enqueue request, the enqueue request specifying a wait-state application uniform resource identifier (URI) of a wait-state application for the communication session when in the queue of the platform account; adding the communication session to the queue of the platform account, the queue being a queue of a plurality of communication sessions; upon adding the communication session to the queue, transferring control logic to the wait-state application of the specified URI; receiving a dequeue request initiated by a second entity; and in response to the dequeue request, managing the procession of communication sessions in the queue; and
dequeuing a communication session from the queue,wherein a wait-state application URI is specified for each of a plurality of communication sessions enqueued in the queue of the platform account, each wait-state application URI being specified by a respective enqueue request, and wherein each wait-state application URI references executable instructions specified for the platform account, wherein each enqueue request for the queue of the platform account is a request of the platform account, and wherein each enqueue request received through the programmatic queue-control interface specifies at least one of; an added-state application, the added state application including at least one of;
an application that is invoked before a communication session of the enqueue request is added to the queue, and an application that is invoked directly after the communication session is added to the queue,a wait-state application that is invoked while the communication session is waiting, and an action-state application that is invoked in response to the communication session being dequeued. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 23)
- at a multitenant communication platform that includes at least one programmatic queue, each programmatic queue being configured for a platform account of a plurality of platform accounts of the communication platform, the communication platform including a programmatic queue-control interface available to each platform account associated with a programmatic queue;
-
13. A method comprising:
- at a multitenant communication platform that includes at least one programmatic queue, each programmatic queue being configured for a platform account of a plurality of platform accounts of the communication platform, the communication platform including a programmatic queue-control interface available to each platform account associated with a programmatic queue;
establishing a communication session of a platform account in the multitenant communication platform; through the programmatic queue-control interface, receiving an enqueue request of the platform account from a first entity, the enqueue request being a request to enqueue the communication session of the platform account in a programmatic queue of the platform account that is identified by a queue identifier specified in the enqueue request, the enqueue request specifying a wait-state application uniform resource identifier (URI) of a wait-state application for the communication session when in the queue of the platform account; adding the communication session to the queue of the platform account, the queue being a queue of a plurality of communication sessions; requesting wait-state application instructions from the wait-state application URI over an HTTP-based protocol, wherein analytics of the queue are included in a request to the wait-state application URI; while in the queue, executing the wait-state application instructions; managing the procession of communication sessions in the queue; providing a queue application programming interface (API) that is responsive to API calls adding or removing communication sessions in a queue and API calls querying analytics of the queue, wherein the queue API is at least a subset of the programmatic queue-control interface; receiving a dequeue request directed at the queue; and dequeuing the communication session in response to the dequeue request, wherein a wait-state application URI is specified for each of a plurality of communication sessions enqueued in the queue of the platform account, each wait-state application URI being specified by a respective enqueue request, and wherein each wait-state application URI references executable instructions specified for the platform account, wherein each enqueue request for the queue of the platform account is a request of the platform account, and wherein each enqueue request received through the programmatic queue-control interface specifies at least one of; an added-state application, the added state application including at least one of;
an application that is invoked before a communication session of the enqueue request is added to the queue, and an application that is invoked directly after the communication session is added to the queue,a wait-state application that is invoked while the communication session is waiting, and an action-state application that is invoked in response to the communication session being dequeued. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 31)
- at a multitenant communication platform that includes at least one programmatic queue, each programmatic queue being configured for a platform account of a plurality of platform accounts of the communication platform, the communication platform including a programmatic queue-control interface available to each platform account associated with a programmatic queue;
-
22. A method comprising:
- at a multitenant communication platform that includes at least one programmatic queue, each programmatic queue being configured for a platform account of a plurality of platform accounts of the communication platform, the communication platform including a programmatic queue-control interface available to each platform account associated with a programmatic queue;
establishing an active voice call session of a platform account in the multitenant communication platform; through the programmatic queue-control interface, receiving an enqueue request of the platform account from a first entity, the enqueue request being a request to enqueue the voice call session of the platform account in a programmatic queue of the platform account that is identified by a queue identifier specified in the enqueue request, the enqueue request specifying a wait-state application uniform resource identifier (URI) of a wait-state application for the active voice call session when in the queue of the platform account, the enqueue request being initiated by an application instruction of the voice call session; adding the voice call session to the queue of the platform account, the queue being a queue of a plurality of voice call sessions; collecting queue analytics; upon adding the voice call session to the queue, transferring control logic of the voice call session to the wait-state application as specified by the wait-state application URI, wherein control logic of the wait-state application is looped with current queue analytic input while waiting in the queue; receiving an instruction to call the queue and dequeue a voice call session of the queue, the instruction specifying an action-state application universal resource identifier (URI) of an action-state application; in response to the instruction to call the queue, managing the procession of voice call sessions in the queue and dequeuing a voice call session from the queue; upon dequeuing the selected voice call session, transferring control logic to the action-state application specified by the action-state application URI; and bridging a voice call of the selected voice call session to a second entity, wherein a wait-state application URI is specified for each of a plurality of voice call sessions enqueued in the queue of the platform account, each wait-state application URI being specified by a respective enqueue request, and wherein each wait-state application URI references executable instructions specified for the platform account, wherein each enqueue request for the queue of the platform account is a request of the platform account, and wherein each enqueue request received through the programmatic queue-control interface specifies at least one of; an added-state application, the added state application including at least one of;
an application that is invoked before a voice call session of the enqueue request is added to the queue, and an application that is invoked directly after the voice call session is added to the queue,a wait-state application that is invoked while the voice call session is waiting, and an action-state application that is invoked in response to the voice call session being dequeued.
- at a multitenant communication platform that includes at least one programmatic queue, each programmatic queue being configured for a platform account of a plurality of platform accounts of the communication platform, the communication platform including a programmatic queue-control interface available to each platform account associated with a programmatic queue;
-
24. A method comprising:
- at a multitenant communication platform that includes at least one programmatic queue, each programmatic queue being configured for a platform account of a plurality of platform accounts of the communication platform, the communication platform including a programmatic queue-control interface available to each platform account associated with a programmatic queue;
establishing a communication session of a platform account in the multitenant communication platform; through the programmatic queue-control interface, receiving an enqueue request of the platform account from a first entity, the enqueue request being a request to enqueue the communication session of the platform account in a programmatic queue of the platform account that is identified by a queue identifier specified in the enqueue request, the enqueue request specifying wait-state application configuration for the communication session when in the queue of the platform account; adding the communication session to the queue of the platform account, the queue being a queue of a plurality of communication sessions; upon adding the communication session to the queue, the communication platform transferring control logic according to the specified wait-state application configuration; receiving a dequeue request initiated by a second entity; and in response to the dequeue request, managing the procession of communication sessions in the queue; and
dequeuing a communication session from the queue,wherein wait-state application configuraiton is specified for each of a plurality of communication sessions enqueued in the queue of the platform account, each wait-state application configuraiton being specified by a respective enqueue request, and wherein each wait-state application configuraiton references executable instructions specified for the platform account, wherein each enqueue request for the queue of the platform account is a request of the platform account, wherein each enqueue request of a platform account is provided by a system of the platform account external to the communication platform, and wherein each enqueue request received through the programmatic queue-control interface specifies at least one of; an added-state application, the added state application including at least one of;
an application that is invoked before a communication session of the enqueue request is added to the queue, and an application that is invoked directly after the communication session is added to the queue,a wait-state application that is invoked while the communication session is waiting, and an action-state application that is invoked in response to the communication session being dequeued. - View Dependent Claims (25, 26, 27, 28, 29, 30)
- at a multitenant communication platform that includes at least one programmatic queue, each programmatic queue being configured for a platform account of a plurality of platform accounts of the communication platform, the communication platform including a programmatic queue-control interface available to each platform account associated with a programmatic queue;
Specification