Restore Virtual Queue Position Upon Resubmit
In some scenarios, the Orchestration Server (ORS) fails to handle a callback session that is in the QUEUED state and GMS will resubmit the callback service request to another ORS.
Starting in 22.214.171.124, GMS can maintain the queue priority and interaction age by passing in calculated settings. This is possible only if you enable the Restore Virtual Queue Position Upon Resubmit feature by configuring your GMS application and callback service as detailed in this page.
Enable the Restoring of Virtual Queue Position Upon Resubmit
To enable this feature, set the callback/enable-restore-vq-position to true in your GMS application. By default, the option is true and enables the feature. As result, both the virtual call priority and interaction age will be restored when GMS will resubmit the callback.
How to set your Virtual Queue Priority
The Virtual Queue Priority depends on the following callback service options:
- _urs_vq_priority—Priority to be set for the virtual interaction when submitting to _urs_virtual_queue. If you leave this option blank, no priority will be set.
- _urs_vq_priority_increment—The amount by which the priority will be incremented. For example, 10 to increment the priority by 10 each time. If you leave this option blank, the incrementation of the priority is disabled.
- _urs_vq_priority_increment_interval—Number of seconds between each incrementation of the priority. For example, 60 to increment the priority every 60 seconds. If you leave this option blank, the incrementation of the priority is disabled.
You can either set these options in your callback service through the Service Management UI, or pass them the HTTP request that starts your callback Service.
These values will be used to calculate an updated _urs_vq_priority value using the following formula:
_urs_vq_priority + _urs_vq_priority_increment * floor( (current_time - callback_start_time) / urs_vq_priority_increment_interval )
If the _urs_call_interaction_age parameter is neither set in the callback service nor passed in the HTTP request that starts the service, it is set upon resubmit to a value based on the callback start time. Otherwise, the originally provided value of _urs_call_interaction_age is maintained upon resubmit.