Basic CRS Script support

Unanswered Question
Feb 16th, 2010
User Badges:

I am trying to create a script that allows the caller to enter a zip code and get addresses of the nearest doctor based on 5 mile radius.

I am stuck on the "GET DIGIT STRING"

I am not sure what to do next after the digits are collected.

I have an IF (resultant digit string) == 92618 with a prompt that plays the address.

It is not working.


Does anyone out there have any experience and advice.


My goal is to actually use a database, but I cannot find any sample scripts.

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Loading.
Nathan Luk Tue, 02/16/2010 - 23:13
User Badges:
  • Bronze, 100 points or more

Looks to me like your announcement prompt is wrong. Unless you actually have a wav file called "The address to the closest Monarch Physicians office is 7 Technology, Irvine CA.wav". Do you have it recorded as a prompt or are you attempting to use text to speech (TTS)?


Cheers,

Nathan

bryantmarsh Thu, 02/18/2010 - 09:24
User Badges:

Hi Nathan,


OK that makes some sense now. I was just needing to test out a playback and I did not catch the TTS aspect. I will just make a .WAV file and see how that works.


Thanks for you advice!!

Bryant.

vinodkewate Wed, 02/17/2010 - 10:38
User Badges:

Hi Bryan,

What exactly would you like to implement?

Do you have database maintained for ZIP Code, Doctors for that area.

If you have DB for this, u just need to collect user input ZIP Code using Get Digit String.

Then apply DB read to database with SQL query like.

Select Doctor from DBname where ZIP Code= value(Get Digit String)

Then if you have already recorded .wav for all doctors.

Use Switch Case object of IVR to play respective wav file for the doctor.

bryantmarsh Thu, 02/18/2010 - 09:28
User Badges:

Hi vinodkewate,


Wow.. Thanks for the input!


I do not have a DB created yet, but I have some colleagues here that are DBA's. I can get their expertise on creating a database of doctors and zipcodes.


I should just be able to use the W2K SQL on the CCX server correct?


I will follow the steps you outlined and give that a try.

I really appreciate your help.


Bryant.

vinodkewate Thu, 02/18/2010 - 11:37
User Badges:

Yes Correct, u can have it on ur server.


But i hope its not that much huge, and will not eat too much space on UCCX box.

bryantmarsh Thu, 02/18/2010 - 17:17
User Badges:

Hi vinodkewate,


Thanks for your help. I only have about 20 doctors addresses that I need to query.

I created a database on the SQL server running on the CCX and created tables and data for one of the doctors.


I ran a SQL query in the DB Read > select * from DoctorInfo where ZipCode = 92673 and it worked.

I put the select * from DoctorInfo where ZipCode = value(Get Digit String) and the debug on the script just passed right over the successful to SQL error on the branch and terminated.


So I cannot figure out or find any documentation as to why the script is getting SQL errors.


Also on the SET statement, I wanted to setup a TTS to playback to the caller the values from each column that the variables match.

Do you know how to do that?

I just have SET DoctorAddress = DoctorAddress... but I know that is not right. I think I need something like

SET DoctorAddress = plSpeech + plSpeechAddress + DoctorAddress

Gabriel Saavedra Fri, 02/19/2010 - 06:48
User Badges:
  • Silver, 250 points or more

Hi Bryan,


If you want get all the rows of the Select * from

you need to add a "label" step before de the DB get step and in the succesfull step of the DB get after the " set DoctorsAddress = DoctorsAddress" a "go to" step that sends the call the the label that you add, so the next row of the query will be sent. After all the rows are obtain the call should get to the "no data" of the DB get and the call terminate.

About your question I think you will need to modify your query because you are querying the database and your  database doesn't know what is "= value("Get Digit String")".


Gabriel.

Gabriel Saavedra Fri, 02/19/2010 - 07:01
User Badges:
  • Silver, 250 points or more

With the TTS you need a Create Generated Prompt with the variable that contains the address, then you have to use a create container prompt to concatenate a prerecorded .wav that says maybe "the doctor's address is" and after that add the generated prompt. and then you have to use a play prompt step to play the .wav + the generated prompt.

vinodkewate Fri, 02/19/2010 - 07:54
User Badges:

I meant that collect the ZIP code entered by user in one variable.

Say Input_ZIPCode=Get digit string()

Then fire SQL query to select doctors and address having ZIP_Code= Input_ZIPCode

bryantmarsh Fri, 03/12/2010 - 14:22
User Badges:

Hi Vinodkewate,


I was able to get the TTS working and I created a database with SQL. I am able to query the database for a few columns and have the results returned to play back an address. My question is now, I have multiple hospital locations within the same zip code. How do I script it to where the select * from XXX returns those multiple locations and allows the caller to to press 1 , 2, or 3 to hear the addresses for each location?


Thanks,

Bryant,.

Gabriel Saavedra Fri, 03/12/2010 - 15:06
User Badges:
  • Silver, 250 points or more

Hi Bryant,


After you query the database for all the posible hospitals, you can create a prompt array, so when he dials 1 you can take and play the prompt in position 0 of the array and so on. But I think the easier and better way is that for each row that the query throws you play the prompt for the triggering contact, and then you can ask him with a menu if he wants to hear again that prompt or continue with the next prompt, all this by using labels.

bryantmarsh Wed, 03/17/2010 - 11:19
User Badges:

Hi Gabsaaqom,


Yes I see what you mean by doing a physician loop. I was able to get the script to play out a TTS prompt for each physician, but I am not sure how to create a "prompt array". Do you know of any script examples I can follow to customize my script?


Thanks for your help.

Bryant

bryantmarsh Wed, 03/24/2010 - 11:24
User Badges:

Hi Gabriel,


So I took your advise and I was able to use the labels as you suggested. It works great!! Thanks..


So I attached my simple script. I plan to customize it more.

I just enabled the Nuance Recognizer 9 and tested my aa.aef canned cisco script to verify. It works as expected.


Drilling down through the aa.aef script, I realize that it is way too complicated for me to figure out.


I just was wondering what steps I need in my simple script "script11.aef" to integrate ASR functions that will allow the caller to "SAY" the zipcode in addition to DTMF.


If I just get directed in the right direction, I can try and figure it out.

I do not know if I need conditional prompts since I already have ASR enabled.

I seem to have the simple recognition "menu" working "ONLY" as DTMF right now in my simple script. I made a grammar *.digit but I am not sure why it does not respond to speech as the aa.aef does.


What my goal is, is to have the spoken zipcode get saved as a string to use as a variable in quering a SQL database, Just like the get digit string does now with DTMF.

bryantmarsh Sat, 02/20/2010 - 15:33
User Badges:

Thanks gabssagom,


So for complete functionality on the TTS, I would need to setup a provider within IPCC correct?

The question I have is if the nuance dragon naturally speaking v10 would work as the MRCP server?


Thanks,

Bryant.

Actions

This Discussion