未回答のコールとコールの失敗|TropoスクリプティングAPI

   

アウトバウンドコールが失敗したり、タイムアウトすることがあります。 コールが鳴っても回答がないときや、コールが全く鳴らないときがあるでしょう。 例えば、おかしな番号を書き込んでしまったり、呼び出し音が鳴っていても応答しないことがあります。

 

そんな時のために、Tropoにはエラー処理が内蔵されています。 onAnswerは、通話に応答した場合、アプリケーションが何をすべきかを定義します。 onTimeoutは、通話がタイムアウトした場合に、何をすべきか定義します。 そして、onCallFailureは、通話が完了できない場合に何をすべきかを定義します。

 

詳しくは、以下のサンプルをご覧ください。

  サンプル
call('09012345***', {
   timeout:120,
   onAnswer: function() {
       say("つかまえた!");
       log("complete");
   },
   onTimeout: function() {
       log("Call timed out");
   },
   onCallFailure: function() {
       log("Call could not be completed as dialed");
   }
});
call '09012345***', {
   :onAnswer => lambda {
       say "つかまえた!"
       log "complete"},
   :onTimeout => lambda {
       say "Call timed out" },
   :onCallFailure => lambda {
       log "Call could not be completed as dialed" }
}
<?php
call("09012345***", array(
   "timeout" => 120,
   "onAnswer" => "answerFCN",
   "onTimeout" => "timeoutFCN",
   "onCallFailure" => "callFailureFCN"
   )
);
function answerFCN($event) {
   say("つかまえた!");
   _log("complete");
}
function timeoutFCN($event) {
   _log("Call timed out");
}
function callFailureFCN($event) {
   _log("Call could not be completed as dialed");
}
?>
call("09012345***", {
   "timeout":120,
   "onAnswer": lambda event : say("つかまえた!") and log("complete"),
   "onTimeout":lambda event : log("Call timed out"),
   "onCallFailure": lambda event : log("Call could not be completed as dialed")
})
call('09012345***', [
   onAnswer: {
       say("つかまえた!")
       log("complete") },
   onTimeout: {
       log("Call timed out") },
   onCallFailure: {
       log("Call could not be completed as dialed") }
])
 

補足資料

いくつか他に利用できるハンドラがあります。askを確認して下さい。 詳細はAPIリファレンスの各メソッドのページをご確認ください。