We've Moved! Please visit our new and improved forum over at our new portal: https://portal.plumvoice.com/hc/en-us/community/topics

audio files voice not coming

Questions and answers about Plum Survey

Moderators: admin, support

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

Re: audio files voice not coming

Post by support »

Right now you are using 2 grammars:

1. The digits built in, which will take 17 and only 17 digits and

2. Your own custom grammar that will take EITHER 0 to 255 digits OR "* #".

You should use one grammar that will take only 16 digits like this:

Code: Select all

<vxml version="2.0">
  <form>
    <field name="creditcardnum" type="digits?length=16">
      <prompt bargein="true">
	<audio src="https://wcdevint2.wavecrest.in:444/static/ivr/Afligo/en/wc-A1.wav"/>
      </prompt>
      
      <filled>
	<submit next="https://wcuser:wcuser@dev2.api.wavecrest.in:444/v1/services/ivr/plumivrprocessor" namelist="creditcardnum" method="post"/>
      </filled>
    </field>
  </form>
</vxml>
You should also place your <submit> tag within a <filled> tag, which is inside your <field>. That way you will only call your webservice when a caller enters a valid credit card information.

bmreddyrs
Posts: 44
Joined: Wed May 25, 2016 4:03 am

Reg: PCI Complaint application

Post by bmreddyrs »

Hi Team,

we are developing the IVR application against with PCI complaint.

The IVR Application functionality -
1. Asking the playing Card (debit/credit) number
2. Player DOB
3. Player SSN.

How can we manage these information travelling from out system to Plum environment.

Can we configure any extra parameters at our end.

Please let me know.

bmreddyrs
Posts: 44
Joined: Wed May 25, 2016 4:03 am

Reg: Call Forward Option

Post by bmreddyrs »

Hi Team,

Please provide the call forward option in Plum IVR Integration.

Please provide the sample code

Thanks,

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

Re: audio files voice not coming

Post by support »

Hi,

Our PCI environment requires that all web traffic, both internally in our environment and to customer web servers, utilize HTTPS. Our IVR systems will fetch the start URL at the beginning of the call. Each time the script jumps to a new VXML page, the IVR will request that page from your web servers. Once the caller enters any prompted information (CC, DOB, SSN, etc), this information must then be sent to your web servers via HTTPS/POST for any payment processing. That can be accomplished via a <submit> or <subdialog> tag.

We do not know what you mean by "the call forward option". Are you referring to transferring the call to another number? If so, please see our <transfer> documentation.

Regards,
Plum Support

bmreddyrs
Posts: 44
Joined: Wed May 25, 2016 4:03 am

Reg: Call Forward option

Post by bmreddyrs »

Hi Team,.

Thanks you for reply.

We already implement IVR system and we integrated with Twilio application. Now, we will change our IVR application to Plum Application.

We shared the phone numbers to customers and they use the twilio numbers.

We configure the Plum IVR number in Twilio call forward option.
when players call to the twilio and it forward to Plumn IVR.

My Requirement:
Twilio forward call send these parameters to Plum IVR - "CallSid,AccountSid,To,From,FromCity,FromZip,ToZip, etc".

MyQuestion: How can we get/read the twilio request parameters at Plum application and those parameters send to our IVR application.

Thanks,

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

Re: audio files voice not coming

Post by support »

Hi,

We currently do not accept SIP traffic from Twilio into our PCI environment. We could look into accepting traffic from them, however, they must be able to support SRTP or else we cannot allow their traffic.

There is no way at this point in time to access any incoming SIP headers in VXML. It would be more straight-forward to store this data on your own server, overriding the ANI with information that would allow you to access that data, and then pulling the data back from your server via the overridden ANI information. This will give you all of the information from Twilio without relying on SIP headers.

Regards,
Plum Support

bmreddyrs
Posts: 44
Joined: Wed May 25, 2016 4:03 am

Reg: Input character length condition

Post by bmreddyrs »

Hi Team,

We are looking at giving the user an option to enter input in varied length. The prompt for the user will be read out as "please enter you card number or press 9 to talk to our agent". Card number will be 16 digit in length and will never start with 9. We are looking to have the flow based on what the user presses as 9 or the card number. Can you let us know if this can be implemented ?

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

Re: audio files voice not coming

Post by support »

Hi,

Yes, this is certainly possible by utilizing grammars. You can find our documentation on grammars at http://www.plumvoice.com/docs/dev/developer_reference:grammar.

For the particular use case you are describing, something like the following grammar should suffice:

Code: Select all

<grammar type="application/srgs+xml" root="ROOT" mode="dtmf">
  <rule id="ROOT">
    <one-of>
      <item repeat="16">
        <one-of>
          <item>0</item>
          <item>1</item>
          <item>2</item>
          <item>3</item>
          <item>4</item>
          <item>5</item>
          <item>6</item>
          <item>7</item>
          <item>8</item>
          <item>9</item>
        </one-of>
      </item>
      <item>9</item>
    </one-of>
  </rule>
</grammar>
Regards,
Plum Support

bmreddyrs
Posts: 44
Joined: Wed May 25, 2016 4:03 am

Re: audio files not playing properly

Post by bmreddyrs »

Hi Team,

we are facing the audio playing issues.

we prepare the response xml file which send to Plum Dev environment.
Plum dev environment some times playing all the audio files playing very well and some times not only playing first two.

find the our response xml file.

<?xml version="1.0"?>
<vxml version="2.0">
<form><var name="CallSid" expr="session.id"/><var name="autoDigits" expr="1"/>
<block>
<prompt bargein="false">
<audio src="https://wcdevint2.wavecrest.in:444/stat ... -A21-1.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>0 pounds. 0 pence</say-as></voice>
<break time="medium" />
</prompt></block>
<property name="termtimeout" value="12s"/>
<property name="termchar" value="#"/>
<field name="Digits" type="digits?length=1"><prompt bargein="true">
<audio src="https://wcdevint2.wavecrest.in:444/stat ... ndCard.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>1</say-as></voice>
<break time="medium" />
<audio src="https://wcdevint2.wavecrest.in:444/stat ... istory.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>2</say-as></voice>
<break time="medium" />
<audio src="https://wcdevint2.wavecrest.in:444/stat ... getPIN.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>3</say-as></voice>
<break time="medium" />
<audio src="https://wcdevint2.wavecrest.in:444/stat ... ckCard.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>4</say-as></voice>
<break time="medium" />
</prompt>
<filled><submit next="https://wcuser:wcuser@dev2.api.wavecres ... processor/" namelist="Digits CallSid" method="post"/></filled>
</field>
</form>
</vxml>.


Find the Plum dev server logs.

Tue 30 Aug 2016 09:05:38 AM EDT:
Found grammar match
hypothesis #0: 8 (0.9510)
hypothesis #1: 2 (0.0110)
Fetching Document: https://wcuser:wcuser@dev2.api.wavecres ... processor/
DocumentParser::FetchDocument(https://wcuser:wcuser@dev2.api.wavecres ... processor/)
Posted form data is URL encoded
Attempting to fetch https://wcuser:wcuser@dev2.api.wavecres ... processor/

Tue 30 Aug 2016 09:05:39 AM EDT:
DocumentParser::FetchDocument - Parse error in file "https://wcuser:wcuser@dev2.api.wavecres ... processor/", line 3, column 92 - Expected end of tag 'block'
errno: 205 uri https://wcuser:wcuser@dev2.api.wavecres ... processor/
received event: error.badfetch:
bargein set to true
INPUTMODES set to "DTMF VOICE"
Audio segment added to prompt queue from TTS application/synthesis+ssml for:
---------
<?xml version='1.0'?><speak>
A serious error of type </speak>
---------
bargein set to true
INPUTMODES set to "DTMF VOICE"
Audio segment added to prompt queue from TTS application/synthesis+ssml for:
---------
<?xml version='1.0'?><speak>error.badfetch</speak>
---------
bargein set to true
INPUTMODES set to "DTMF VOICE"
Audio segment added to prompt queue from TTS application/synthesis+ssml for:
---------
<?xml version='1.0'?><speak> has occurred. Exiting. </speak>
---------
VXI::exit_element()
Newly queued prompts are now being played

Tue 30 Aug 2016 09:05:45 AM EDT:
Call End Event
Ending session
Ending Session On Channel 12.


Please let me know the issue. How can i resolve this issue.

Thanks,

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

Re: audio files voice not coming

Post by support »

Hi,

The badfetch error you are producing is due to incorrect syntax in your VXML code at https://wcuser:wcuser@dev2.api.wavecrest.in:444/v1/services/ivr/xmlivrprocessor/. If you would like to provide that code to us we could look further into the issue, but solely from the logs it seems as though it is missing an ending </block> tag after a <block>.

Regards,
Plum Support

bmreddyrs
Posts: 44
Joined: Wed May 25, 2016 4:03 am

Re: audio files not playing properly

Post by bmreddyrs »

support wrote:Hi,

The badfetch error you are producing is due to incorrect syntax in your VXML code at https://wcuser:wcuser@dev2.api.wavecres ... processor/. If you would like to provide that code to us we could look further into the issue, but solely from the logs it seems as though it is missing an ending </block> tag after a <block>.

Regards,
Plum Support
Hi Team,

Thank you for the reply. I am not understanding. I used the <block> and </block> tag in the provided xml file. find the highlighted bold font.

<?xml version="1.0"?>
<vxml version="2.0">
<form>
<var name="CallSid" expr="session.id"/>
<var name="autoDigits" expr="1"/>
<block>
<prompt bargein="false">
<audio src="https://wcdevint2.wavecrest.in:444/stat ... -A21-1.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>0 pounds. 0 pence</say-as></voice>
<break time="medium" />
</prompt>
</block>
<property name="termtimeout" value="12s"/>
<property name="termchar" value="#"/>
<field name="Digits" type="digits?length=1">
<prompt bargein="true">
<audio src="https://wcdevint2.wavecrest.in:444/stat ... ndCard.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>1</say-as></voice>
<break time="medium" />
<audio src="https://wcdevint2.wavecrest.in:444/stat ... istory.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>2</say-as></voice>
<break time="medium" />
<audio src="https://wcdevint2.wavecrest.in:444/stat ... getPIN.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>3</say-as></voice>
<break time="medium" />
<audio src="https://wcdevint2.wavecrest.in:444/stat ... ckCard.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>4</say-as></voice>
<break time="medium" />
</prompt>
<filled><submit next="https://wcuser:wcuser@dev2.api.wavecres ... processor/" namelist="Digits CallSid" method="post"/></filled>
</field>
</form>
</vxml>

Please find the above code.

Thanks,

support
Posts: 3632
Joined: Mon Jun 02, 2003 3:47 pm
Location: Boston, MA
Contact:

Re: audio files voice not coming

Post by support »

Hi,

The code that you have posted is formatted correctly, but the code referenced in the URL in your <submit> tag, https://wcuser:wcuser@dev2.api.wavecres ... processor/, is what is causing the badfetch error. Is it possible for you to provide that code to us?

Regards,
Plum Support

bmreddyrs
Posts: 44
Joined: Wed May 25, 2016 4:03 am

Document parser error

Post by bmreddyrs »

Hi Team,


Please let me know, the below error in Plum Dev server log.


Attempting to fetch https://wcuser:wcuser@dev2.api.wavecres ... processor/

Thu 01 Sep 2016 03:14:23 AM EDT:
Click here to view saved VoiceXML script
DocumentParser::FetchDocument - Parse error in file "https://wcuser:wcuser@dev2.api.wavecres ... processor/", line 3, column 122 - Expected whitespace
errno: 205 uri https://wcuser:wcuser@dev2.api.wavecres ... processor/
received event: error.badfetch:

Please let me know, what is the error in Bold highlighted url.

Thanks,

bmreddyrs
Posts: 44
Joined: Wed May 25, 2016 4:03 am

Re: audio files voice not coming

Post by bmreddyrs »

support wrote:Hi,

The code that you have posted is formatted correctly, but the code referenced in the URL in your <submit> tag, https://wcuser:wcuser@dev2.api.wavecres ... processor/, is what is causing the badfetch error. Is it possible for you to provide that code to us?

Regards,
Plum Support

Hi Team,

find the below xml file - (code).


<?xml version="1.0"?>
<vxml version="2.0">
<form><var name="CallSid" expr="'91a32856-6c0f-4cb9-b412-32ab96af1937'"/><var name="autoDigits" expr="1"/><block>
<prompt bargein="false">
<audio src="https://wcdevint2.wavecrest.in:444/stat ... -A21-1.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>0 dollars. 0 cents</say-as></voice>
<break time="4s" />
</prompt>
</block>
<property name="termtimeout" value="12s"/>
<property name="termchar" value="#"/>

<field name="Digits" type="digits?length=1"><grammar type="application/srgs+xml" root="Root" mode="dtmf">
<rule id="Root" scope="public"><one-of><item repeat="0-255"/></one-of></rule></grammar>

<prompt bargein="true">
<audio src="https://wcdevint2.wavecrest.in:444/stat ... ndCard.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>1</say-as></voice>
<break time="4s" />
<audio src="https://wcdevint2.wavecrest.in:444/stat ... istory.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>2</say-as></voice>
<break time="4s" />
<audio src="https://wcdevint2.wavecrest.in:444/stat ... agePIN.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>3</say-as></voice>
<break time="4s" />
<audio src="https://wcdevint2.wavecrest.in:444/stat ... ckCard.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>4</say-as></voice>
<break time="4s" />
<audio src="https://wcdevint2.wavecrest.in:444/stat ... ervice.wav" maxstale="1000000s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>9</say-as></voice>
<break time="4s" />
</prompt>

<nomatch count="1">
<prompt></prompt>
<reprompt/>
</nomatch>
<nomatch count="2">
<prompt></prompt>
<reprompt/>
</nomatch>
<nomatch count="3">
<prompt></prompt>
<reprompt/>
</nomatch>
<nomatch count="4">
<throw event="exit"/>
</nomatch>
<catch event="exit">
<exit/>
</catch>/><noinput count="1">
<prompt></prompt>
<reprompt/>
</noinput>
<noinput count="2">
<prompt></prompt>
<reprompt/>
</noinput>
<noinput count="3">
<prompt></prompt>
<reprompt/>
</noinput>
<noinput count="4">
<exit/>
</noinput>
<filled><submit next="https://wcuser:wcuser@dev2.api.wavecres ... processor/" namelist="Digits CallSid" method="post"/></filled>
</field>
</form>
</vxml>

thanks,

bmreddyrs
Posts: 44
Joined: Wed May 25, 2016 4:03 am

Re: audio files not playing completely

Post by bmreddyrs »

Hi Team,

Please find the below xml input file to Plum Dev environment.

<?xml version="1.0"?>
<vxml version="2.0">
<form><var name="CallSid" expr="'a9e72239-f524-401f-a803-acba55a04aff'"/><var name="autoDigits" expr="1"/><block>
<prompt bargein="false">
<audio src="https://wcdevint2.wavecrest.in:444/stat ... -A21-1.wav" fetchtimeout="120s"/>
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>0 dollars. 0 cents</say-as></voice>
<break time="4s" />
</prompt>
</block>
<property name="termtimeout" value="12s"/>
<property name="termchar" value="#"/>

<field name="Digits" type="digits?length=1"><grammar type="application/srgs+xml" root="Root" mode="dtmf">
<rule id="Root" scope="public"><one-of><item repeat="0-255"/></one-of></rule></grammar>

<prompt bargein="true">
<audio src="https://wcdevint2.wavecrest.in:444/stat ... ndCard.wav" fetchtimeout="120s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>1</say-as></voice>
<break time="4s" />
<audio src="https://wcdevint2.wavecrest.in:444/stat ... istory.wav" fetchtimeout="120s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>2</say-as></voice>
<break time="4s" />
<audio src="https://wcdevint2.wavecrest.in:444/stat ... agePIN.wav" fetchtimeout="120s"/>
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>3</say-as></voice>
<break time="4s" />
<audio src="https://wcdevint2.wavecrest.in:444/stat ... ckCard.wav" fetchtimeout="120s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>4</say-as></voice>
<break time="4s" />
<audio src="https://wcdevint2.wavecrest.in:444/stat ... ervice.wav" fetchtimeout="120s" />
<voice xml:lang="en_us" gender="female" name="crystal"><say-as>9</say-as></voice>
<break time="4s" />
</prompt>
<nomatch count="1">
<prompt></prompt>
<reprompt/>
</nomatch>
<nomatch count="2">
<prompt></prompt>
<reprompt/>
</nomatch>
<nomatch count="3">
<prompt></prompt>
<reprompt/>
</nomatch>
<nomatch count="4">
<throw event="exit"/>
</nomatch>
<catch event="exit">
<exit/>
</catch>/><noinput count="1">
<prompt></prompt>
<reprompt/>
</noinput>
<noinput count="2">
<prompt></prompt>
<reprompt/>
</noinput>
<noinput count="3">
<prompt></prompt>
<reprompt/>
</noinput>
<noinput count="4">
<exit/>
</noinput>
<filled><submit next="https://wcuser:wcuser@dev2.api.wavecres ... processor/" namelist="Digits CallSid" method="post"/></filled>
</field>
</form>
</vxml>


Issues:
Case 1:
wc-A12-suspendCard.wav, wc-A12-transactionHistory.wav - these two prompts were played and repeat the wc-A12-suspendCard.wav.

case 2: All Audio prompts Played one time and repeat the wc-A12-suspendCard.wav prompt and connect has hangout.

We expected:
If user won't give any input then its all audio prompts will play three times repeatedly after 4th attempt the call will disconnect.

I wrote the logic in the above xml file.

Please suggest why the all prompts are not played repeatedly

Thanks,

Post Reply