|
|
(10人の利用者による、間の70版が非表示) |
1行目: |
1行目: |
| + | [[Category:Asterisk]] |
| + | [[Category:パッチ]] |
| + | [[Category:ひかり電話]] |
| NTT東日本のひかり電話対応ルータ RT-200NE をAsteriskで使用するためのパッチです。<br> | | NTT東日本のひかり電話対応ルータ RT-200NE をAsteriskで使用するためのパッチです。<br> |
| なお、RT-200NEを使用しない場合には、このパッチを適用する必要はありません。 | | なお、RT-200NEを使用しない場合には、このパッチを適用する必要はありません。 |
− | ==ダウンロード== | + | =古いため完全に廃止しました= |
− | *Asterisk 1.2系
| |
− | : ftp://ftp.voip-info.jp/asterisk/patch/local/channels/chan_sip.c.rt200ne.070417-01.patch
| |
− | Asterisk 1.2.7~1.2.17 で使用可能です。<br>
| |
− | *Asterisk 1.4系
| |
− | :製作中
| |
− | ==パッチ方法==
| |
− | Asteriskのソースディレクトリにダウンロードし
| |
− | # patch -p0 < パッチファイル
| |
− | で、実行してください。パッチファイルはソースのベースディレクトリからの差分になっています。
| |
− | ==使用方法==
| |
− | sip.confの[general]セクションにRT-200NEのIPアドレスを書きます。
| |
− | rt200ne=192.168.0.1
| |
− | 複数台のRT-200NEを接続する場合には次のように複数行で書きます。
| |
− | rt200ne=192.168.0.1
| |
− | rt200ne=192.168.0.2
| |
− | rt200ne=192.168.0.3
| |
− | なおデフォルトでは最大、4台までのRT-200NEが登録可能です。この数を増やすにはMAX_RT200NEの数値を増やしてmakeしなおしてください。資源節約のため、この値はコンパイル時オプションです。<br>
| |
− | Expireyは現在のところ以下のように3600で指定しています。
| |
− | maxexpirey=3600
| |
− | defaultexpirey=3600
| |
− | REGISTERは普通に書きます。
| |
− | ;RT-200NE
| |
− | register => 内線番号:パスワード:ユーザID@192.168.0.1/exten
| |
− | 例えばこんな感じです。
| |
− | register => 3:pass:0003@192.168.0.1/1000
| |
− | なおAsteriskを登録する内線番号の端末属性はRT-200NE側で「音声端末」に設定しておく必要があります。
| |
− | | |
− | RT-200NE用のセクションは次の例を参考にしてください(要らないものもあるかも)。<br>
| |
− | insecure=veryは発信者番号を通知してこない相手からの接続を受け付けるのに必要なはずです。
| |
− | [192.168.0.1]
| |
− | type=friend
| |
− | secret=pass
| |
− | Port=5060
| |
− | username=0003
| |
− | fromuser=3
| |
− | host=192.168.0.1
| |
− | contexet=default
| |
− | insecure=very
| |
− | dtmfmode=inband
| |
− | canreinvite=no
| |
− | disallow=all
| |
− | allow=ulaw
| |
− | pickupgroup=1
| |
− | RT-200NEが複数台ある場合には、それぞれのIPアドレスについてセクションを作成してください。
| |
− | | |
− | ダイアルするにはextensions.confに以下のように記述します(0で始まる場合は、ひかり電話でダイアルする例)。
| |
− | exten => _0.,1,Set(CALLERID(num)=03xxxxxxxx)
| |
− | exten => _0.,2,Set(CALLERID(name)=03xxxxxxxx)
| |
− | exten => _0.,3,Dial(SIP/${EXTEN}@192.168.0.1,60,T)
| |
− | 念のためCaller IDを自分のひかり電話番号に設定していますが、これは要らないかもしれません。
| |
− | ===マイナンバー(複数番号)を使用する場合===
| |
− | どの番号に着信したかを知る方法はSIPのヘッダを見ることでも可能ですが、RT-200NE側が着信番号を特定の端末(アナログでもIPでも)に縛るのを利用すると、Asteriskは複数の端末としてRT-200NEに対してRegisterすることで複数番号で別な処理を走らせることができます。
| |
− | -----sip.conf
| |
− | ;RT-200NE-1
| |
− | register => 内線番号1個目:パスワード1個目:ユーザID1個目@rt200ne-1/1番目の着信exten
| |
− | ;RT-200NE-2
| |
− | register => 内線番号2個目:パスワード2個目:ユーザID2個目@rt200ne-2/2番目の着信exten
| |
− | 内線番号やユーザ名はRT-200NEに登録したそれぞれ「別な」IP端末のものを指定します。
| |
− | | |
− | それぞれのセクションをsip.confに記述します。
| |
− | [rt200ne-1]
| |
− | type=friend
| |
− | secret=パスワード1個目
| |
− | username=ユーザID1個目
| |
− | fromuser=内線番号1個目
| |
− | fromdomain=192.168.0.1
| |
− | host=192.168.0.1
| |
− | contexet=default
| |
− | insecure=very
| |
− | dtmfmode=inband
| |
− | canreinvite=no
| |
− | disallow=all
| |
− | allow=ulaw
| |
− | pickupgroup=1
| |
− |
| |
− | [rt200ne-2]
| |
− | type=friend
| |
− | secret=パスワード2個目
| |
− | username=ユーザID2個目
| |
− | fromuser=内線番号2個目
| |
− | fromdomain=192.168.0.1
| |
− | host=192.168.0.1
| |
− | contexet=default
| |
− | insecure=very
| |
− | dtmfmode=inband
| |
− | canreinvite=no
| |
− | disallow=all
| |
− | allow=ulaw
| |
− | pickupgroup=1
| |
− | この場合にはfromdomainを付けないとregisterできません。<br>
| |
− | 着信extenの書き方は通常通りです。先のregister=>で別な着信用extenを指定しておけばいいだけです。
| |
− | 発信する場合にはそれぞれの番号に対応する内線(SIPピア)からダイアルします。発信者番号に何を通知するかの指定がRT-200NEでしかできないためです。<br>
| |
− | 1個目の番号から発信するならば
| |
− | Dial(SIP/${EXTEN}@rt200ne-1)
| |
− | 2個目の番号から発信するならば
| |
− | Dial(SIP/${EXTEN}@rt200ne-2)
| |
− | のようにしてそれぞれの内線から発信を実行する必要があります。
| |
− | この方法で、マイナンバーで5番号を取り、それを全部Asteriskで使用する場合には、Asteriskが5つの内線としてregisterする必要があるためRT-200NEのアナログポートは使えなくなります。
| |
− | ===しくみ===
| |
− | rt200ne= に設定したIPアドレスとピアのIPアドレスが一致した場合、URIを組み立てなおします。rt200ne= に一致しないアドレスに関してはURIを組み立て直さないためRT-200NE以外のSIPチャネルには影響を与えない「はず」です。
| |
− | 最初[general]のところでパラメータ名を複数指定するのにスマートな方法がないので悩んでたんですが、Asteriskのパラメータ取り込み構造上、同じ名前でエントリを複数書くと次々と取り込まれるので、内部の配列に書き込んでいけばよかったわけでして。
| |
− | ==CLIコマンド==
| |
− | CLIコマンドに sip show rt200neが追加されています。
| |
− | *CLI> sip show rt200ne
| |
− | RT-200NE at ..
| |
− | - 192.168.0.1
| |
− | - 192.168.0.2
| |