Log In
Developer Network
Technologies
Join the Network
Member Services
Events & Community
Voice Gateway API (VGAPI) Developer Center
Overview
Documentation
Community
Testing
Message Boards Home
Recent Posts
Statistics
Answer
(
Unmark
)
Mark as an Answer
« Back to VXML-API
DTD Error
Threads [
Previous
|
Next
]
Patrick Hartl
Posts:
28
Join Date:
9/4/09
Recent Posts
DTD Error
Answer
11/9/11 7:58 AM
Mark as an Answer
Submit
Reply with Quote
Quick Reply
Hello,
I want to build a short IVR with vxml. When I add a second form to my vxml document I become an DTD error.
Element <audio> is not used according to DTD
The beginning of my doc:
<?xml version="1.0" encoding="iso-8859-1"?>
<vxml version="2.0">
or
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE vxml
PUBLIC "-//W3C//DTD VOICEXML 2.0//EN"
"http://www.w3.org/TR/voicexml21/vxml.dtd">
<vxml version="2.0">
I want to add:
<elseif cond="mycall == 'noanswer'"/>
<goto next="#noan"/>
with an link to
<form id="noan">
but the call will be disconnected and the error occurs.
Have anyone a idea ?
thx
regards Patricio
Sign in to vote.
Flag
Please sign in to flag this as inappropriate.
Top
Anusha Kannappan
Posts:
149
Join Date:
9/15/09
Recent Posts
RE: DTD Error
Answer
11/2/09 5:19 PM as a reply to Patrick Hartl.
Mark as an Answer
Submit
Reply with Quote
Quick Reply
Hi Patricio,
I don¿t see any syntax errors in the way you have added the second form in the script. Are you trying to play an audio file in the second form? If so can you please check for the correctness of that tag and also check whether the files are there in the specified location.
Thanks,
Anusha
Sign in to vote.
Flag
Please sign in to flag this as inappropriate.
Top
Patrick Hartl
Posts:
28
Join Date:
9/4/09
Recent Posts
RE: DTD Error
Answer
11/2/09 5:53 PM as a reply to Anusha Kannappan.
Mark as an Answer
Submit
Reply with Quote
Quick Reply
Hi,
Thank you for your response. This is a sample vxml configuration. The audio files are on the flash memory.
Without the hop "goto next" and a second section <form> the default audio is played and the script seems ok.
But I have to use different sections...
<?xml version="1.0"?>
<vxml version="2.0">
<!--
Cisco Voicexml Default
File Name : sdc.vxml
-->
<catch event="error.badfetch">
<prompt>
<audio src="technical.au"></audio>
</prompt>
<log> Catch Handler :: Bad Fetch </log>
</catch>
<catch event="telephone.disconnect.transfer">
<log> Catch Handler :: Blind Transfer </log>
</catch>
<catch event="telephone.disconnect.hangup">
<log> Catch Handler :: User disconnected </log>
</catch>
<form id="main">
<var name="mydur"/>
<var name="PhoneNum" expr="session.connection.remote.uri"/>
<!-- Play music while attempting to connect to far-end -->
<transfer name="mycall" destexpr="'sip:'+session.connection.local.uri+'@192.168.251.2:5060'" transferaudio="moh01.wav" bridge="true" connecttimeout="10s">
<filled>
<assign name="mydur" expr="mycall$.duration"/>
<if cond="mycall == 'busy'">
<goto next="#busy"/>
<elseif cond="mycall == 'noanswer'"/>
<goto next="#noanswer"/>
<elseif cond="mycall == 'unknown'"/>
<goto next="#unknown"/>
<elseif cond = "mycall == 'maxtime.disconnect'"/>
<goto next="#maxtime"/>
</if>
</filled>
</transfer>
</form>
<form id="busy">
<audio src="busy.ulaw.wav"/>
</form>
<form id="noanswer">
<audio src="noanswer.ulaw.wav"/>
</form>
<form id="unknown">
<var name="phone_num"/>
<field name="get_phone_num" type="number">
<grammar type="application/grammar+regex">...</grammar>
<prompt bargein="true">
<audio src="unknown.ulaw.wav"></audio>
</prompt>
<filled>
<assign name="phone_num" expr="get_phone_num"/>
</filled>
</field>
<transfer name="mycall" destexpr="'tel: ' + phone_num" connecttimeout="30s" cisco-longpound ="true" bridge="true">
</transfer>
</form>
<form id="maxtime">
<audio src="goodbye.au"/>
</form>
</vxml>
The DEBUG:
*Nov 2 11:57:14: //2689//VXML:/Open_SetupIndication:
*Nov 2 11:57:14: //2689//AFW_:/vapp_vxmldialog: Trusted=0, DNIS Map URI=, Code = {
}
*Nov 2 11:57:14: //2689//AFW_:/vapp_vxmldialog: After DNIS Map URI=flash:sdc.vxml, Code = {
<?xml version="1.0"?>
<vxml version="2.0">
<!--
Cisco Voicexml Default
File Nam
}
*Nov 2 11:57:14: //-1//AFW_:/AFW_VxmlModule_New:
*Nov 2 11:57:14: //-1//VXML:/vxml_tree_lock:
vxmlp=67B93F3C usage_cnt=0
*Nov 2 11:57:14: //0/B21051F18CC0/VXML:/vxml_start_element_handler:
CALL_ERROR; flash:sdc.vxml
at line 56: Element <audio> is not used according to DTD
*Nov 2 11:57:14: //0/B21051F18CC0/VXML:/vxml_parse:
*Nov 2 11:57:14: vxml_parse: XML_Parse success err=0
*Nov 2 11:57:14: vxml_tree_delete_for_parse_failure:mem_mgr_mempool_free: mempool=NULL
*Nov 2 11:57:14: //0/B21051F18CC0/VXML:/vxml_session_delete:
*Nov 2 11:57:14: vxml_session_delete:mem_mgr_mempool_free: mem_refcnt(6BA9244C)=0 - mempool cleanup
*Nov 2 11:57:14: vxml_session_delete:mem_mgr_mempool_free: mempool=NULL
*Nov 2 11:57:14: //-1//VXML:/vxml_create:
*Nov 2 11:57:14: vxml_create: error exit
*Nov 2 11:57:14: //-1//VXML:/vxml_create:
CALL_ERROR; code=ERROR vapp=VAPP_SUCCESS vxml=
*Nov 2 11:57:14: //2689//AFW_:/vapp_terminate:
*Nov 2 11:57:14: //2689//AFW_:/vapp_session_exit_event_name: Exit Event vxml.session.complete
*Nov 2 11:57:14: //2689//AFW_:/AFW_M_VxmlModule_Terminate:
*Nov 2 11:57:14: //2689//AFW_:/vapp_checksessionstate:
*Nov 2 11:57:14: //2689//AFW_:/vapp_checkifdone: Object: 1, Leg: 1
*Nov 2 11:57:14: //2689//AFW_:/vapp_checksessionstate:
*Nov 2 11:57:14: //2689//AFW_:/vapp_checkifdone: Object: 0, Leg: 0
*Nov 2 11:57:14: //-1//AFW_:HNCDD7FEFC:/AFW_M_VxmlModule_Free:
*Nov 2 11:57:14: MOD[VxmlModule_67E7C8E0_0_3453484796] ( )
Regards
Patrick
Sign in to vote.
Flag
Please sign in to flag this as inappropriate.
Top
Anusha Kannappan
Posts:
149
Join Date:
9/15/09
Recent Posts
RE: DTD Error
Answer
11/2/09 8:14 PM as a reply to Patrick Hartl.
Mark as an Answer
Submit
Reply with Quote
Quick Reply
Hi Patrick,
Place the audio tag inside the block tag. Then it would work without any issue.
For example:
---------------
Instead of
<form id="noanswer">
<audio src="noanswer.ulaw.wav"/>
</form>
Use the following:
<form id="noanswer">
<block>
<audio src="noanswer.ulaw.wav"/>
</block>
</form>
Thanks,
Anusha.
Sign in to vote.
Flag
Please sign in to flag this as inappropriate.
Top
Patrick Hartl
Posts:
28
Join Date:
9/4/09
Recent Posts
RE: DTD Error
Answer
11/2/09 8:30 PM as a reply to Anusha Kannappan.
Mark as an Answer
Submit
Reply with Quote
Quick Reply
Hi,
Now I have changed the program to:
<form id="busy">
<block>
<audio src="busy.ulaw.wav"/>
</block>
</form>
Now I have an other error:
*Nov 2 14:24:07: //-1//VXML:EE66C89EFC000:/C_ServiceVxmlBase_Main:
*Nov 2 14:24:07: %VOICE_ELOG-4-MEM_USAGE_HI_WATERMARK: System memory on high usage (81/100). Stopping processing new event log for now.
*Nov 2 14:24:07: //2690//VXML:/Open_SetupIndication:
*Nov 2 14:24:07: //2690//AFW_:/vapp_vxmldialog: Trusted=0, DNIS Map URI=, Code = {
}
*Nov 2 14:24:07: //2690//AFW_:/vapp_vxmldialog: After DNIS Map URI=flash:sdc.vxml, Code = {
<?xml version="1.0"?>
<vxml version="2.0">
<!--
Cisco Voicexml Default
File Nam
}
*Nov 2 14:24:07: //-1//AFW_:/AFW_VxmlModule_New:
*Nov 2 14:24:07: //-1//VXML:/vxml_tree_lock:
vxmlp=67B93F3C usage_cnt=0
*
Nov 2 14:24:07: //0/373F49C68CC4/VXML:/vxml_character_data:
CALL_ERROR; flash:sdc.vxml
at line 55: Invalid PCDATA
*Nov 2 14:24:07: //0/373F49C68CC4/VXML:/vxml_parse:
*Nov 2 14:24:07: vxml_parse: XML_Parse success err=2
*Nov 2 14:24:07: vxml_tree_delete_for_parse_failure:mem_mgr_mempool_free: mempool=NULL
*Nov 2 14:24:07: //0/373F49C68CC4/VXML:/vxml_session_delete:
*Nov 2 14:24:07: vxml_session_delete:mem_mgr_mempool_free: mem_refcnt(6AC1A990)=0 - mempool cleanup
*Nov 2 14:24:07: vxml_session_delete:mem_mgr_mempool_free: mempool=NULL
*Nov 2 14:24:07: //-1//VXML:/vxml_create:
*Nov 2 14:24:07: vxml_create: error exit
*
Nov 2 14:24:07: //-1//VXML:/vxml_create:
CALL_ERROR; code=ERROR vapp=VAPP_SUCCESS vxml=
*Nov 2 14:24:07: //2690//AFW_:/vapp_terminate:
*Nov 2 14:24:07: //2690//AFW_:/vapp_session_exit_event_name: Exit Event vxml.session.complete
*Nov 2 14:24:07: //2690//AFW_:/AFW_M_VxmlModule_Terminate:
*Nov 2 14:24:07: //2690//AFW_:/vapp_checksessionstate:
*Nov 2 14:24:07: //2690//AFW_:/vapp_checkifdone: Object: 1, Leg: 1
*Nov 2 14:24:07: //2690//AFW_:/vapp_checksessionstate:
*Nov 2 14:24:07: //2690//AFW_:/vapp_checkifdone: Object: 0, Leg: 0
*Nov 2 14:24:07: //-1//AFW_:HNCE5E7A4C:/AFW_M_VxmlModule_Free:
*Nov 2 14:24:07: MOD[VxmlModule_67E7CDE0_0_3462298188] ( )
and after changing the form id
busy
to
busytag
- then I have the same eror as bevor:
<?xml version="1.0"?>
<vxml version="2.0">
<!--
Cisco Voicexml Default
File Nam
}
*Nov 2 14:32:51: //-1//AFW_:/AFW_VxmlModule_New:
*Nov 2 14:32:51: //-1//VXML:/vxml_tree_lock:
vxmlp=67B93F3C usage_cnt=0
*Nov 2 14:32:51: //0/008730EA8500/VXML:/vxml_start_element_handler:
CALL_ERROR; flash:sdc.vxml
at line 74: Element <block> is not used according to DTD
*Nov 2 14:32:51: //0/008730EA8500/VXML:/vxml_parse:
*Nov 2 14:32:51: vxml_parse: XML_Parse success err=0
*Nov 2 14:32:51: vxml_tree_delete_for_parse_failure:mem_mgr_mempool_free: mempool=NULL
*Nov 2 14:32:51: //0/008730EA8500/VXML:/vxml_session_delete:
*Nov 2 14:32:51: vxml_session_delete:mem_mgr_mempool_free: mem_refcnt(6A5C76E8)=0 - mempool cleanup
*Nov 2 14:32:51: vxml_session_delete:mem_mgr_mempool_free: mempool=NULL
*Nov 2 14:32:51: //-1//VXML:/vxml_create:
*Nov 2 14:32:51: vxml_create: error exit
*Nov 2 14:32:51: //-1//VXML:/vxml_create:
CALL_ERROR; code=ERROR vapp=VAPP_SUCCESS vxml=
*Nov 2 14:32:51: //2693//AFW_:/vapp_terminate:
*Nov 2 14:32:51: //2693//AFW_:/vapp_session_exit_event_name: Exit Event vxml.session.complete
*Nov 2 14:32:51: //2693//AFW_:/AFW_M_VxmlModule_Terminate:
*Nov 2 14:32:51: //2693//AFW_:/vapp_checksessionstate:
*Nov 2 14:32:51: //2693//AFW_:/vapp_checkifdone: Object: 1, Leg: 1
*Nov 2 14:32:51: //2693//AFW_:/vapp_checksessionstate:
*Nov 2 14:32:51: //2693//AFW_:/vapp_checkifdone: Object: 0, Leg: 0
*Nov 2 14:32:51: //-1//AFW_:HNCE667764:/AFW_M_VxmlModule_Free:
*Nov 2 14:32:51: MOD[VxmlModule_67E7E1E0_0_3462821732] ( )
regards
Patrick
Sign in to vote.
Flag
Please sign in to flag this as inappropriate.
Top
Anusha Kannappan
Posts:
149
Join Date:
9/15/09
Recent Posts
RE: DTD Error
Answer
11/3/09 12:30 PM as a reply to Patrick Hartl.
Mark as an Answer
Submit
Reply with Quote
Quick Reply
Hi Patrick,
No need to modify the form item variable as it is used to store the outcome of the transfer attempt. Let that be the same as before(busy). Just include the prompt tag inbetween as follows
<form id="busy">
<block>
<prompt>
<audio src="flash:no_input.au"/>
</prompt>
</block>
</form>
Thanks,
Anusha.
Sign in to vote.
Flag
Please sign in to flag this as inappropriate.
Top
Patrick Hartl
Posts:
28
Join Date:
9/4/09
Recent Posts
RE: DTD Error
Answer
11/3/09 12:40 PM as a reply to Anusha Kannappan.
Mark as an Answer
Submit
Reply with Quote
Quick Reply
Hi,
Sorry - the same error. Could it be the IOS ?
Nov 3 06:43:25: //0/053981E28CD5/VXML:/vxml_start_element_handler:
CALL_ERROR; flash:sdc.vxml
at line 78: Element <block> is not used according to DTD
regards
Patrick
Sign in to vote.
Flag
Please sign in to flag this as inappropriate.
Top
Anusha Kannappan
Posts:
149
Join Date:
9/15/09
Recent Posts
RE: DTD Error
Answer
11/3/09 1:43 PM as a reply to Patrick Hartl.
Mark as an Answer
Submit
Reply with Quote
Quick Reply
Hi Patrick,
I had tried the simple call transfer with just the 'busy' and 'noansmwer' option with the specified modification and it worked very fine. Please send me your modified script along with the configurations and logs for analysing further.
Thanks,
Anusha
Sign in to vote.
Flag
Please sign in to flag this as inappropriate.
Top
Patrick Hartl
Posts:
28
Join Date:
9/4/09
Recent Posts
RE: DTD Error
Answer
11/3/09 4:14 PM as a reply to Anusha Kannappan.
Mark as an Answer
Submit
Reply with Quote
Quick Reply
Hi,
The solution is - be careful with <block> and <promt> elements in fields.
This was the error.
thank you very much for your help
Patrick
Sign in to vote.
Flag
Please sign in to flag this as inappropriate.
Top
Anusha Kannappan
Posts:
149
Join Date:
9/15/09
Recent Posts
RE: DTD Error
Answer
11/3/09 6:03 PM as a reply to Patrick Hartl.
Mark as an Answer
Submit
Reply with Quote
Quick Reply
Hi Patrick,
I was not able to view any attachment of the script. Please let us know whether your query was addressed?
Thanks,
Anusha.
Sign in to vote.
Flag
Please sign in to flag this as inappropriate.
Top
Patrick Hartl
Posts:
28
Join Date:
9/4/09
Recent Posts
RE: DTD Error
Answer
11/3/09 6:09 PM as a reply to Anusha Kannappan.
Mark as an Answer
Submit
Reply with Quote
Quick Reply
Hi,
Here is my solution. If you have a better solution - let me know :-)
lg
Patrick
Attachments:
Sign in to vote.
Flag
Please sign in to flag this as inappropriate.
Top