Callback from a web page using UCCX 8.5

Answered Question
Feb 28th, 2013
User Badges:

We have several customers in India, where the phone system is terrible. It is extremely hard if not impossible to get a single toll free number that is accessable from all of India, to be forwarded out of country.


We are looking to have a web link where the customer can enter a phone number, and then recieve a callback from an Agent.


I am fairly new to ACD Scripting.


Thanks

Correct Answer by Anthony Holloway about 4 years 4 months ago

EDIT: After typing all of that up, I just remembered that there is a sample script for doing this in the Script Repository.


You can download it from this link:  http://www.cisco.com/en/US/products/sw/custcosw/ps1846/products_implementation_design_guides_list.html


The details are in the following folder:  script_repository_902\script_repository\release1\Readme\README-webcallback.txt



Disclaimer: I have not used this sample script from the repo, I just knew it was there from browsing it.


Original Reply Below

--------------------------------------------------------

           

If you want the solution to be 100% in UCCX, which is possible, you will need the UCCX Premium Licensing for your system.  With Premium licensing you can accept contacts via multiple channels, to include: phone calls, email, and web.


The solution is not so simple to setup that I can type it all up right here, but I will give you the high level:


Two New Scripts

Create a new script that shows the user a web form for them to submit

Create a new script that accepts the form submission

Two New Applications

Create a new application to control your web form script

Create a new application to control your form submission

Two New Triggers

Create a new HTTP Trigger for your web form application

Create a new HTTP Trigger for your form submission application


HTML Disclaimer

You will need to know how to build a web page and specifically a web form, as that's not a drag and drop feature of UCCX.  You need to write valid HTML for this task.


Web Form Script Details

Once you write the web form page in HTML, you will need to have the web form script serve it up to the HTTP Contact.  The form action should point to the HTTP Trigger for the form submission application.


Form Submission Script Details

Now you need to write the form submission script to read the POST header fields, to grab pontentially more than, but at atleast the call back number of the customer, which they would have typed into the web form.  Once you have the callback number from the customer, you need to use the Place Call Step to call into your normal (and possibly existing) CSQ handling script.  In the successful branch of the Place Call Step you will need to loop (for a long time) and ask the Agent to press a key on their phone to acknowledge that they are there and ready to hear the playback of the callback number.  This can be done with the Menu or Get Digit String steps.  Once the Agent pressed the key, you can play, using the Play Prompt step, the callback number to the Agent.  And possibly keep repeating it until they hang up.  Now the Agent can call them back.


This is a very simple from scratch solution and there are many decisions to make/consider for this to be a polished solution.


Lastly, if you do not have Premium, or cannot get it, you will need an additional web server in the mix to help with the request, but then you're talking JTAPI softphones or a periodic web page scrape from UCCX > Web Server so you can notice new requests coming in.


This is a challenge, but it can be done.  Good luck with it and post back if you have more questions or run into trouble implementing it.




Anthony Holloway


Please use the star ratings to help drive great content to the top of searches.

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4 (2 ratings)
Loading.
Correct Answer
Anthony Holloway Thu, 02/28/2013 - 15:21
User Badges:
  • Purple, 4500 points or more

EDIT: After typing all of that up, I just remembered that there is a sample script for doing this in the Script Repository.


You can download it from this link:  http://www.cisco.com/en/US/products/sw/custcosw/ps1846/products_implementation_design_guides_list.html


The details are in the following folder:  script_repository_902\script_repository\release1\Readme\README-webcallback.txt



Disclaimer: I have not used this sample script from the repo, I just knew it was there from browsing it.


Original Reply Below

--------------------------------------------------------

           

If you want the solution to be 100% in UCCX, which is possible, you will need the UCCX Premium Licensing for your system.  With Premium licensing you can accept contacts via multiple channels, to include: phone calls, email, and web.


The solution is not so simple to setup that I can type it all up right here, but I will give you the high level:


Two New Scripts

Create a new script that shows the user a web form for them to submit

Create a new script that accepts the form submission

Two New Applications

Create a new application to control your web form script

Create a new application to control your form submission

Two New Triggers

Create a new HTTP Trigger for your web form application

Create a new HTTP Trigger for your form submission application


HTML Disclaimer

You will need to know how to build a web page and specifically a web form, as that's not a drag and drop feature of UCCX.  You need to write valid HTML for this task.


Web Form Script Details

Once you write the web form page in HTML, you will need to have the web form script serve it up to the HTTP Contact.  The form action should point to the HTTP Trigger for the form submission application.


Form Submission Script Details

Now you need to write the form submission script to read the POST header fields, to grab pontentially more than, but at atleast the call back number of the customer, which they would have typed into the web form.  Once you have the callback number from the customer, you need to use the Place Call Step to call into your normal (and possibly existing) CSQ handling script.  In the successful branch of the Place Call Step you will need to loop (for a long time) and ask the Agent to press a key on their phone to acknowledge that they are there and ready to hear the playback of the callback number.  This can be done with the Menu or Get Digit String steps.  Once the Agent pressed the key, you can play, using the Play Prompt step, the callback number to the Agent.  And possibly keep repeating it until they hang up.  Now the Agent can call them back.


This is a very simple from scratch solution and there are many decisions to make/consider for this to be a polished solution.


Lastly, if you do not have Premium, or cannot get it, you will need an additional web server in the mix to help with the request, but then you're talking JTAPI softphones or a periodic web page scrape from UCCX > Web Server so you can notice new requests coming in.


This is a challenge, but it can be done.  Good luck with it and post back if you have more questions or run into trouble implementing it.




Anthony Holloway


Please use the star ratings to help drive great content to the top of searches.

newtonr Fri, 01/03/2014 - 08:21
User Badges:

Hi Anthony,


Hope you can advise:

I have used the sample repository scripts for web callback and it works a treat if I answer the call immediately as an agent (via Place Outbound Call step) and then press 1 to have CCX redirect the call to the "contact's" number left via the html input form. My issue is that the confirmation page (returnPage.html) is not sent back to the HTTP contact until the End step is triggered, which obviously occurs at the end of the script or when the agent has accepted the callback request and been redirected successfully to the number left by the HTTP contact; if no agents are available for a long period then the original HTTP contact just sees their web page hang trying to refresh (until an agent answers and the script ends). This can be proved or replicated by runnning a Reactive Debug session and watching the page return the confirmation only when hitting an End step.


My question is; is there any way to send the confirmation back immediately to the contact prior to placing the outbound call to the agent (CSQ)? I have tried using the Terminate Triggering Contact but this just throws the usual error and fails to proceed further in the script even if placed under successful branch of the Place Call Step (which creates the new Outbound Contact).


Any advice appreciated.

Thanks,

Rob

Anthony Holloway Tue, 01/07/2014 - 07:00
User Badges:
  • Purple, 4500 points or more

You are spot on.  The HTTP response is not sent until the script ends.  That's just the way it works.


For your specific scenario, I would recommend you look at the Trigger Application step in Asynchronous mode.  This will allow you to fire off a new script that handles the call back portion while the original script simply ends, sending the HTTP request to the web page user.


Anthony Holloway

Please use the star ratings to help drive great content to the top of searches.

newtonr Tue, 01/07/2014 - 09:38
User Badges:

Thanks Anthony. Good idea with the Async mode. I'll test that way.


Rob

Actions

This Discussion

Related Content