2015-02-08 63 views
2

我試圖用VoiceXML(Nexmo)記錄整個電話。VoiceXML記錄整個通話,包括菜單選項

我可以做一個錄音或給菜單提示並單獨轉發一個電話,但我無法弄清楚如何在一起做這兩件事。我想記錄從開始到結束的通話,包括轉接的通話部分。

我會想象VoiceXML看起來像這樣,但這不是有效的VoiceXML。

<?xml version="1.0" encoding="UTF-8"?> 
<vxml version = "2.1" > 
<var name="callerid" expr="123" /> 
<form> 

    <record name="recording" beep="true" dtmfterm="true" maxtime="100s"> 
     <menu dtmf="true"> 
      <property name="inputmodes" value="dtmf"/> 
      <audio src="server/forwardingnow.mp3"/> 
      <choice dtmf="10" next="#sales"/> 
      <choice dtmf="30" next="#support"/> 
     </menu> 
     <form id="sales">    
      <transfer name="MyCall" dest="tel:123123123" bridge="true" connecttimeout="20s"/> 
     </form> 
     <form id="support"> 
      <transfer name="MyCall" dest="tel:123123123" bridge="true" connecttimeout="20s"/> 
     </form> 

     <catch event="connection.disconnect.hangup"> 
      <submit next="server/voice/savecall" method="post" namelist="recording callerid" enctype="multipart/form-data"/> 
     </catch> 

    </record> 

</form> 

回答

3

這是不可能做到這一點使用標準的VoiceXML,你要麼必須使用供應商擴展或把你的電話會議中有記錄的應用程序(一個單一的文件與一個單一的整個呼叫)。

1

我們在10年前爲我們公司添加了GeneSys。 (誰知道,也許其他供應商從此開始以這種方式支持它;嘗試它......)在您的vxml中,一旦輸入,就將此供應商特定的日誌行添加到按順序輸入的第一個表單的第一個塊中打開整個通話錄音(注:他們每一個都必須對自己的行爲它在GENESYS工作,所以不要格式化這4條線):

 <log gvp:dest="calllog"> 
 
     directory /myDirectoryName absolute 
 
     enable callrec type=audio/wav recsrc=mixed; 
 
     </log>

所有通話記錄會呼叫斷開時自動結束;

 <log gvp:dest="calllog"> 
 
      disable callrec; 
 
     </log>

:或者你可以通過執行該日誌行結束它,當你想