クイックスタート|TropoスクリプティングAPI

通話の転送

   

アプリケーションの中には、callerIDを用いて動的に通話相手を変更したり、ブラインド転送を行うものがあると思います。 そういった処理もTropoでは柔軟に少ないコードで行うことができます。

以下のサンプルは最も簡単な転送スクリプトです。

 
say("転送中です、お待ちください。");
transfer("09012345***");
say "転送中です、お待ちください。"
transfer "09012345***"
<?php
say("転送中です、お待ちください。");
transfer("09012345***");
?>
say("転送中です、お待ちください。")
transfer("09012345***")
say("転送中です、お待ちください。")
transfer("09012345***")
 

上記より少し高度なサンプルとして、以下の例では配列として複数の行き先を(最初に出た人にかかります)指定しています。 また、保留音と、転送をキャンセルするボタン、タイムアウトが発生した場合のイベントハンドラを指定しました。これも少しコードを追加するだけです。

 
say("転送中です、お待ちください。キャンセルする場合はシャープキーを押してください。");
transfer(["09012345***","sip:12345678912@221.122.54.86"], {
    playvalue: "http://www.phono.com/audio/holdmusic.mp3",
    terminator: "#",
    onTimeout: function(event) {
        say("すみません、応答がありませんでした。");
    }
});
say "転送中です、お待ちください。キャンセルする場合はシャープキーを押してください。"
transfer ["09012345***","sip:12345678912@221.122.54.86"], {
    :playvalue => "http://www.phono.com/audio/holdmusic.mp3",
    :terminator => "#",
    :onTimeout => lambda { |event|
        say "すみません、応答がありませんでした。"}
<?php
say("転送中です、お待ちください。キャンセルする場合はシャープキーを押してください。");
transfer(array("09012345***","sip:12345678912@221.122.54.86"), array(
    "playvalue" => "http://www.phono.com/audio/holdmusic.mp3",
    "terminator" => "#",
    "onTimeout" => "timeoutFCN"
    )
);
function timeoutFCN($event) {
    say("すみません、応答がありませんでした。");
    }
?>
say("転送中です、お待ちください。キャンセルする場合はシャープキーを押してください。")
transfer(["09012345***","sip:12345678912@221.122.54.86"], {
    "playvalue":"http://www.phono.com/audio/holdmusic.mp3", 
    "terminator": "#",
    "onTimeout": lambda event : say("すみません、応答がありませんでした。")})
say("転送中です、お待ちください。キャンセルする場合はシャープキーを押してください。")
transfer(["09012345***","sip:12345678912@221.122.54.86"], [
    playvalue: "http://www.phono.com/audio/holdmusic.mp3",
    terminator: "#",
    onTimeout: { event->
        say "すみません、応答がありませんでした。" }
])
 

以下はcallerIDに基づくブラインド転送です。

 
var callerID = currentCall.callerID;
if (callerID == "0909876XXXX") {
    transfer("031224XXXX");
    }
else {
    say("こんにちは。");
    }
callerID = $currentCall.callerID
if (callerID == "0909876XXXX")
    transfer "031224XXXX"
else
    say "こんにちは。"
end
<?php
 $callerID = $currentCall->callerID;
if ($callerID == "0909876XXXX") {
    transfer("031224XXXX");
 } else {
    say("こんにちは。");
 }
?>
callerID = currentCall.callerID
if (callerID == "0909876XXXX") :
    transfer("031224XXXX")
else :
    say("こんにちは。")
callerID = currentCall.callerID
if (callerID == "0909876XXXX") {
    transfer("031224XXXX")
    }
else {
    say("こんにちは。")
    }
 

次の項目で、転送を使用した基本的な選択メニューの作成について説明します。