Когда мы сталкиваемся с error.recognition для поддиалога, следующий сгенерированный поддиалог не имеет возвращаемых параметров.
Мы используем Java-приложения Call Router и Call Steering. В котором маршрутизатор вызовов используется для создания страницы vxml, содержащей тег поддиалога, а управление вызовами используется для создания страницы vxml, содержащей возвращаемые параметры.
При обычном выполнении у нас есть поддиалог Call Router, как указано ниже.
<subdialog name="subdialogSubmit"
method="post"
src=https://xxxxx:xxx/xxxxx/xxx/xxx/CallSteering/xxxxx05818
namelist="CallID postbackURL handoffTarget DNIS ContextID SubdialogEvent subdialogURL SubdialogName subdialogName NOVA " >
<filled>
<assign name="SubdialogResult" expr="JSON.stringify(subdialogSubmit)" />
<goto next="#processSubdialogSuccess"/>
</filled>
<catch event="connection.disconnect.hangup">
<log>[<value expr='ContextID'/>] Caught hangup event from URL [https://xxx:xxx/xxxx/xxxx/xxxx/CallSteering/xxxxx05818] for subdi
alog [ivrcs]</log>
<assign name="SubdialogResult" expr="JSON.stringify(subdialogSubmit)" />
<assign name="SubdialogEvent" expr="_event"/>
<goto next="#processSubdialogReturn"/>
</catch>
</subdialog>
И как только приложение управления вызовами будет готово, оно создаст vxml, как показано ниже.
<form id="subdialogReturn">
<block>
<log>Returning from subdialog with parameters [IVR_Source Has_DTV CallID SubMarket DNIS Has_IPDSL Mdn ContextID CustType Has_HSIA Has_Wireless
Has_IPTV Has_DirectTV_legacy SubdialogErrorDescription Has_CVOIP Market Outcome State Region ANI ]</log>
<return namelist="IVR_Source Has_DTV CallID SubMarket DNIS Has_IPDSL Mdn ContextID CustType Has_HSIA Has_Wireless Has_IPTV Has_DirectTV_legacy
SubdialogErrorDescription Has_CVOIP Market Outcome State Region ANI " />
</block>
<catch event="connection.disconnect.hangup">
<log>Caught hangup event while returning from subdialog</log>
<var name="Outcome" expr="'HANGUP'"/>
***<return namelist="IVR_Source Has_DTV CallID SubMarket DNIS Has_IPDSL Mdn ContextID CustType Has_HSIA Has_Wireless Has_IPTV Has_DirectTV_legacy
SubdialogErrorDescription Has_CVOIP Market Outcome State Region ANI "*** />
</catch>
слышите, мы получили обратный параметр. Но когда мы получаем error.recognition, следующий поддиалог не возвращает никаких возвращаемых параметров. Я не могу понять, почему происходит такое поведение.