Asterisk を使うには・・・
よく使う、sip.conf ファイルと、extentions.conf を理解する必要があります。
sip.conf は基本的なことがらを定義するファイルで、内線番号の定義や、収容する回線の定義、レジスト定義などを行います。
例えば、ひかり電話を収容して(レジストして接続することを「収容」といいます)、その属性などを定義します。また、内線の定義もここで行います。
Raspberry Pi 3へAsteriskを構築する -- その1 に記載したものを例にして説明しましょう。
Raspberry Pi 3へAsteriskを構築する -- その1 に記載したものを例にして説明しましょう。
sip.conf ファイルの事例:
[general] ; 全般的な定義をするセクションです。先頭に記載します
context=default ; このセクションはデフォルトで扱うことを示します
context=default ; このセクションはデフォルトで扱うことを示します
; デフォルト以外で扱うコンテキストを次行以降に記載します
bindport=5062 ; sipのポートを指定します。通常は5060で、この場合は記述省略可
bindaddr=0.0.0.0 ; sipのIPアドレスで 0.0.0.0 はすべてのアドレスを許可の意味
bindport=5062 ; sipのポートを指定します。通常は5060で、この場合は記述省略可
bindaddr=0.0.0.0 ; sipのIPアドレスで 0.0.0.0 はすべてのアドレスを許可の意味
language=ja ; 言語は日本語を使用する指定です
dsiallow=all ; コーデックをすべて不許可にします
dsiallow=all ; コーデックをすべて不許可にします
allow=ulaw ; コーデックとして、μLaw(G.711.μ)を使用(許可)します
allow=alaw ; コーデックとして、aLaw(G.711.a)を使用します
allow=gsm ; コーデックとして、GSMを使用します
localnet=192.168.xxx.0/255.255.255.0 ; ローカルネットワークのアドレスとマスク
※ コーデックの記載順序が優先度を表します。ulaw,alaw,gsm のように記述
allow=alaw ; コーデックとして、aLaw(G.711.a)を使用します
allow=gsm ; コーデックとして、GSMを使用します
localnet=192.168.xxx.0/255.255.255.0 ; ローカルネットワークのアドレスとマスク
※ コーデックの記載順序が優先度を表します。ulaw,alaw,gsm のように記述
しても構いません。
※ コーデックは、一般には上の3つを指定しておけば、問題ありません。
sipのセッション確立時にお互いのコーデックを何にするかを決めています。
ほかにも例えば、opus なんていま最強といわれるコーデックもありますが、
残念ながら、まだメジャーではありませんので、相手合ってのことで、
実際的に使われず、結局、μLaw、aLaw、GSMあたりに落ち着きます。
GSMは2G携帯電話のコーデックとして有名です。
μLawは、ひかり電話が使っています。
「μ」とは記述せずに、「u」で代替しています(1バイト表現のためです)
実際的に使われず、結局、μLaw、aLaw、GSMあたりに落ち着きます。
GSMは2G携帯電話のコーデックとして有名です。
μLawは、ひかり電話が使っています。
「μ」とは記述せずに、「u」で代替しています(1バイト表現のためです)
[201] ; 内線201の定義を行うセクションです(内線番号は任意です)
type=friend ; 発着信できる設定です。peerが発信専用、userが着信専用です
defaultuser=201 ; ユーザー名を201にします
secret=パスワード(任意); 内線201のパスワードを設定します
host=dynamic ; ホストを特定しない場合に、こう指定します
canreinvite=no ; noはRTP(音声)をAsteriskが中継します。yesは中継しません
canreinvite=no ; noはRTP(音声)をAsteriskが中継します。yesは中継しません
※ パスワードは、乗っ取りなどの防止のため、できる限り長い(16文字以上
くらい)、大小文字、記号、数字を含む文字列を推奨します。
ほかにもいくつか用意されたコンテキスト(各行の定義をこのように呼びます)がありますが、詳しくは、ネットで調べるか(http://www.st-asterisk.com/http://www.st-asterisk.com/ など)、できれば「高橋 隆雄の Asterisk 徹底活用ガイド」Kindle 版で約 3,000円、をオススメします。
この本は大きな図書館には置いてあるかもしれません(?)。私の近隣では船橋市に1冊だけあり、居住する市の図書館が取り寄せてくれましたけど。
高橋 隆雄氏は、日本における Asterisk の神様のような方です。
ひかり電話を収容するには、光ルーターの「電話設定→内線設定→内線番号・編集」で指定した内容を次のように記述します。
これは、FUSION や、ブラステル、050Plus などの収容でも同様ですが、050Plus はチョット特殊で、コンテキストも TLS を指定する必要があります。
register => 光ルーターの内線番号:パスワード:ユーザID@hikari-denwa/200
のように記述します。これを [general] セクションの中に記述します(最初の内線コンテキストのセクション、事例では [201] セクションとの間)に記載します。
「=>」は Asterisk 特有の記述の仕方で、上例では、「レジストは以下を行います」の意味になります。
また、ひかり電話のコンテキストは次のように記述します。
[hikari-denwa]
type=friend
context=default
secret=パスワード
bindport=5062
username=ユーザID
fromuser=3
host=192.168.xxx.yyy ; ひかり電話を設定した光ルーターのアドレス
fromdomain=192.168.xxx.yyy ; (同上)
insecure=port,invite ; port: どのポートも受け入れる、invite: 着信時認証不要
dtmfmode=inband ; inband: 音声チャネルでプッシュトーンを流す
disallow=all
allow=ulaw
allow=alaw
allow=gsm
また、ひかり電話のコンテキストは次のように記述します。
[hikari-denwa]
type=friend
context=default
secret=パスワード
bindport=5062
username=ユーザID
fromuser=3
host=192.168.xxx.yyy ; ひかり電話を設定した光ルーターのアドレス
fromdomain=192.168.xxx.yyy ; (同上)
insecure=port,invite ; port: どのポートも受け入れる、invite: 着信時認証不要
dtmfmode=inband ; inband: 音声チャネルでプッシュトーンを流す
disallow=all
allow=ulaw
allow=alaw
allow=gsm
「hikari-denwa」は任意のSIPサーバー名になります。この名前は、extensions.conf で
発信時の sip サーバーの指定に使います。
その後の番号「200」は、エクステンション番号といい、extensions.conf の中で紐付きます。記載しない場合は、特殊なエクステンション番号「s」と結び付きます。
》続く
0 件のコメント:
コメントを投稿