I've dug a bit more.
If I have a dialplan function:
same => n,MRCPRecog("builtin:speech/grammarONE,builtin:speech/grammarTWO",options)
It works fine, I see the two grammars on separate line in the body of the RECOGNIZE command
If I send via AMI, it does not work:
EXEC MRCPRecog "builtin:speech/grammarONE,builtin:speech/grammarTWO",fr-FR&f=beep&p=uni2&t=10000&sit=false&sct=1000
-- AGI Script Executing Application: (MRCPRecog) Options: (builtin:speech/grammarONE,builtin:speech/grammarTWO,fr-FR&f=beep&p=uni2&t=10000&sit=false&sct=1000)
app_mrcprecog.c:1092 app_recog_exec: MRCPRecog() grammar: builtin:speech/grammarONE
app_mrcprecog.c:1107 app_recog_exec: MRCPRecog() options: builtin:speech/grammarTWO,fr-FR&f=beep&p=uni2&t=10000&sit=false&sct=1000
The quotes are discarded, and the second grammar is treated as an option
How can I avoid that ?