2017-06-25

Asterisk入門 -- その1

Asterisk を使うには・・・


よく使う、sip.conf ファイルと、extentions.conf を理解する必要があります。
sip.conf は基本的なことがらを定義するファイルで、内線番号の定義や、収容する回線の定義、レジスト定義などを行います。

例えば、ひかり電話を収容して(レジストして接続することを「収容」といいます)、その属性などを定義します。また、内線の定義もここで行います。

Raspberry Pi 3へAsteriskを構築する -- その1 に記載したものを例にして説明しましょう。


sip.conf ファイルの事例:

[general]              ; 全般的な定義をするセクションです。先頭に記載します
context=default     ; このセクションはデフォルトで扱うことを示します
                           ; デフォルト以外で扱うコンテキストを次行以降に記載します
bindport=5062      ; sipのポートを指定します。通常は5060で、この場合は記述省略可
bindaddr=0.0.0.0  ; sipのIPアドレスで 0.0.0.0 はすべてのアドレスを許可の意味
language=ja         ; 言語は日本語を使用する指定です
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 のように記述
   しても構いません。
  ※ コーデックは、一般には上の3つを指定しておけば、問題ありません。
   sipのセッション確立時にお互いのコーデックを何にするかを決めています。
   ほかにも例えば、opus なんていま最強といわれるコーデックもありますが、
   残念ながら、まだメジャーではありませんので、相手合ってのことで、
   実際的に使われず、結局、μ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は中継しません

  ※ パスワードは、乗っ取りなどの防止のため、できる限り長い(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」は任意のSIPサーバー名になります。この名前は、extensions.conf で
発信時の sip サーバーの指定に使います。
その後の番号「200」は、エクステンション番号といい、extensions.conf の中で紐付きます。記載しない場合は、特殊なエクステンション番号「s」と結び付きます。


続く



0 件のコメント: