ディジウム純正のSkypeチャネル・ドライバをインストールする事によってAsteriskでSkype発着信が可能になります。
※2011年7月26日でディジウムはSkype for Asteriskの販売・登録を終了しました。
システム要求
Skype Manager
Skype For Asteriskの使用には、Skype Managerのアカウントが必要です。
http://www.skype.com/intl/ja/business/skype-manager/
Managerに登録したビジネスアカウント(管理者アカウントは不可)が利用可能です。
※通常の方法で作成したままのアカウントは利用出来ません。
オンライン登録
登録用レジスタ・ツールをダウンロードして実行します。
ディジウムのライセンスサーバと通信する為にTCP443ポート(SSL)が外向きに開いている必要が有ります。
cd ~ wget http://downloads.digium.com/pub/register/linux/register chmod 500 ~/register ~/register
購入時に送られてくるキーを入力します。会社名、担当者、連絡先など入力。
下記フォルダにライセンスファイルが生成されるのでバックアップをとる事をお勧めします。
/var/lib/asterisk/licenses
ファイル名:S4A-xxxxxxxxxxxx.lic
インストール
Asteriskのバージョンによってダウンロードするファイルが異なります。
下記アドレスから該当するファイルを選択して下さい。
http://downloads.digium.com/pub/telephony/skypeforasterisk
wget http://downloads.digium.com/pub/telephony/skypeforasterisk/asterisk-1.6.0/x86-32/skypeforasterisk-1.6.0_1.1.2-x86_32.tar.gz tar -xvzf skypeforasterisk-1.6.0_1.1.2-x86_32.tar.gz cd skypeforasterisk-1.6.0_1.1.2-x86_32 make make install make samples
asteriskを再起動します。
asterisk -rx "restart when convenient"
asterisk CLIからライセンス認証を確認します。
skype show licenses
chan_skype.conf
使用するマシンやネットワーク環境に応じて設定して下さい。
[general]
engine_directory=/tmp skypeエンジンが使用するテンポラリ・ディレクトリを指定。デフォルトは/tmp
default_user=<username> skype for asteriskで使用するskypeアカウントを指定します。
bind_address=0.0.0.0 NICを複数積んでいるマシンでskypeが使用するアドレスを指定。通常0.0.0.0(any)
rtp_address=127.0.0.1 RTPが使用するアドレスを指定。デフォルトは127.0.0.1
bind_port=0 skypeエンジンが使用するTCPポートを指定。デフォルトは0(ランダム)
disable_tcpauto=no 通常skypeは開いているポートを自動的に使います。ポートを指定する場合はyes
disable_udp=no UDPポートをメディアストリームで使えない時はyesを指定します。デフォルトはno
[<username>] skypeアカウント
secret=<password> skypeにログインするパスワード
context=skype-in このセクションが使用するcontextを指定します。
exten=s context内の着信extenを指定。デフォルトはskypeアカウントです。
disallow=all
allow=ulaw,alow,g729 使用できるCodecを指定します。ulow,alow,g729が可能。g729 1ch分ライセンス含む
direction=both 着信(incoming),発信(outgoing),発着(both)いずれかを指定します。
auth_policy=accept 相手認証ポリシーを設定します。accept,accept<password>,deny,block,ignore
buddy_autoadd=buddies,hints 相手を自動追加するかどうか指定。デフォルトno. buddies,hintsもしくは双方指定可能
buddy_presence=yes 相手プレゼンス情報の扱いを指定。必要性が無い場合、asteriskに負荷がかかる場合はno
発信設定(internal-invisible.confの編集)
98特番でソフトフォンからSkype宛発信するscriptの例です。
/etc/asterisk/fonality/internal-invisible.conf
exten => _98.,1,Dial(skype/<username>@${EXTEN:2}) ※ <username>:Asterisk-Skypeアカウント
exten => _98.,n,Hangup
番号とSkypeアカウントの関連付けを記述すると、ハードフォンからダイヤルでSkype宛発信が可能です。
ダイヤル1234でSkype発信する例です。
exten => 1234,1,Dial(skype/<trunk-username>@<username>) ※<trunk-username>:Asterisk-Skypeアカウント
exten => 1234,n,Hangup <username>:発信先Skypeアカウント
Skype音声テストサービス(アカウント:ECHO123)宛の発信時動作です。
98+ECHO123 1234
着信ルーティング
Skypeから着信すると、trixbox Proの場合IVRに通話が送られます。PSTNに関してすでにIVRの設定が行われている場合にはそのまま利用することができます。SkypeからのDTMFも認識します。
(詳細は IVR設定例 : ダイヤルされた番号で通話をルーティングする などをご覧ください。)
SkypeのCallerIDにはアルファベットが含まれていることを利用して下記のような trixbox Pro の Runscriptを準備すると、任意の内線番号に自動転送することもできます。一例として、下記のスクリプトを /var/lib/asterisk/agi-bin/fromskype.agi として保存してください。
#!/usr/bin/perl
use strict;
use Asterisk::AGI;
###########################################
# 2010 Communication Business Avenue, Inc.
# from Skype-Call Transfer script
###########################################
$|=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;
}
}
sub isAlpha{
my $str = shift || return(undef);
if( $str =~ /^[a-zA-Z]{1,}$/ ){
return(1);
}
else{
return(0);
}
}
# grab the extension
my $to_exten = shift;
if(length($to_exten) == 0)
{
exit;
}
# "noexten" => "function off"
if ($to_exten eq "noexten"){
exit;
}
#SkypeCall?
if( isAlpha($AGI{'callerid'}) ){
#$astagi->say_alpha("SKY");
#$astagi->say_alpha($to_exten);
$astagi->set_callerid($AGI{'calerid'});
$astagi->exec('Dial',"Local/$to_exten\@internal");
$astagi->hangup();
} else {
#$astagi->say_alpha($AGI{'callerid'});
}
Runscript メニューで、
Runscript fromskype.agi,5000
などと指定すると、Skypeからの通話はすべて内線5000番に自動転送できます。
Runscript fromskype.agi,noexten
とすると、転送を停止します。
CRMとの連携
SugarCRM:
参考情報
ドイツMyCRM社のCall Managerを利用すると着信時にSkypeユーザーネームが取得でき、Webランチャも起動するようです。
http://www.sugarcrm.com/crm/about/press-releases/20090928-mycrm-skype.html
http://www.sugarforge.org/projects/callmanager/
https://docs.google.com/present/view?skipauth=true&id=dd2krmd_168csrvv4f3
ファイル | サイズ | 日付 | 添付したユーザ | |||
---|---|---|---|---|---|---|
1234.png 説明なし | 147.03 kB | 2011年 5月 23日, 17:34 | Admin | アクション | ||
98ECHO123.png 説明なし | 147.32 kB | 2010年 12月 3日, 00:06 | Admin | アクション | ||
fromskype.png 説明なし | 31.01 kB | 2010年 12月 6日, 16:02 | Admin | アクション |