Hi,
I am using FreeSwitch with the GSR plugin, together with the mod_event_socket interface. I wanted to test what would happen if we attempted to start an MRCP session using a server where all the available licenses were currently in use. To do this I configured the plugin configuration file to use just one channel (channel-count="1" in /opt/unimrcp/conf/msgsr.xml). Then I made two calls to the server within a couple of seconds of each other so that one call would still be using the channel while the other call was attempting to use it.
So one call was able to obtain a channel, as I expected but the other call was not but I could not find a way to tell, via the event socket interface, that the attempt had failed. In the freeswitch log file which I attached it is possible to see at 2022-07-22 20:57:09.543806, that the session is terminated whereas earlier at 20:57:09.443803 (mod_unimrcp.c:1056) we see that the other call has been successful. The problem is that I don't know this when I'm listening to events on the Freeswitch event socket. I also noticed, after looking at the Freeswitch source code, that FreeSwitch does fire an event when the speech channel is succesfully opened but unfortunately the event contains no information about which FreeSwitch channel was used when the request for the speech channel was made and all processes which listen on the event socket receive this event so I only know that an MRCP session was opened successfully but I don't know which Freeswitch channel has access to this.
If the Freeswitch event which was fired contains no information about the Freeswitch channel then I would expect that the attempt to invoke the "detect_speech" application would result in a different return value if it was not successful in opening an MRCP session and obtaining a channel. If I look at the return value which is returned by "detect_speech" I see no difference in the return value between the successful invocation and the unsuccessful one.
Is it possible to link the success or failure of an attempt to open a speech recognition channel on the UniMRCP server with a Freeswitch channel or is this information not avaiable?
Thanks,
Andrew Golledge