I'm using Asterisk with UniMRCP. Trying to run a test of a speech recognition for a call to a Windows Nuance Speech Server (which has Nuance Recognizer 10 installed).
My mrcp.conf contains the following...
[general]
default-asr-profile = speech-nuance5-mrcp2
log-level = DEBUG
max-connection-count = 4
offer-new-connection = 1
[speech-nuance5-mrcp2]
; MRCP version.
version = 2
server-ip = NSS IP
server-port = 5060
force-destination = 1
rtp-port-min = 4000
rtp-port-max = 5000
playout-delay = 50
max-playout-delay = 200
ptime = 20
codecs = PCMU PCMA L16/96/8000 telephone-event/101/8000
rtcp = 1
rtcp-bye = 2
rtcp-tx-interval = 5000
rtcp-rx-resolution = 1000
The Asterisk dialplan line is
exten => s,3,MRCPRecog(builtin:grammar/number,p=default&t=5000&b=1&ct=0.7&spl=en-US&f=hello-world)
I see the following in the Asterisk log file
[05/10 07:39:28.702] VERBOSE[1097][C-00000002] pbx.c: Executing [s@mrcprecog-app3:3] MRCPRecog("PJSIP/1005-00000002", "builtin:grammar/number,p=default&t=5000&b=1&ct=0.7&spl=en-US&f=hello-world") in new sta\
ck
[05/10 07:39:28.703] NOTICE[1097][C-00000002] app_mrcprecog.c: MRCPRecog() grammar: builtin:grammar/number
[05/10 07:39:28.703] NOTICE[1097][C-00000002] app_mrcprecog.c: MRCPRecog() options: p=default&t=5000&b=1&ct=0.7&spl=en-US&f=hello-world
[05/10 07:39:28.703] NOTICE[1097][C-00000002] src/mrcp_application.c: Create MRCP Handle 0x7f21bc043a18 [speech-nuance5-mrcp2]
[05/10 07:39:28.703] NOTICE[1097][C-00000002] src/mrcp_client_session.c: Create Channel ASR-2 <new>
[05/10 07:39:28.703] NOTICE[974] src/mrcp_client_session.c: Receive App Request ASR-2 <new> [2]
[05/10 07:39:28.703] NOTICE[974] src/mrcp_client.c: Add MRCP Handle ASR-2 <new>
[05/10 07:39:28.703] NOTICE[974] src/mrcp_client_session.c: Add Control Channel ASR-2 <new@speechrecog>
[05/10 07:39:28.708] NOTICE[974] src/mrcp_client_session.c: Send Offer ASR-2 <new> [c:1 a:1 v:0] to NSSIP:5060
[05/10 07:39:28.708] NOTICE[974] src/mrcp_sofiasip_client_agent.c: Local SDP ASR-2 <new>
v=0^M
o=Asterisk 0 0 IN IP4 AsteriskIP^M
s=-^M
c=IN IP4 AsteriskIP^M
t=0 0^M
m=application 9 TCP/MRCPv2 1^M
a=setup:active^M
a=connection:new^M
a=resource:speechrecog^M
a=cmid:1^M
m=audio 4004 RTP/AVP 0 8 96 101^M
a=rtpmap:0 PCMU/8000^M
a=rtpmap:8 PCMA/8000^M
a=rtpmap:96 L16/8000^M
a=rtpmap:101 telephone-event/8000^M
a=fmtp:101 0-15^M
a=sendonly^M
a=ptime:20^M
a=mid:1^M
[05/10 07:39:28.709] NOTICE[978] src/mrcp_sofiasip_client_agent.c: Receive SIP Event [nua_i_state] Status 0 INVITE sent [speech-nuance5-mrcp2]
[05/10 07:39:28.709] NOTICE[978] src/mrcp_sofiasip_client_agent.c: SIP Call State ASR-2 [calling]
...
[05/10 07:40:00.710] NOTICE[978] src/mrcp_sofiasip_client_agent.c: Receive SIP Event [nua_r_invite] Status 408 Request Timeout [speech-nuance5-mrcp2]
[05/10 07:40:00.710] NOTICE[978] src/mrcp_sofiasip_client_agent.c: Receive SIP Event [nua_i_state] Status 408 Request Timeout [speech-nuance5-mrcp2]
[05/10 07:40:00.710] NOTICE[978] src/mrcp_sofiasip_client_agent.c: SIP Call State ASR-2 [terminated]
[05/10 07:40:00.710] NOTICE[974] src/mrcp_client_session.c: Receive Answer ASR-2 <new> [c:0 a:0 v:0] Status 408
[05/10 07:40:00.710] NOTICE[974] src/mrcp_client_session.c: Raise App Response ASR-2 <new> [2] FAILURE [2]
[05/10 07:40:00.710] ERROR[974] app_mrcprecog.c: (ASR-2) Channel error status=2, response code=408!
[05/10 07:40:00.710] NOTICE[974] src/mrcp_client_session.c: Receive App Request ASR-2 <new> [1]
[05/10 07:40:00.710] NOTICE[974] src/mrcp_client_session.c: Terminate Session ASR-2 <new>
[05/10 07:40:00.710] NOTICE[974] src/mrcp_client_session.c: Session Terminated ASR-2 <new>
[05/10 07:40:00.719] NOTICE[974] src/mrcp_client.c: Remove MRCP Handle ASR-2 <new>
[05/10 07:40:00.719] NOTICE[974] src/mrcp_client_session.c: Raise App Response ASR-2 <new> [1] SUCCESS [0]
[05/10 07:40:00.719] NOTICE[974] src/mrcp_application.c: Destroy MRCP Handle ASR-2
[05/10 07:40:00.719] NOTICE[1097][C-00000002] app_mrcprecog.c: MRCPRecog() exiting status: ERROR on PJSIP/1005-00000002
1) Does my mrcp.conf file look correct for NSS?
2) How do I diagnose if the problem is on the Windows Nuance Speech Server side or Asterisk/UniMRCP side?
3) Is there something I am missing?
Thank you in advance for any guidance you can provide!
Dan