「Skype for Asterisk」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(aQTgIidTerPEX)
(180.150.131.250 (会話) による編集を MR G による版へと差し戻しました。)
1行目: 1行目:
b2tQKI  <a href="http://jwupueylczkd.com/">jwupueylczkd</a>, [url=http://moqlgqcbwbpy.com/]moqlgqcbwbpy[/url], [link=http://qkvrbcnkdjyj.com/]qkvrbcnkdjyj[/link], http://qudlcebsfyhr.com/
+
{{Template:書きかけ}}
 +
Skype for Asterisk(SFA)<br>
 +
Digium純正のAsterisk用Skypeチャネル。<br>
 +
:http://www.digium.com/en/products/software/skypeforasterisk.php<br>
 +
価格: Digium オンラインショップで $66/チャネル (G.729コーデック 1ch分の料金を含む)
 +
==要件==
 +
Asterisk 1.4.25以上<br>
 +
Asterisk 1.6.0.6以上<br>
 +
Asterisk 1.6.1.5以上<br>
 +
==購入==
 +
エンドユーザの場合には、Digiumのオンラインショップで購入します。<br>
 +
:http://store.digium.com/<br>
 +
購入すると、ダウンロードURLと登録キーが送られてきます。<br>
 +
==インストール==
 +
===プロダクトの登録===
 +
まず、登録用のソフトregisterをダウンロードします。登録は使用するマシンのNICに基づいて行われるため、使用するAsteriskをインストールしたマシン上で行います。Linuxの場合には、wgetなどで入手するかと思いますが、その際にはchmod +x registerして./registerを実行してください。この時に、購入時に送られてきたキーが必要となります。<br>
 +
Digiumの他のプロダクトもそうですが、ライセンスキーは /var/lib/asterisk/licenses/ に保存されます。このファイルは<br>
 +
:S4A-xxxxxxxxxxxx.lic
 +
のようなファイル名で、S4Aがプロダクト(Skype4Asterisk)です。G.729ならG729-のようなファイル名になります。<br>
 +
このファイルは'''大切な'''ライセンスファイルなので、バックアップしておくことをお勧めします。<br>
 +
===インストール===
 +
ソースファイルを入手した場合には、makeしてmake installするだけです。Linuxの場合、32bit用と64bit用が別に配布されているので注意してください。<br>
 +
chan_skype.so  res_skypeforasterisk.so のふたつがAsteriskのモジュールとしてインストールされます。
 +
 
 +
==設定==
 +
===注意===
 +
Skype for Asteriskで使えるSkypeアカウントは、Skypeビジネスコントロールパネル(BCP)で管理されているアカウントだけです。単に登録しただけのSkypeアカウントは使用できないので注意してください。<br>
 +
:http://www.skype.com/intl/ja/business/products/business-control-panel/
 +
既存のSkypeアカウントがあればBCPに登録することができます。<br>
 +
===chan_skype.conf===
 +
ソースを展開したディレクトリに chan_skype.conf.sample というファイルがありますので、これを編集するか、以下を参照して設定ファイルを作ってください。<br>
 +
'''[general]'''セクション
 +
[general]
 +
engine_directory=/var/lib/asterisk/skype
 +
default_user=Skypeログイン名
 +
bind_address=IPアドレス
 +
bind_port=ポート番号
 +
disable_tcpauto=yes
 +
*engine_directory
 +
:Skypeエンジンが使用するテンポラリディレクトリを指定します。デフォルトでは/tmpです。
 +
:上記の例では /var/lib/asterisk/skype を使用しています。この場合にはディレクトリを作成し、chown asterisk:asterisk /var/lib/asterisk/skype を実行しておいてください。
 +
*default_user
 +
:デフォルトで使用するSkypeのログイン名を指定します。
 +
*bind_address
 +
:SkypeがlistenするIPアドレス(サーバの)を指定します。デフォルトでは全てのIPアドレスですが、複数のインタフェースを持つAsteriskマシンの場合には明示的にIPアドレスを指定します。
 +
*bind_port
 +
:このポート番号の設定は少し注意してください。デフォルトではこの値は、あくまでも「ヒント」として使用されるだけで、Skypeエンジンは空いているポートを自動的に使おうとします。
 +
*disable_tcpauto
 +
:デフォルトはnoに設定されています。デフォルトの設定では、Skypeエンジンは「適当な空いている」ポートを自動的に使います。サーバ機などで明示的にポートを指定したり、ファイアウォールでポートを特定する場合にはbind_portを指定し、このdisable_tcpautoをyesに指定します。
 +
'''[ユーザ]'''セクション<br>
 +
Skypeログイン名に対応するセクションを作成します。
 +
[Skypeログイン名]
 +
secret=パスワード
 +
context=skype-in
 +
exten=s
 +
disallow=all
 +
allow=ulaw,g729
 +
direction=both
 +
auth_policy=accept
 +
buddy_autoadd=buddies,hints
 +
buddy_presence=yes
 +
*[]セクション
 +
:Skypeのログイン名を指定します。
 +
*secret
 +
:Skypeのログインパスワードを指定します。
 +
*context
 +
:このセクションが使用するコンテキストを使用します。この例ではskype-inとしています。
 +
*exten
 +
:コンテキスト内の着信extenを指定します。デフォルトはユーザ名です。
 +
*disallow, allow
 +
:他のチャネル同様に使用できるCODECを指定します。指定できるCODECはulaw,alaw,g729のいずれか、またはその組み合わせです。G.729 1チャネル分のライセンスはSFAに含まれています。
 +
*direction
 +
:このユーザが発信、着信、またはその両方が使用できるかを制限します。incoming, outgoing, both のいずれかを指定します。
 +
*auth_policy
 +
:相手を認証するポリシーを指定します。上の例では全て自動認証します。
 +
:accept:Skype名 を指定すると、指定された相手は自動認証します。
 +
*buddy_autoadd
 +
:相手を自動追加するかどうかを指定します。デフォルトは no です。プレゼンス情報を用意に扱うために、ここにはbuddiesまたはhints、あるいはその両方を指定することができます。
 +
*buddy_presence
 +
:相手のプレゼンス情報の扱いを指定します。
 +
 
 +
===extensions.conf===
 +
上記の例をもとにextensions.confの記述を簡単に説明します。
 +
*着信
 +
:上の例ではコンテキストをskype-in、extenを s としましたので、以下のように書きます。
 +
[skype-in]
 +
 +
exten s,1,Dial(SIP/201)
 +
このように記述すると、Skypeからの着信はSIP/201に接続されます。
 +
*発信
 +
Dial(Skype/自分側の名前@相手の名前)
 +
自分側の名前は[ユーザ]のセクションで指定したSkype名です。相手は発信したいSkypeユーザの名前です。Asteriskは番号体系で動作していますが、Skypeは名前で動作してるため、これらの間のマッピングはextensions.conf内で行います。例えば
 +
exten => 123456,1,Dials(Skype/my_name_of_skype@buddy_name_of_skype)
 +
のように記述し、番号と名前を紐付けてダイヤルします。
 +
exten => 123456,1,Dial(Skype/buddy_name_of_skype)
 +
このように記述した場合には、.confで指定したデフォルトのユーザ名が発信元になります。
 +
*番号に紐付けしないで発信
 +
SIP電話機など、ダイヤルする際に例えば
 +
peername@asterisk.mydomain.tld
 +
のような形で発信できる、あるいは電話帳登録が出来る場合には、extenを次のように記述してしまいます。
 +
exten => buddy_name_of_skype,1,Dials(Skype/my_name_of_skype@buddy_name_of_skype)
 +
そうすると、名前を使って発信することができます。
 +
*CID
 +
デフォルトでは相手のSkype名が通知されます。このため、SIP電話機などでは
 +
Skype名@AsteriskのIPアドレス
 +
のような形で通知が行われるため、そのままではリダイヤルできません。<br>
 +
リダイヤルしたい場合には、CALLERIDをセットして適切な番号に置換するか、あるいは名前での直接発信ができるようにextenを作っておきます。
 +
==便利な使い方==
 +
上記の『Skype名』による発着信を応用します。着信コンテキストをskype-in、extenを s とします。<br>
 +
まず、着信コンテキストを次のように記述します。
 +
[skype-in]
 +
 +
exten => s,1,Set(CALLERID(num)=SFA-${CALLERID(num)})
 +
exten => s,n,Dial(SIP/201)
 +
 
 +
上記例では、Skypeから着信するとSIP/201を呼び出しますが、この際にCIDとしてプレフィクス、SFA-をつけて通知します。例えば takao.takahashi というSkype名から着信すると、SFA-takao.takahashi が通知されます。<br>
 +
次にSkypeへの発信extenとして以下のように記述します。<br>
 +
exten => _SFA-.,1,Dial(Skype/my_skype_name@${EXTEN:4})
 +
数字による発信の場合と同じで、SFA-で始まる名前がダイヤルされると、このextenに飛んできます。SFA-の後ろは任意で、後ろの部分を相手のSkype名としてSkypeチャネルに対して発信します。相手と自分の設定にもよりますが、「誰からでも」着信できるようになっている場合には、この方法で発着信が行えますし、コールバックも行えます。<br>
 +
NokiaのEシリーズの場合、電話帳にInternet Telephoneの登録ができますが、この登録には「名前」(URI)でも行えます。ですので、SFA-なんちゃら@Asterisサーバ、という形で登録しておけば電話帳からSkypeコンタクトに対してダイヤルすることも可能になります。<br>
 +
上の例ではプレフィクスをSFA-としていますが、この部分を数字にしてもかまいません。<br>
 +
<br>
 +
Polycomの謎: Polycom IP450では着信履歴から発信すると、ちゃんと発信しますが手動ダイヤルでURL入力を行う場合には英小文字しか入らないのと、sip:が頭に付いていきます。なので、以下のようなhackをしてしまえばPolycomから直接、Skypeへダイヤルできます。
 +
exten => sip:_sfa-.,1,Dial(Skype/my_skype_name@${EXTEN:8})
 +
[[Category:Asterisk]]
 +
[[Category:Skype]]

2010年3月14日 (日) 16:02時点における版

Skype for Asterisk(SFA)
Digium純正のAsterisk用Skypeチャネル。

http://www.digium.com/en/products/software/skypeforasterisk.php

価格: Digium オンラインショップで $66/チャネル (G.729コーデック 1ch分の料金を含む)

要件

Asterisk 1.4.25以上
Asterisk 1.6.0.6以上
Asterisk 1.6.1.5以上

購入

エンドユーザの場合には、Digiumのオンラインショップで購入します。

http://store.digium.com/

購入すると、ダウンロードURLと登録キーが送られてきます。

インストール

プロダクトの登録

まず、登録用のソフトregisterをダウンロードします。登録は使用するマシンのNICに基づいて行われるため、使用するAsteriskをインストールしたマシン上で行います。Linuxの場合には、wgetなどで入手するかと思いますが、その際にはchmod +x registerして./registerを実行してください。この時に、購入時に送られてきたキーが必要となります。
Digiumの他のプロダクトもそうですが、ライセンスキーは /var/lib/asterisk/licenses/ に保存されます。このファイルは

S4A-xxxxxxxxxxxx.lic

のようなファイル名で、S4Aがプロダクト(Skype4Asterisk)です。G.729ならG729-のようなファイル名になります。
このファイルは大切なライセンスファイルなので、バックアップしておくことをお勧めします。

インストール

ソースファイルを入手した場合には、makeしてmake installするだけです。Linuxの場合、32bit用と64bit用が別に配布されているので注意してください。
chan_skype.so res_skypeforasterisk.so のふたつがAsteriskのモジュールとしてインストールされます。

設定

注意

Skype for Asteriskで使えるSkypeアカウントは、Skypeビジネスコントロールパネル(BCP)で管理されているアカウントだけです。単に登録しただけのSkypeアカウントは使用できないので注意してください。

http://www.skype.com/intl/ja/business/products/business-control-panel/

既存のSkypeアカウントがあればBCPに登録することができます。

chan_skype.conf

ソースを展開したディレクトリに chan_skype.conf.sample というファイルがありますので、これを編集するか、以下を参照して設定ファイルを作ってください。
[general]セクション

[general]
engine_directory=/var/lib/asterisk/skype
default_user=Skypeログイン名
bind_address=IPアドレス
bind_port=ポート番号
disable_tcpauto=yes
  • engine_directory
Skypeエンジンが使用するテンポラリディレクトリを指定します。デフォルトでは/tmpです。
上記の例では /var/lib/asterisk/skype を使用しています。この場合にはディレクトリを作成し、chown asterisk:asterisk /var/lib/asterisk/skype を実行しておいてください。
  • default_user
デフォルトで使用するSkypeのログイン名を指定します。
  • bind_address
SkypeがlistenするIPアドレス(サーバの)を指定します。デフォルトでは全てのIPアドレスですが、複数のインタフェースを持つAsteriskマシンの場合には明示的にIPアドレスを指定します。
  • bind_port
このポート番号の設定は少し注意してください。デフォルトではこの値は、あくまでも「ヒント」として使用されるだけで、Skypeエンジンは空いているポートを自動的に使おうとします。
  • disable_tcpauto
デフォルトはnoに設定されています。デフォルトの設定では、Skypeエンジンは「適当な空いている」ポートを自動的に使います。サーバ機などで明示的にポートを指定したり、ファイアウォールでポートを特定する場合にはbind_portを指定し、このdisable_tcpautoをyesに指定します。

[ユーザ]セクション
Skypeログイン名に対応するセクションを作成します。

[Skypeログイン名]
secret=パスワード
context=skype-in
exten=s
disallow=all
allow=ulaw,g729
direction=both
auth_policy=accept
buddy_autoadd=buddies,hints
buddy_presence=yes
  • []セクション
Skypeのログイン名を指定します。
  • secret
Skypeのログインパスワードを指定します。
  • context
このセクションが使用するコンテキストを使用します。この例ではskype-inとしています。
  • exten
コンテキスト内の着信extenを指定します。デフォルトはユーザ名です。
  • disallow, allow
他のチャネル同様に使用できるCODECを指定します。指定できるCODECはulaw,alaw,g729のいずれか、またはその組み合わせです。G.729 1チャネル分のライセンスはSFAに含まれています。
  • direction
このユーザが発信、着信、またはその両方が使用できるかを制限します。incoming, outgoing, both のいずれかを指定します。
  • auth_policy
相手を認証するポリシーを指定します。上の例では全て自動認証します。
accept:Skype名 を指定すると、指定された相手は自動認証します。
  • buddy_autoadd
相手を自動追加するかどうかを指定します。デフォルトは no です。プレゼンス情報を用意に扱うために、ここにはbuddiesまたはhints、あるいはその両方を指定することができます。
  • buddy_presence
相手のプレゼンス情報の扱いを指定します。

extensions.conf

上記の例をもとにextensions.confの記述を簡単に説明します。

  • 着信
上の例ではコンテキストをskype-in、extenを s としましたので、以下のように書きます。
[skype-in]

exten s,1,Dial(SIP/201)

このように記述すると、Skypeからの着信はSIP/201に接続されます。

  • 発信
Dial(Skype/自分側の名前@相手の名前)

自分側の名前は[ユーザ]のセクションで指定したSkype名です。相手は発信したいSkypeユーザの名前です。Asteriskは番号体系で動作していますが、Skypeは名前で動作してるため、これらの間のマッピングはextensions.conf内で行います。例えば

exten => 123456,1,Dials(Skype/my_name_of_skype@buddy_name_of_skype)

のように記述し、番号と名前を紐付けてダイヤルします。

exten => 123456,1,Dial(Skype/buddy_name_of_skype)

このように記述した場合には、.confで指定したデフォルトのユーザ名が発信元になります。

  • 番号に紐付けしないで発信

SIP電話機など、ダイヤルする際に例えば

peername@asterisk.mydomain.tld

のような形で発信できる、あるいは電話帳登録が出来る場合には、extenを次のように記述してしまいます。

exten => buddy_name_of_skype,1,Dials(Skype/my_name_of_skype@buddy_name_of_skype)

そうすると、名前を使って発信することができます。

  • CID

デフォルトでは相手のSkype名が通知されます。このため、SIP電話機などでは

Skype名@AsteriskのIPアドレス

のような形で通知が行われるため、そのままではリダイヤルできません。
リダイヤルしたい場合には、CALLERIDをセットして適切な番号に置換するか、あるいは名前での直接発信ができるようにextenを作っておきます。

便利な使い方

上記の『Skype名』による発着信を応用します。着信コンテキストをskype-in、extenを s とします。
まず、着信コンテキストを次のように記述します。

[skype-in]

exten => s,1,Set(CALLERID(num)=SFA-${CALLERID(num)})
exten => s,n,Dial(SIP/201)

上記例では、Skypeから着信するとSIP/201を呼び出しますが、この際にCIDとしてプレフィクス、SFA-をつけて通知します。例えば takao.takahashi というSkype名から着信すると、SFA-takao.takahashi が通知されます。
次にSkypeへの発信extenとして以下のように記述します。

exten => _SFA-.,1,Dial(Skype/my_skype_name@${EXTEN:4})

数字による発信の場合と同じで、SFA-で始まる名前がダイヤルされると、このextenに飛んできます。SFA-の後ろは任意で、後ろの部分を相手のSkype名としてSkypeチャネルに対して発信します。相手と自分の設定にもよりますが、「誰からでも」着信できるようになっている場合には、この方法で発着信が行えますし、コールバックも行えます。
NokiaのEシリーズの場合、電話帳にInternet Telephoneの登録ができますが、この登録には「名前」(URI)でも行えます。ですので、SFA-なんちゃら@Asterisサーバ、という形で登録しておけば電話帳からSkypeコンタクトに対してダイヤルすることも可能になります。
上の例ではプレフィクスをSFA-としていますが、この部分を数字にしてもかまいません。

Polycomの謎: Polycom IP450では着信履歴から発信すると、ちゃんと発信しますが手動ダイヤルでURL入力を行う場合には英小文字しか入らないのと、sip:が頭に付いていきます。なので、以下のようなhackをしてしまえばPolycomから直接、Skypeへダイヤルできます。

exten => sip:_sfa-.,1,Dial(Skype/my_skype_name@${EXTEN:8})