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