About answering machine detection
Posted: Thu Nov 01, 2018 12:33 pm
Hello Team,
By utilizing the post found before viewtopic.php?f=2&t=470297&p=545205&hil ... ee#p545205
we did modification for our vxml as attached below.
The problem is the the when we speak "hello" after pick up phone, some time it detected as correctly, some time it detected as answeringmachine, some time as fax.
Any suggestion to help us to improve the accuracy will be appreciated.
<?xml version="1.0"?>
<vxml version="2.0">
<property name="recordcall" value="true" />
<form id="mainmenu">
<record name="voicemachine" finalsilence="3s" maxtime="30s">
<property name="inputmodes" value="dtmf" />
<property name="interdigittimeout" value="10ms" />
<prompt bargein="false">
<break time="1s" />
</prompt>
<prompt>
<audio src="/PlumDEVApp/wav/start.wav">
Hello! Please press any key to continue
</audio>
</prompt>
<filled>
<if cond="voicemachine$.termchar ==null">
<throw event="noinput" />
</if>
<log label="mylog">My log says <value expr="voicemachine$.termchar" /></log>
<submit next="/PlumDEVApp/api/etc...." method="post" namelist="param1, param2......" fetchtimeout="60s" />
</filled>
<noinput count="1">
<log label="mylog">detect in noinput as <value expr="session.connection.callee_type" /></log>
<if cond="session.connection.callee_type == 'voice'">
<submit next="/PlumDEVApp/api/etc...." method="post" namelist="param1, param2......" fetchtimeout="60s" />
<else />
<assign name="Outcome" expr="2473" />
<goto nextitem="leftMessage" />
</if>
</noinput>
<nomatch count="1">
<log label="mylog">detect in nomatch as <value expr="session.connection.callee_type" /></log>
<if cond="session.connection.callee_type == 'voice'">
<submit next="/PlumDEVApp/api/etc...." method="post" namelist="param1, param2......" fetchtimeout="60s" />
<else />
<assign name="Outcome" expr="2473" />
<goto nextitem="leftMessage" />
</if>
</nomatch>
</record>
<record name="leftMessage" finalsilence="1s" maxtime="5s">
<property name="interdigittimeout" value="10ms" />
<prompt bargein="false">
<break time="1s" />
</prompt>
<prompt>
<audio src="/PlumDEVApp/wav/voicemessage_1.wav">
Hello! Please call us at
</audio>
<audio expr="BranchWav">
<value expr="BranchTTS" />
</audio>
<audio src="/PlumDEVApp/wav/voicemessage_2.wav">
to order your supplies. The number again is
</audio>
<audio expr="BranchWav">
<value expr="BranchTTS" />
</audio>
<audio src="/PlumDEVApp/wav/voicemessage_3.wav">
Thank you for us, and have a great day!
</audio>
</prompt>
<filled>
<if cond="leftMessage$.termchar != null">
<submit next="/PlumDEVApp/api/etc...." method="post" namelist="param1, param2......" fetchtimeout="60s" />
</if>
<throw event="noinput" />
</filled>
<noinput count="1">
<log label="mylog">During leaving message, detect as <value expr="session.connection.callee_type" /></log>
<if cond="session.connection.callee_type == 'voice'">
<submit next="/PlumDEVApp/api/etc...." method="post" namelist="param1, param2......" fetchtimeout="60s" />
<else />
<assign name="Outcome" expr="2473" />
<throw event="farend" />
</if>
</noinput>
<nomatch count="1">
<log label="mylog">During leaving message, detect in nomatch as <value expr="session.connection.callee_type" /></log>
<if cond="session.connection.callee_type == 'voice'">
<submit next="/PlumDEVApp/api/etc...." method="post" namelist="param1, param2......" fetchtimeout="60s" />
<else />
<throw event="farend" />
</if>
</nomatch>
</record>
<catch event="connection.disconnect.hangup farend">
<submit next="/PlumDEVApp/api/etc...." method="post" namelist="param1, param2......" fetchtimeout="60s" />
</catch>
</form>
</vxml>
By utilizing the post found before viewtopic.php?f=2&t=470297&p=545205&hil ... ee#p545205
we did modification for our vxml as attached below.
The problem is the the when we speak "hello" after pick up phone, some time it detected as correctly, some time it detected as answeringmachine, some time as fax.
Any suggestion to help us to improve the accuracy will be appreciated.
<?xml version="1.0"?>
<vxml version="2.0">
<property name="recordcall" value="true" />
<form id="mainmenu">
<record name="voicemachine" finalsilence="3s" maxtime="30s">
<property name="inputmodes" value="dtmf" />
<property name="interdigittimeout" value="10ms" />
<prompt bargein="false">
<break time="1s" />
</prompt>
<prompt>
<audio src="/PlumDEVApp/wav/start.wav">
Hello! Please press any key to continue
</audio>
</prompt>
<filled>
<if cond="voicemachine$.termchar ==null">
<throw event="noinput" />
</if>
<log label="mylog">My log says <value expr="voicemachine$.termchar" /></log>
<submit next="/PlumDEVApp/api/etc...." method="post" namelist="param1, param2......" fetchtimeout="60s" />
</filled>
<noinput count="1">
<log label="mylog">detect in noinput as <value expr="session.connection.callee_type" /></log>
<if cond="session.connection.callee_type == 'voice'">
<submit next="/PlumDEVApp/api/etc...." method="post" namelist="param1, param2......" fetchtimeout="60s" />
<else />
<assign name="Outcome" expr="2473" />
<goto nextitem="leftMessage" />
</if>
</noinput>
<nomatch count="1">
<log label="mylog">detect in nomatch as <value expr="session.connection.callee_type" /></log>
<if cond="session.connection.callee_type == 'voice'">
<submit next="/PlumDEVApp/api/etc...." method="post" namelist="param1, param2......" fetchtimeout="60s" />
<else />
<assign name="Outcome" expr="2473" />
<goto nextitem="leftMessage" />
</if>
</nomatch>
</record>
<record name="leftMessage" finalsilence="1s" maxtime="5s">
<property name="interdigittimeout" value="10ms" />
<prompt bargein="false">
<break time="1s" />
</prompt>
<prompt>
<audio src="/PlumDEVApp/wav/voicemessage_1.wav">
Hello! Please call us at
</audio>
<audio expr="BranchWav">
<value expr="BranchTTS" />
</audio>
<audio src="/PlumDEVApp/wav/voicemessage_2.wav">
to order your supplies. The number again is
</audio>
<audio expr="BranchWav">
<value expr="BranchTTS" />
</audio>
<audio src="/PlumDEVApp/wav/voicemessage_3.wav">
Thank you for us, and have a great day!
</audio>
</prompt>
<filled>
<if cond="leftMessage$.termchar != null">
<submit next="/PlumDEVApp/api/etc...." method="post" namelist="param1, param2......" fetchtimeout="60s" />
</if>
<throw event="noinput" />
</filled>
<noinput count="1">
<log label="mylog">During leaving message, detect as <value expr="session.connection.callee_type" /></log>
<if cond="session.connection.callee_type == 'voice'">
<submit next="/PlumDEVApp/api/etc...." method="post" namelist="param1, param2......" fetchtimeout="60s" />
<else />
<assign name="Outcome" expr="2473" />
<throw event="farend" />
</if>
</noinput>
<nomatch count="1">
<log label="mylog">During leaving message, detect in nomatch as <value expr="session.connection.callee_type" /></log>
<if cond="session.connection.callee_type == 'voice'">
<submit next="/PlumDEVApp/api/etc...." method="post" namelist="param1, param2......" fetchtimeout="60s" />
<else />
<throw event="farend" />
</if>
</nomatch>
</record>
<catch event="connection.disconnect.hangup farend">
<submit next="/PlumDEVApp/api/etc...." method="post" namelist="param1, param2......" fetchtimeout="60s" />
</catch>
</form>
</vxml>