I've been running some tests with the latest MMS 3.X git trunk release and have had some odd behavior. Incidentally, this is also occurring in MMS 2.X
I'm running 10 concurrent calls. The issue boils down to this:
An RQNT command was sent to an endpoint with multiple prompts to play. The endpoint played the initial prompt then played 3 more prompts that were not part of the RQNT followed by an exception. The exception seems to imply the Options object incorrectly parsed
the RQNT command, but because it played prompts not even part of the RQNT command, it seems like the options parsed a different endpoints RQNT … or the options object was sharing a buffer !?!?
Here are some snippets of the logs:
INITIAL RQNT REQUEST:
2013-02-06 21:15:04,370 DEBUG [MgcpProvider] (Thread-26) :__: Parsing message: RQNT 847956813
mobicents/asr/3...@172.30.0.80:2427 MGCP 1.0
N:172.3...@172.30.0.80:2727
X:385
S:AU/pa(an=
file:///opt/voicelog/promptroot//abc-east/Hammer_eng/1004/0.wav;file:///opt/voicelog/promptroot//generic/Hammer_eng/3/3.wav;file:///opt/voicelog/promptroot//generic/Hammer_eng/2/3.wav;file:///opt/voicelog/promptroot//generic/Hammer_eng/1/3.wav;file:///opt/voicelog/promptroot/defaultPrompts/english_di/97/0.wav;file:///opt/voicelog/promptroot//generic/Hammer_eng/9/3.wav;file:///opt/voicelog/promptroot//generic/Hammer_eng/9/3.wav;file:///opt/voicelog/promptroot//generic/Hammer_eng/0/3.wav;file:///opt/voicelog/promptroot/defaultPrompts/english_di/97/0.wav;file:///opt/voicelog/promptroot//generic/Hammer_eng/0/3.wav;file:///opt/voicelog/promptroot//generic/Hammer_eng/3/3.wav;file:///opt/voicelog/promptroot//generic/Hammer_eng/0/3.wav;file:///opt/voicelog/promptroot//generic/Hammer_eng/2/3.wav)
R:AU/oc (N),AU/of (N)
_::_
…
And here is the next file to play. Looks like some kind of memory corruption (
file:///opt/voicelog/promptroot//generic/Hammer_eng/1/3.wav;file:/). I say corruption because I've
also seen exceptions for file names like:
Unknown extension: wav
N:172.3...@172.30.0.80:27
2013-02-06 21:15:11,089 INFO [AudioPlayerImpl] (Thread-28) :__: (mobicents/asr/3) End of file reached_::_
2013-02-06 21:15:11,089 INFO [Play] (Thread-28) :__: (mobicents/asr/3) Announcement (segment=3) has completed_::_
2013-02-06 21:15:11,089 INFO [Play] (Thread-28) :__: (mobicents/asr/3) Start announcement (segment=4)_::_
2013-02-06 21:15:11,089 INFO [AudioPlayerImpl] (Thread-28) :__: (mobicents/asr/3) unknown extension:file:///opt/voicelog/promptroot//generic/Hammer_eng/1/3.wav;file:/_::_
1,090 ERROR [AudioPlayerImpl] (Thread-28) :__: (mobicents/asr/3) error occured_::_
org.mobicents.media.server.spi.ResourceUnavailableException: Unknown extension:
file:///opt/voicelog/promptroot//generic/Hammer_eng/1/3.wav;file:/
at org.mobicents.media.server.impl.resource.mediaplayer.audio.AudioPlayerImpl.setURL(AudioPlayerImpl.java:165)
at org.mobicents.media.server.mgcp.pkg.au.Play.startAnnouncementPhase(Play.java:112)
at org.mobicents.media.server.mgcp.pkg.au.Play.next(Play.java:194)
at org.mobicents.media.server.mgcp.pkg.au.Play.process(Play.java:209)
at org.mobicents.media.server.mgcp.pkg.au.Play.process(Play.java:48)
at org.mobicents.media.server.spi.listener.Listeners.dispatch(Listeners.java:117)
at org.mobicents.media.server.impl.resource.mediaplayer.audio.AudioPlayerImpl.completed(AudioPlayerImpl.java:210)
at org.mobicents.media.server.impl.AbstractSource$Worker.perform(AbstractSource.java:441)
at org.mobicents.media.server.scheduler.Task.run(Task.java:117)
at org.mobicents.media.server.scheduler.Scheduler$WorkerThread.run(Scheduler.java:408)
2013-02-06 21:15:11,090 INFO [Play] (Thread-28) :__: Received URL can not be found , firing of_::_
2013-02-06 21:15:11,091 INFO [MGCP] (Thread-28) :__: tx=151 Started, message= NTFY
mobicents/asr/3...@172.30.0.80:2427, call agent =
tpvmedia3.bic-bill.com/172.30.0.80:2727_::_