ディジウム純正のSkypeチャネル・ドライバをインストールする事によってAsteriskでSkype発着信が可能になります。
システム要求
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>:発信先Skypeアカウント
exten => _98.,n,Hangup
番号とSkypeアカウントの関連付けを記述すると、ハードフォンからダイヤルでSkype宛発信が可能です。
ダイヤル98+1234でSkype発信する例です。
exten => 1234,1,Dial(skype/<trunk-username>@<username>) ※<trunk-username>:Asterisk側Skypeアカウント
exten => 1234,n,Hangup <username>:発信先Skypeアカウント