Difference of undefined marktime value between OCMP 4.0.2 and 4.4.1

  • KM00954876
  • 26-May-2014
  • 22-Sep-2014

Summary

There is difference on the implementation of undefined marktime between OCMP 4.0.2 and OCMP 4.4.1. In OCMP 4.0.2, the undefined mark time is defined as "-1", while in OCMP 4.4.1, it is defined as "undefined".

Question

VXML - Voice eXtensible Markup Language
SSML - Speech Synthesis Markup Language
OCMP - OpenCall Media Platform

OCMP supports <mark> element.
In VXML 2.1 recommendation, <mark> element places a marker into the tag/text sequence.
It is used to detect barge-in during prompt playback.

One of the properties in <mark> element is marktime.
Marktime is the number of milliseconds that elapsed since the last mark was executed by the SSML processor until barge-in occured or the end of audio playback occured. If no mark was executed, this variable is undefined.

There could be a problem of "error.semantic" get thrown when using marktime in OCMP 4.4.1 while with same application it might running fine or problem is not noticeable in OCMP 4.0.2.

 

Answer

There is difference on the implementation of undefined marktime between OCMP 4.0.2 and OCMP 4.4.1.
In OCMP 4.0.2, the undefined mark time is defined as "-1", while in OCMP 4.4.1, it is defined as "undefined".

E.g. with snippet code:
<assign name="offset" expr="fld_exit$.marktime + offset"/>

If "marktime" is not yet defined, the following behavior is occured:
- OCMP 4.0.2, "offset" is equal to previous offset value + "-1", hence the application will still running
- OCMP 4.4.1, "offset" is equal to previous offset value + "undefined", then "error.semantic" will be thrown.

OCMP 4.4.1 more complies with VXML 2.1 recommendation.
This implementation change is applicable since OCMP 4.2.0 version.