Client-specific control of shared telecommunications services
Aspects are directed toward use of data communications server(s) and a Platform as a Service (PaaS) interface to provide remote services for endpoint devices of a plurality disparate client entities. In one example, an apparatus includes a computing server to provide data communications for a plurality of endpoint devices respectively associated with a plurality of disparate client entities according to and responsive to client-specific sets of control data. The apparatus also includes a processing circuit configured to adjust routing of the communications by the computing server, in response to call event data generated by the computing server, by generating the client-specific sets of control data for each client entity according to a respective set of directives.
1. A data communications system providing data communication services, the data communications system comprising:
a Platform as a Service (PaaS) interface;
a plurality of data communications servers to provide access to communications services or features via the PaaS interface, wherein the PaaS interface and the plurality of data communications servers include:
communications routing circuitry configured to provide data communication services for a plurality of customer accounts supported by the data communications system;
communications control circuitry configured to control data communications routed for each customer account by communicating with a customer server associated with the customer account without directly accessing customer call data stored on the customer server, and by parsing a respective set of one or more data processing instructions associated with the customer account, wherein the respective set of one or more data processing instructions are written and documented via a programming language, are to include data communications flow commands and communications routing instructions, and are to rely upon the customer call data associated with the customer account; and
analytics circuitry to track, based on the communications routing instructions and the customer call data, selected ones of the data communications routed to each customer account, wherein the communications routing circuitry is to route data communications to the customer server using the communications routing instructions and to use customer call data based on tracked call-related parameters via the analytics circuitry.
2. The data communications system of claim 1 , wherein the programming language allows access to one or more of the communications services or features including a set of call control operations.
3. The data communications system of claim 1 , wherein via the customer account or the customer server, data sources are provided to at least one of the plurality of data communications servers and a call control engine without providing direct access to the data.
4. The data communications system of claim 1 , wherein the programming language corresponds to an XML language, and wherein via the customer account or the customer server, an XML-based document is conveyed to at least one of the plurality of data communications servers for pointing to a customer-provided server, and in response, a call control engine is to carry out call routing operations without having direct access to the customer call data.
5. The data communications system of claim 1 , wherein the customer call data, as stored on the customer server, includes proprietary customer call data.
6. The data communications system of claim 1 , wherein the communications routing instructions are conveyed with call-processing tracking data, wherein the analytics circuitry is to track selected ones of the data communications routed to each customer account as a function of the call-processing tracking data.
7. The data communications system of claim 1 , wherein the plurality of data communications servers provides VoIP (Voice over Internet Protocol) communications services.
8. The data communications system of claim 1 , wherein the PaaS interface is to be configured by or on behalf of a services-provider entity to provide the data communication services as indicated for each of the customer accounts.
9. The data communications system of claim 1 , wherein the PaaS interface is to be changed without requiring modification to the respective set of one or more data processing instructions associated with the customer account.
10. The data communications system of claim 1 , wherein the communications services or features are limited and controlled by the PaaS interface and one or more of the plurality of data communications servers.
11. The data communications system of claim 1 , further including a data analytics server to track a plurality of communications-related parameters include a plurality of the following: a number of dropped calls, a number of transferred calls, voicemail access, conferencing features used, and time-related information associated with the data communications.
12. The data communications system of claim 1 , wherein the communications control circuitry is to generate database queries to a database associated with the customer account or the customer server.
13. The data communications system of claim 1 , wherein the communications control circuitry is to allow a customer to specify in the respective set of one or more data processing instructions, database queries without allowing the data communications provider to directly access a database of the customer.
14. A method for use in a data communications system having a Platform as a Service (PaaS) interface and a plurality of data communications servers, the method comprising:
using the plurality of data communications servers to provide access to communications services or features via the PaaS interface,
providing, via the PaaS interface and the plurality of data communications servers:
data communication services for a plurality of customer accounts supported by the data communications system;
controlling data communications routed for each customer account by communicating with a customer server associated with the customer account without directly accessing customer call data stored on the customer server, and by parsing a respective set of one or more data processing instructions associated with the customer account, wherein the respective set of one or more data processing instructions are written and documented via a programming language, are to include data communications flow commands and communications routing instructions, and are to rely upon the customer call data associated with the customer account; and
tracking, based on the communications routing instructions and the customer call data, selected ones of the data communications routed to each customer account, wherein the data communications are to be routed to the customer server using the communications routing instructions and the customer call data is to be used based on tracked call-related parameters via analytics circuitry, wherein the analytics circuitry is communicatively coupled with the PaaS interface.
15. The method of claim 14 , wherein the programming language includes a scripting language.
16. The method of claim 14 , wherein the programming language includes an XML-type language.
17. The method of claim 14 , wherein at least one of the services or features includes a VoIP (Voice over Internet Protocol) service or feature, and wherein the PaaS interface enables personnel, associated with the customer account, to program VoIP call flow for the VoIP service and to integrate a server associated with the customer account.
18. The method of claim 14 , wherein at least one of the services or features includes a VoIP (Voice over Internet Protocol) service or feature, and wherein the PaaS interface enables personnel, associated with the customer account, to program VoIP call flow for the VoIP service and to integrate data provided by a server that is operated on behalf of a third party.
19. A computer program product, including a non-transitory computer-readable medium, having stored thereon instructions which when executed by a computer-processor circuit, causes the computer-processor circuit to:
use a plurality of data communications servers for access to communications services or features via a PaaS (platform as a service) interface, and
via the PaaS interface and the plurality of data communications servers:
process data communication services for at least one of a plurality of customer accounts supported by the data communications servers;
process data communications routed for each customer account by communications involving a customer server associated with the customer account without permitting the PaaS interface to directly access customer call data stored on the customer server, wherein a respective set of one or more data processing instructions associated with the customer account is parsed via the PaaS interface and the plurality of data communications servers, wherein the respective set of one or more data processing instructions are written and documented via a programming language, are to include data communications flow commands and communications routing instructions, and are to rely upon the customer call data associated with the customer account; and
track, based on the communications routing instructions and the customer call data, selected ones of the data communications routed to each customer account, wherein the data communications are to be routed to the customer server using the communications routing instructions and the customer call data is to be used based on tracked call-related parameters via analytics circuitry, wherein the analytics circuitry is communicatively coupled with the PaaS interface.