Skype to SIP Gateway DIY

アスタリスクベースのゲートウェイ-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レジスタ



All Articles