Data structure driven interactive voice response (IVR) framework
Abstract
A device may receive, from a server device, a request for an initial action associated with an interactive voice response (IVR) service. The request may include a service identifier. The device may obtain a set of code segments for an IVR application that supports the IVR service by using the service identifier to search a data structure. The set of code segments may be associated with logic of the IVR application. The device may provide instructions associated with an initial code segment to the server device to cause the server device to execute the initial action via a communication with a user device. The device may selectively provide, to the server device, instructions associated with another code segment to cause the server device to execute a next action via the communication with the user device.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A device, comprising:
one or more memories; and
one or more processors, communicatively coupled to the one or more memories, to:
receive, from a server device, a request for an initial action associated with an interactive voice response (IVR) service;
analyze the request for the initial action to obtain a service identifier associated with the IVR service;
obtain a set of code segments for an IVR application that supports the IVR service by using the service identifier to search a data structure,
the set of code segments being associated with logic of the IVR application and including an initial code segment identifying the initial action associated with the IVR application;
translate the initial code segment to instructions associated with the initial code segment,
the instructions associated with the initial code segment being in a format capable of being processed by the server device;
provide the instructions associated with the initial code segment to the server device to cause the server device to execute the initial action via a communication with a user device; and
selectively provide, to the server device, instructions associated with another code segment based on information included in a request for a next action,
the instructions associated with the other code segment to cause the server device to execute the next action via the communication with the user device.
2. The device of claim 1 , where the initial action and the other action include at least one of:
provide the user device with a menu of options,
provide the user device with an announcement,
obtain information from an external data source, or
connect the user device with a device associated with a customer service agent.
3. The device of claim 1 , where the one or more processors are further to:
receive, after selectively providing instructions associated with the other code segment, a request to modify the IVR application,
the request to modify the IVR application including an additional code segment or a modification for a first code segment, of the set of code segments; and
update the data structure by replacing a code segment, of the set of code segments, with the additional code segment or by updating the data structure with the modification to the first code segment.
4. The device of claim 3 , where IVR application code stored on the device and IVR application code stored on the server device are not modified as part of satisfying the request to modify the IVR application.
5. The device of claim 1 , where the one or more processors, when selectively providing the instructions associated with the other code segment, are to:
receive, from the server device, the request for the next action,
identify the other code segment based on information included in the request for the next action,
the other code segment identifying the next action, and
provide the instructions associated with the other code segment to the server device to cause the server device to execute the next action via the communication with the user device.
6. The device of claim 1 , where the one or more processors, when selectively providing the instructions associated with the other code segment, are to:
receive, from the server device, a request for the next action,
the next action being a request for user account information,
identify the other code segment based on information included in the request for the next action,
obtain the user account information from an external data source using information included in the other code segment, and
provide the instructions associated with the other code segment to the server device,
the instructions including the user account information.
7. A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions that, when executed by one or more processors, cause the one or more processors to:
receive, from a server device, a request for an initial action associated with an interactive voice response (IVR) service,
the request for the initial action including a service identifier associated with the IVR service;
obtain a set of code segments for an IVR application that supports the IVR service by using the service identifier to search a data structure,
the set of code segments being associated with logic of the IVR application;
identify an initial code segment of the set of code segments,
the initial code segment identifying the initial action associated with the IVR application;
translate the initial code segment to instructions associated with the initial code segment,
the instructions associated with the initial code segment being in a format capable of being processed by the server device;
provide the instructions associated with the initial code segment to the server device to cause the server device to execute the initial action via a communication with a user device; and
selectively provide, to the server device, instructions associated with another code segment based on information included in a request for a next action,
the instructions associated with the other code segment to cause the server device to execute the next action via the communication with the user device.
8. The non-transitory computer-readable medium of claim 7 , where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:
update the data structure, after selectively providing instructions associated with the other code segment, by replacing a code segment, of the set of code segments, with an additional code segment, or by updating the code segment, of the set of code segments, with a modification to the code segment; and
deploy the IVR application using the additional code segment or using the modification to the code segment.
9. The non-transitory computer-readable medium of claim 7 , where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:
receive, after selectively providing instructions associated with the other code segment, a request to deploy another IVR application that is associated with a different IVR vendor than the IVR application,
the other IVR application to replace the IVR application;
update the data structure by replacing the set of code segments with another set of code segments that are associated with the other IVR application; and
deploy the other IVR application using the other set of code segments.
10. The non-transitory computer-readable medium of claim 7 , where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:
receive, after selectively providing instructions associated with the other code segment, a request to deploy another IVR application using a different integrated develop environment (IDE) than an IDE used to support the IVR application;
update the data structure by replacing the set of code segments with another set of code segments that are associated with the other IVR application; and
deploy the other IVR application using the other set of code segments.
11. The non-transitory computer-readable medium of claim 7 , where the one or more instructions, that cause the one or more processors to obtain the set of code segments by using the service identifier to search the data structure, cause the one or more processors to:
search, using the service identifier, the data structure for the set of code segments, and
receive, from the search, configuration information and the set of code segments,
the configuration information including an instruction identifying a code segment of the set of code segments as the initial code segment.
12. The non-transitory computer-readable medium of claim 7 , where the one or more instructions, that cause the one or more processors to selectively provide the instructions associated with the other code segment, cause the one or more processors to:
receive, from the server device, the request for the next action,
identify the other code segment based on information included in the request for the next action,
the other code segment identifying the next action, and
provide the instructions associated with the other code segment to the server device to cause the server device to execute the next action via the communication with the user device.
13. The non-transitory computer-readable medium of claim 7 , where the one or more instructions, that cause the one or more processors to selectively provide the instructions associated with the other code segment, cause the one or more processors to:
receive, from the server device, the request for the next action,
the next action being a request to connect the user device to a device associated with a customer service agent,
identify the other code segment based on information included in the request for the next action,
provide the instructions associated with the other code segment to the server device,
the instructions including a message to notify the user device that a connection to the device associated with the customer service agent is being established, and
provide a request to establish the connection between the user device and the device associated with the customer service agent using information included in the other code segment.
14. A method, comprising:
receiving, by a device and from a server device, a request for an initial action associated with an interactive voice response (IVR) service;
analyzing, by the device, the request for the initial action to obtain a service identifier associated with the IVR service;
obtaining, by the device, an initial code segment of a set of code segments for an IVR application that supports the IVR service by using the service identifier to search a data structure,
the set of code segments being associated with logic of the IVR application;
translating, by the device, the initial code segment to instructions associated with the initial code segment,
the instructions associated with the initial code segment being in a format capable of being processed by the server device;
providing, by the device, the instructions associated with the initial code segment to the server device to cause the server device to execute the initial action via a communication with a user device; and
selectively providing, by the device and to the server device, instructions associated with another code segment based on information included in a request for a next action,
the instructions associated with the other code segment to cause the server device to execute the next action via the communication with the user device.
15. The method of claim 14 , further comprising:
receiving, after selectively providing instructions associated with the other code segment, a request to modify the IVR application,
the request to modify the IVR application including a modification for a code segment, of the set of code segments; and
updating the data structure by updating a code segment, of the set of code segments, with the modification for the code segment.
16. The method of claim 14 , further comprising:
receiving, after selectively providing instructions associated with the other code segment, a request to deploy another IVR application that is associated with a different IVR vendor than the IVR application,
the other IVR application to replace the IVR application;
updating the data structure by replacing the set of code segments with another set of code segments that are associated with the other IVR application; and
deploying the other IVR application using the other set of code segments.
17. The method of claim 16 , where IVR application code stored on the device and IVR application code stored on the server device are not modified as part of satisfying the request to deploy the other IVR application.
18. The method of claim 14 , where selectively providing the instructions associated with the other code segment comprises:
receiving, from the server device, the request for the next action,
obtaining the other code segment by using information included in the request for the next action to search the data structure,
translating the other code segment to the instructions associated with the other code segment,
the instructions associated with the other code segment being in a format capable of being processed by the server device, and
providing the instructions associated with the other code segment to the server device.
19. The method of claim 14 , wherein the other code segment is obtained by searching the data structure using the information included in the request for the next action.
20. The device of claim 1 , where:
each code segment included in the set of code segments includes one or more lines of code associated with the logic of the IVR application; and
the one or more processors, when translating the initial code segment to instructions associated with the initial code segment, are to:
translate one or more values included in the initial code segment to the format capable of being processed by the server device.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.