「RT-200NE対応パッチ」の版間の差分
細 (→ダウンロード) |
(→ダウンロード) |
||
10行目: | 10行目: | ||
*Asterisk 1.4系 | *Asterisk 1.4系 | ||
:- Asterisk 1.4.0 (注:Asterisk 1.4.0でのみ使用可能) | :- Asterisk 1.4.0 (注:Asterisk 1.4.0でのみ使用可能) | ||
+ | : ftp://ftp.voip-info.jp/asterisk/patch/local/1.4/channels/chan_sip.c.rt200ne.070417-00.patch | ||
+ | :- Asterisk 1.4.1 (注:Asterisk 1.4.1でのみ使用可能) | ||
: ftp://ftp.voip-info.jp/asterisk/patch/local/1.4/channels/chan_sip.c.rt200ne.070417-01.patch | : ftp://ftp.voip-info.jp/asterisk/patch/local/1.4/channels/chan_sip.c.rt200ne.070417-01.patch | ||
− | :- Asterisk 1.4. | + | :- Asterisk 1.4.2 |
: ftp://ftp.voip-info.jp/asterisk/patch/local/1.4/channels/chan_sip.c.rt200ne.070417-02.patch | : ftp://ftp.voip-info.jp/asterisk/patch/local/1.4/channels/chan_sip.c.rt200ne.070417-02.patch | ||
− | |||
− | |||
==パッチ方法== | ==パッチ方法== |
2007年4月17日 (火) 10:15時点における版
NTT東日本のひかり電話対応ルータ RT-200NE をAsteriskで使用するためのパッチです。
なお、RT-200NEを使用しない場合には、このパッチを適用する必要はありません。
ダウンロード
- Asterisk 1.2系
- ftp://ftp.voip-info.jp/asterisk/patch/local/1.2/channels/chan_sip.c.rt200ne.070417-01.patch
- Asterisk 1.2.7~1.2.17 で使用可能です。
- Asterisk 1.4系
- - Asterisk 1.4.0 (注:Asterisk 1.4.0でのみ使用可能)
- ftp://ftp.voip-info.jp/asterisk/patch/local/1.4/channels/chan_sip.c.rt200ne.070417-00.patch
- - Asterisk 1.4.1 (注:Asterisk 1.4.1でのみ使用可能)
- ftp://ftp.voip-info.jp/asterisk/patch/local/1.4/channels/chan_sip.c.rt200ne.070417-01.patch
- - Asterisk 1.4.2
- ftp://ftp.voip-info.jp/asterisk/patch/local/1.4/channels/chan_sip.c.rt200ne.070417-02.patch
パッチ方法
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しなおしてください。資源節約のため、この値はコンパイル時オプションです。
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用のセクションは次の例を参考にしてください(要らないものもあるかも)。
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できません。
着信extenの書き方は通常通りです。先のregister=>で別な着信用extenを指定しておけばいいだけです。
発信する場合にはそれぞれの番号に対応する内線(SIPピア)からダイアルします。発信者番号に何を通知するかの指定がRT-200NEでしかできないためです。
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