cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
187
Views
0
Helpful
0
Replies
Highlighted

UniMRCP and DialogFlow

Greetings,

 

Have been doing some testing with cloud NLP/NLU providers. Currently, I'm working with UniMRCP and DialogFlow.

 

First, even I attempt to do MRCP v2 to UniMRCP SDP never seems to be established and just loops there or CCX finally says there is no TTS server available. 

 

When I use MRCP v1 and any result is sent back in the MRCP messages to UCCX it seems to not like that on bit. I've toyed with the UMSGF results parameter. It makes an impact but it just doesn't like any of them.

 

If I use the default results configuration it seems to work fine. That is until I add an event grammar to trigger the Welcome intent. Looks like in the results there is an <input> element just outside of the <instance> element that CCX seems to complain about.

 

844293: Jul 07 10:12:37.618 EDT %MIVR-SS_MRCP_ASR-7-UNK: [RMI TCP Connection(2732)-192.168.86.200] com.cisco.wf.mrcp.asr.channel.impl.MRCPSpeechChannelImpl MRCPSpeechChannel(Channel id:1, Contact id:4, Task id:38000000005): processRecResults(): NLSLM Result is: <?xml version="1.0"?>
<result>
<interpretation grammar="session:field3@field.grammar" confidence="100">
<instance>
<query_text>welcome</query_text>
<action>input.welcome</action>
<parameters>
</parameters>
<all_required_params_present>true</all_required_params_present>
<fulfillment_text>Hello! How can I help you?</fulfillment_text>
<fulfillment_messages>
<text>
<text>Hello! How can I help you?</text>
</text>
</fulfillment_messages>
<intent>
<name>projects/badgerlinkassistant-a918f/agent/intents/d3c1994b-ff27-468c-a291-497893f569f9</name>
<display_name>Default Welcome Intent</display_name>
</intent>
<intent_detection_confidence>1</intent_detection_confidence>
<language_code>en</language_code>
<output_audio_uri>http://localhost/utterances/umsgdf-471a9de98bc3436e-1106.wav </output_audio_uri>
</instance>
<input mode="event">welcome</input>
</interpretation>
</result>
844294: Jul 07 10:12:37.618 EDT %MIVR-SS_MRCP_ASR-7-UNK: [RMI TCP Connection(2732)-192.168.86.200] com.cisco.wf.mrcp.asr.channel.impl.MRCPSpeechChannelImpl MRCPSpeechChannel(Channel id:1, Contact id:4, Task id:38000000005): processRecResults(): status code: MRCP Status Code: 200, Description: Success
844295: Jul 07 10:12:37.619 EDT %MIVR-SS_MRCP_ASR-7-UNK: [RMI TCP Connection(2732)-192.168.86.200] com.cisco.wf.mrcp.asr.channel.impl.MRCPMediaManagerImpl MRCPMediaManagerImpl: appId=1, confId=2, parId=4, channelId=1, channelImplId=1, contactId=4, contactImplId=10005/1 -> Closing TX Stream Manager
844296: Jul 07 10:12:37.620 EDT %MIVR-SS_MRCP_ASR-7-UNK: [RMI TCP Connection(2732)-192.168.86.200] com.cisco.wf.mrcp.asr.channel.impl.MRCPSpeechChannelImpl MRCPSpeechChannel(Channel id:1, Contact id:4, Task id:38000000005): Exiting playAndRecognize()
844297: Jul 07 10:12:37.620 EDT %MIVR-SS_VB-7-UNK: [RMI TCP Connection(2732)-192.168.86.200] com.cisco.wfapi.impl.WFTracingLogImpl Task:38000000005 VBProperties.get(): key=inputmodes, level=4
844298: Jul 07 10:12:37.620 EDT %MIVR-SS_VB-7-UNK: [RMI TCP Connection(2732)-192.168.86.200] com.cisco.wfapi.impl.WFTracingLogImpl Task:38000000005 VBProperties.get(): key=inputmodes, value=dtmf voice
844299: Jul 07 10:12:37.622 EDT %MIVR-SS_VB-7-UNK: [RMI TCP Connection(2732)-192.168.86.200] com.cisco.wfapi.impl.WFTracingLogImpl Task:38000000005 playAndRecognize done.
844300: Jul 07 10:12:37.622 EDT %MIVR-SS_VB-7-UNK: [RMI TCP Connection(2732)-192.168.86.200] com.cisco.wfapi.impl.WFTracingLogImpl Task:38000000005 VBEventHandler::handleEvent event =: Exception=com.cisco.voicebrowser.VBEvent: error.unsupported.format: Invalid input mode; nested exception is:
org.xml.sax.SAXParseException; lineNumber: 24; columnNumber: 41; Unrecognized mode attribute: event

 

When I change to JSON here is what I get: 

829163: Jul 07 09:13:03.840 EDT %MIVR-SS_MRCP_ASR-7-UNK: [MIVR_SS_MRCP_ASR_MRCPListener-46-0-MrcpClient spwaned by callbackHandler id = 1] com.cisco.util.MRCPClientLog MessageHandler.parseResponse(): started response:
ANNOUNCE rtsp://192.168.86.159:1554/recognizer RTSP/1.0
CSeq: 4
Session: 34603a9fd6824cbf
Content-Type: application/mrcp
Content-Length: 541

RECOGNITION-COMPLETE 102 COMPLETE MRCP/1.0
Completion-Cause: 000 success
Content-Type: application/json
Content-Length: 411

{"queryText":"welcome","action":"input.welcome","parameters":{},"allRequiredParamsPresent":true,"fulfillmentText":"Hello! How can I help you?","fulfillmentMessages":[{"text":{"text":["Hello! How can I help you?"]}}],"intent":{"name":"projects/badgerlinkassistant-a918f/agent/intents/d3c1994b-ff27-468c-a291-497893f569f9","displayName":"Default Welcome Intent"},"intentDetectionConfidence":1,"languageCode":"en"}
829164: Jul 07 09:13:03.840 EDT %MIVR-SS_MRCP_ASR-7-UNK: [MIVR_SS_MRCP_ASR_MRCPListener-46-0-MrcpClient spwaned by callbackHandler id = 1] com.cisco.util.MRCPClientLog MRCPClient SdpContentParserImpl header:ANNOUNCE rtsp://192.168.86.159:1554/recognizer RTSP/1.0
CSeq: 4
Session: 34603a9fd6824cbf
Content-Type: application/mrcp
Content-Length: 541

 

I'm assuming that CCX is the culprit...?

 

My thought here is that for CCX - MRCP v2 would be better for this given the additional information passed back and forth. But alas...cannot seem to get it to work.

 

When doing MRCP v2 it seems like CCX is the one failing here. 

 

184741: Jul 07 11:15:01.038 EDT %MIVR-JASMIN-3-LTP_STACK_ERROR: [DIALOG_CALLBACK.4] com.cisco.wf.subsystems.mrcp.asr.JasminLogServiceImpl LTP_STACK_ERROR: Param_0=SIP-ltp4233-voiceBrowser, State=CONTACTING: ,Param_1=com.dynamicsoft.DsLibs.DsSipDialog.DsSipDialogException: error sending ack 
184742: Jul 07 11:15:01.038 EDT %MIVR-JASMIN-3-EXCEPTION:com.dynamicsoft.DsLibs.DsUtil.DsStateMachineException: State Table:Client INVITE 2XX UAC Extra, Current State: DS_XCOMPLETED, Input: DS_CT_IN_OTHER_EXCEPTION
184743: Jul 07 11:15:01.038 EDT %MIVR-JASMIN-3-EXCEPTION: at com.dynamicsoft.DsLibs.DsSipLlApi.DsSipStateTable.throwException(DsSipStateTable.java:481)
184744: Jul 07 11:15:01.039 EDT %MIVR-JASMIN-3-EXCEPTION: at com.dynamicsoft.DsLibs.DsSipLlApi.DsSipStateTable.throwException(DsSipStateTable.java:432)
184745: Jul 07 11:15:01.039 EDT %MIVR-JASMIN-3-EXCEPTION: at com.dynamicsoft.DsLibs.DsSipLlApi.DsSipClientTransactionIImpl.xcompleted(DsSipClientTransactionIImpl.java:915)
184746: Jul 07 11:15:01.039 EDT %MIVR-JASMIN-3-EXCEPTION: at com.dynamicsoft.DsLibs.DsSipLlApi.DsSipClientTransactionIImpl.execute(DsSipClientTransactionIImpl.java:181)
184747: Jul 07 11:15:01.039 EDT %MIVR-JASMIN-3-EXCEPTION: at com.dynamicsoft.DsLibs.DsSipLlApi.DsSipClientTransactionIImpl.execute(DsSipClientTransactionIImpl.java:233)
184748: Jul 07 11:15:01.039 EDT %MIVR-JASMIN-3-EXCEPTION: at com.dynamicsoft.DsLibs.DsSipLlApi.DsSipClientTransactionIImpl.ack(DsSipClientTransactionIImpl.java:273)
184749: Jul 07 11:15:01.039 EDT %MIVR-JASMIN-3-EXCEPTION: at com.dynamicsoft.DsLibs.DsSipDialog.DsSipInviteDialog.sendAck_(DsSipInviteDialog.java:2596)
184750: Jul 07 11:15:01.039 EDT %MIVR-JASMIN-3-EXCEPTION: at com.dynamicsoft.DsLibs.DsSipDialog.DsSipInviteDialog.sendAck(DsSipInviteDialog.java:860)
184751: Jul 07 11:15:01.039 EDT %MIVR-JASMIN-3-EXCEPTION: at com.cisco.jasmin.impl.ds.ltp.ContactingState.setConnected(ContactingState.java:756)
184752: Jul 07 11:15:01.039 EDT %MIVR-JASMIN-3-EXCEPTION: at com.cisco.jasmin.impl.ds.ltp.ContactingState.processAccepted(ContactingState.java:595)
184753: Jul 07 11:15:01.039 EDT %MIVR-JASMIN-3-EXCEPTION: at com.cisco.jasmin.impl.ds.ltp.LocalTerminationPointImpl.processAccepted(LocalTerminationPointImpl.java:647)
184754: Jul 07 11:15:01.039 EDT %MIVR-JASMIN-3-EXCEPTION: at com.cisco.jasmin.impl.ds.ltp.InvitationCallback.accepted(InvitationCallback.java:99)
184755: Jul 07 11:15:01.039 EDT %MIVR-JASMIN-3-EXCEPTION: at com.dynamicsoft.DsLibs.DsSipDialog.DsSipInvitation$Callback.process(DsSipInvitation.java:1985)
184756: Jul 07 11:15:01.039 EDT %MIVR-JASMIN-3-EXCEPTION: at com.dynamicsoft.DsLibs.DsUtil.DsQProcessor.run(DsQProcessor.java:49)
184757: Jul 07 11:15:01.039 EDT %MIVR-SS_MRCP_ASR-7-UNK: [DIALOG_CALLBACK.4] com.cisco.util.MRCPClientLog MrcpV2CallListener: onCallConnectionFailed(). Enter
184758: Jul 07 11:15:01.039 EDT %MIVR-SS_MRCP_ASR-7-UNK: [DIALOG_CALLBACK.4] com.cisco.util.MRCPClientLog MrcpV2CallListener: onCallConnectionFailed(). Call rejected:306
184759: Jul 07 11:15:01.039 EDT %MIVR-SS_MRCP_ASR-7-UNK: [DIALOG_CALLBACK.4] com.cisco.util.MRCPClientLog MRCPV2ClientImpl.processSetupFailed: callbackHandler id = 1 : Setup failure received; cause = 5; reason = Rejected
184760: Jul 07 11:15:01.039 EDT %MIVR-SS_MRCP_ASR-7-UNK: [DIALOG_CALLBACK.4] com.cisco.util.MRCPClientLog MrcpV2CallListener: onCallConnectionFailed(). Exit

 

Thoughts?