exten =>
s,n,SpeechLoadGrammar(grammar1,/etc/asterisk/grammar1)
exten => s,n,SpeechLoadGrammar(grammar2,/etc/asterisk/grammar2)
exten => s,n,SpeechActivateGrammar(grammar1)
exten => s,n,SpeechActivateGrammar(grammar2)
exten => s,n,SpeechBackground(beep)
If I look at the MRCP traffic, I see something like this:
MRCP/2.0 3630 DEFINE-GRAMMAR 2
Channel-Identifier: 05ed7ced-31b9-4cea-8@speechrecog
Content-Type: application/srgs+xml
Content-Id: grammar1
Content-Length: 3467
grammar
And my MRCP server returns a 200 OK, and then I get the second DEFINE-GRAMMAR with the Content-Id set to grammar2. Perfect so far.
But then:
MRCP/2.0 192 RECOGNIZE 4
Channel-Identifier: 05ed7ced-31b9-4cea-8@speechrecog
Content-Type: text/uri-list
Cancel-If-Queue: false
Start-Input-Timers: true
Content-Length: 11
session:grammar2
And obviously I'm missing a reference to session:grammar1 in the RECOGNIZE. It seems to always send just the last grammar I loaded/activated. Is there anyway to have multiple grammars active as part of the same RECOGNIZE request with UniMRCP-Asterisk?