サンプル:言語設定を切り替えるAGIスクリプト

    目次
    戻すには、あなたは現在の版とアーカイブから選んだ戻したい版を比較しなければなりません。

    対象としたリビジョンの比較

    Shunro によって 2012年 8月 3日, 16:15 に変更された版を Shunro によって 2012年 8月 3日, 16:18 に変更された の版と比較。
    trixbox Proから、「日付や時刻を音声で案内させる」処理をさせる場合、言語設定をjaにしておかないと語順が英語のまま再生されてしまうことがあります。下記のようなスクリプトを/var/lib/asterisk/agi-bin/ に保存し、Runscript(スクリプトを実行)コマンドで実行させると、正しい言語設定に切り替えることができます。また、メニューに応じて、多言語で対応するIVRを作成することもできるでしょう。
    #!/usr/bin/perl
    use strict;
    use Asterisk::AGI;
    
    $|=1;
    
    # Setup some variables
    my %AGI; my $tests = 0; my $fail = 0; my $pass = 0;
    my $astagi = new Asterisk::AGI;
    
    while(<stdin>) {
    	chomp;
    	last unless length($_);
    	if (/^agi_(\w+)\:\s+(.*)$/) {
    		$AGI{$1} = $2;
    	}
    }
    #$astagi->say_alpha($AGI{'callerid'});
    
    #while( (my $name, my $value) = each %AGI ){
    #    $astagi->verbose("$name, $AGI{$name}");
    #}
    
    #
    # Language Settings
    #
    $astagi->set_variable("CHANNEL(language)","ja");
    
    </stdin>
    

    2012年 8月 3日, 16:15からのバージョン

    Shunro(禁止)で変更されたリビジョン
    #!/usr/bin/perl
    use strict;
    use Asterisk::AGI;
    
    $|=1;
    
    # Setup some variables
    my %AGI; my $tests = 0; my $fail = 0; my $pass = 0;
    my $astagi = new Asterisk::AGI;
    
    while(<stdin>) {
    	chomp;
    	last unless length($_);
    	if (/^agi_(\w+)\:\s+(.*)$/) {
    		$AGI{$1} = $2;
    	}
    }
    #$astagi->say_alpha($AGI{'callerid'});
    
    #while( (my $name, my $value) = each %AGI ){
    #    $astagi->verbose("$name, $AGI{$name}");
    #}
    
    #
    # Language Settings
    #
    $astagi->set_variable("CHANNEL(language)","ja");
    
    </stdin>

    2012年 8月 3日, 16:18 現在の版

    Shunro(禁止)で変更されたリビジョン
    trixbox Proから、「日付や時刻を音声で案内させる」処理をさせる場合、言語設定をjaにしておかないと語順が英語のまま再生されてしまうことがあります。下記のようなスクリプトを/var/lib/asterisk/agi-bin/ に保存し、Runscript(スクリプトを実行)コマンドで実行させると、正しい言語設定に切り替えることができます。また、メニューに応じて、多言語で対応するIVRを作成することもできるでしょう。

    ...

    Powered by MindTouch Core