アスタリスクベースのゲートウェイ-Skype for Asteriskおよびalix。
SFAは7月26日までしか購入できず、7月26日まで登録する必要があることに気付いたときに、このようなゲートウェイを作成することにしました。
タスク:
1)SkypeネットワークからSIPに着信コールを提供します。
2)SIPネットワークからSkypeへの発信通話を提供します。
始めるために、私はここにAskoziaがプリインストールされたALIXボードに基づいて組み立てられた箱を買いました。 Askoziaは決してSFAの友達ではないので、すぐに取り壊しました:)。 選択肢は、ALIXでうまく機能するVoyageディストリビューションにあり、CFカードには5分でインストールされます。
Voyageをインストールします。
Voyageアーカイブをダウンロードし、解凍してスクリプトを実行し、CFカードにインストールします。
cd /tmp
wget www.voyage.hk/download/voyage/voyage-0.7.5.tar.bz2
tar -axf voyage-one-0.7.5.tar.bz2
cd voyage-one-0.7.5
./usr/local/sbin/voyage.update
次に、インストールメニューで、パラメータを選択します。
Configuration details:
----------------------
Distribution directory: /home/alexcr/Voyage-one.ru/voyage-one-0.7.5
Disk/Flash Device: /dev/sdb
Installation Partition: /dev/sdb1
Create Partition and FS: yes
Bootstrap Partition: /dev/sdb1
Will be mounted on: /mnt/cf
Target system profile: ALIX
Target console: serial
Target baud rate: 38400
Bootstrap installer: grub
Bootstrap partition: /dev/sdb1
OK to continue (y/n)?
パッケージのインストール:
アスタリスクとSFAをビルドするには、必要なパッケージをインストールする必要があります。
ssh root@192.168.0.100 ### voyage###
remountrw ### Read&Write###
apt-get update
apt-get install mc aptitude vim -y
aptitude install make asterisk-1.8 libncurses5-dev build-essential libstdc++6-4.4-dev gcc glibc-2.11-1 -y
アスタリスクとSFAをインストールする
cd /usr/src/
wget downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.4.4.tar.gz
wget downloads.digium.com/pub/telephony/skypeforasterisk/asterisk-1.8.0/x86-32/skypeforasterisk-1.8.0_1.1.4-x86_32.tar.gz
wget downloads.digium.com/pub/register/x86-32/register
tar axvf skypeforasterisk-1.8.0_1.1.4-x86_32.tar.gz
tar axvf asterisk-1.8.4.4.tar.gz
cd asterisk-1.8.4.4/
./configure --disable-xmldoc
make menuselect
make && make install && make samples
cd ../skypeforasterisk-1.8.0_1.1.4-x86_32/
make && make install
cp chan_skype.conf.sample /etc/asterisk/chan_skype.conf
アスタリスクとSFAを起動する
アスタリスクを開始し、システムにSFAモジュールがあるかどうかを確認します。
/etc/init.d/asterisk restart
asterisk -rvvvv
CLI> skype show version
Skype For Asterisk Components:
Channel Driver: 1.8.0_1.1.4
Library: UNKNOWN_and_probably_unsupported
SFA登録
SFAを機能させるには、必要なチャンネル数のアクティベーションキーを購入する必要があります。Skypeチャンネルあたりのコストは66ドルで、5分で購入できます 。 キーのアクティベーションは、登録ユーティリティを使用して行われます。
chmod 777 register
./register
1 - Digium Products
7 - Skype For Asterisk
Please enter your Key-ID: S4A-LM2WQTTGZGZG
Do you accept this licensing agreement (y/n)? y
First Name: Last Name: Company: Address 1: Address 2: City: State: Postal Code: Country: Phone: E-Mail:
システムにライセンスがあるかどうかを確認します
/etc/init.d/asterisk restart
asterisk -rvvv
voyage*CLI> skype show licenses
Skype For Asterisk Licensing Information
========================================
Total licensed channels: 1
Licenses Found:
File: S4A-LM2WQTTGZGZG.lic -- Key: S4A-LM2WQTTGZGZG -- Expires: 2031-06-29 -- Host-ID: e4:07:e8:a8:d1:99:3b:f2:45:ea:7e:20:b8:4f:30:bd:7c:7b:5b:1c -- Channels: 1 (OK)
SIPおよびSkypeアカウントのセットアップ
SIPアカウントをsip.confに追加します
[sip-skype](!)
type=friend
context=from-sip
host=dynamic
nat=yes
qualify=yes
canreinvite=no
dtmfmode=rfc2833
disallow=all
allow=ulaw
allow=alaw
callwaiting=yes
[101](sip-skype)
username=101
secret=mypass
[102](sip-skype)
username=102
secret=mypass
SIP extensions.confでSkypeネットワークからの通話のダイヤルプランを設定します
[from-skype-user1]
exten => s,1,NOOP(From Skype ${CALLERID} to ${EXTEN})
exten => s,n,Dial(SIP/101,60,r)
exten => s,n,Hangup
[from-skype-user2]
exten => _X.,1,NOOP(From Skype ${CALLERID} to ${EXTEN})
exten => _X.,n,Dial(SIP/102,60,r)
exten => _X.,n,Hangup
スカイプアカウントへの通話と外部通話のダイヤルプランを設定する
[from-sip]
exten => 201,1,NOOP(From SIP ${CALLERID} to ${EXTEN})
exten => 201,2,Dial(SKYPE/alexcr.telecom,60,Tr)
exten => 201,n,Hangup
exten => 202,1,Dial(SKYPE/skype-contact,60,Tr)
exten => 203,1,Dial(SKYPE/skype-contact2,60,Tr)
exten => 202,1,Dial(SKYPE/skype-contact3,60,Tr)
exten => _00X.,1,NOOP(Dial to Skype PSTN ${CALLERID} to ${EXTEN})
exten => _00X.,2,Dial(SKYPE/${EXTEN},60,Tr)
exten => _00X.,n,Hangup
chan_skype.confを構成する
[skype-user-1]
secret=skype-pass
context=from-skype-user1
exten=s
disallow=all
allow=ulaw
direction=both
auth_policy=accept
buddy_autoadd=true
autoreply = , I@mail.ru
[user2]
secret=userpass2
context=from-skype-user2
exten=s
disallow=all
allow=ulaw
direction=both
auth_policy=accept
autoreply = , I@gmail.com
アスタリスクでのSkypeアカウントのステータスの確認
voyage*CLI> skype show users
Skype Users
user2: Logged In
Skype通話の確認
-- Executing [201@from-sip:1] NoOp("SIP/101-00000004", "From SIP to 201") in new stack
-- Executing [201@from-sip:2] Dial("SIP/101-00000004", "SKYPE/alexcr-telcom,60,Tr") in new stack
-- Called alexcr-telcom
-- Skype/user2-0854f990 is ringing
-- Skype/user2-0854f990 answered SIP/101-00000004
== Spawn extension (from-sip, 201, 2) exited non-zero on 'SIP/101-00000004'
SIPコールを確認する
-- Executing [s@from-skype-user1:1] NoOp("Skype/user1-085004a8", "From Skype to s") in new stack
-- Executing [s@from-skype-user1:2] Dial("Skype/user1-085004a8", "SIP/101,60,r") in new stack
== Using SIP RTP CoS mark 5
-- Called 101
-- SIP/101-00000005 is ringing
-- SIP/101-00000005 answered Skype/user1-085004a8
== Spawn extension (from-skype-user1, s, 2) exited non-zero on 'Skype/user1-085004a8'
追加のドキュメント:
SFAのスカイプアカウントを登録する方法
README-voyage
README-SFA
Digiumレジスタ