匿名

差分

Asterisk+NVR500

3,981 バイト追加, 2024年11月13日 (水) 17:35
編集の要約なし
AsteriskとNVR500を組み合わせて使おうという計画。[[カテゴリ:Asterisk]][[カテゴリ:pjsip]][[カテゴリ:ひかり電話]][[カテゴリ:ヤマハ]] AsteriskとNVR500を組み合わせて、ひかり電話で使おうという計画。<br>
=大前提の注意!=
・このページではAsterisk、ヤマハ NVR500、ひかり電話を組み合わせます<br>
Asteriskの設定ファイルのベースは [[Asterisk_20_サンプル設定ファイル]]<br>
NVR500 Rev.11.00.43<br>
===参考===
NVR500でなくともRTXシリーズでSIP-NATが使える機種ならば同様の設定でひかり電話に収容してAsteriskが動作できます。<br>
ただしRTX系はアナログポートを持たないのでAsteriskのATA代わりに使用することはできません。
=目論見=
| +----[IP Phone]内線
|
| Asteriskの内線(ATAとして動作)
+--analog---[phone/fax]
NVR500はいい加減古いのですが、この使い方ならAsteriskを活用できそうですし、市場では中古で安いのが出回っているのでAsteriskで遊びたい向きには最適です。この先、アナログ搭載の新製品は出なさそうな気もしますし。おそらくですがNVR510も同じ方法で使えると思います。<br>
余談ですが中古でNVR500買った方が新品のATA買うより安いし、DP対応してるしでATA買うよりこっちの方がいいんじゃ?<br>
※もしかしてNVR500をB2BUAみたいに使う手段ってあります?知ってる人がいたら教えてください。<br><br>最終的にこういう接続になります。 ===光回線===[ONU]---[NVR500]-----[Asterisk Server] LAN2 <**PPPoE**>NAT(masquarade) Internet <**DHCP**>NAT/SIP-NAT ひかり電話Asteriskが入っているサーバはインターネット接続も、ひかり電話接続もNVR500に対して投げる/受けるかたちとなります。
=ひかり電話情報の取得=
SIPは使うに設定します。アナログポート関連の設定は後で。
# sip use on
==セキュリティ関連情報==
ここで解説している設定でAsteriskはNVR500の『後ろ』にあるものとしています。インターネット接続もNAT(マスカレード)で接続しているものとしています。グローバルIPアドレスを固定し、Asteriskをインターネット側に出しているような場合には以下の点に注意してください。
*ヤマハのSIP-NATは5060ポート固定のため5060番のトランスポートを開けています
*Asteriskが5060を「開けて」いるため固定IP(グローバル)で外に出していると外から5060が見えます
*5060を外から使用しない場合にはPPに対して5060ブロックフィルタを用いてください
通常のインターネット接続でNATを使用している場合、AsteriskはPPのNATビハインドにあるので通常は注意する必要はありません。ですが、外->内に対して5060を静的マスカレードしている場合にはSIPに対するセキュリティを施してください。もっともこの構成を従前から使用している場合には対策済みかと思います。<br>
LAN2のDHCPで取得したIPアドレスは、ひかり電話のIPアドレスのため、このアドレスに到達できるのは、ひかり電話からだけです。このため、それ以外の外(インターネット等)からは到達できませんので通常は対策不要のはずです。PPのアドレスとLAN2のDHCPアドレスは関係ありません(関係しないので明示的に経路を設定しました)。
=Asterisk(PJSIP)の設定=
==IDENTIFY==
identifyはIPアドレスだけなのでシンプルです。
[hikari-nvr]
type = identify
endpoint = hikari-nvr
match = 取得したSIPサーバのアドレス
 
==REGISTER==
認証情報は不要なので単にREGISTERするだけです。
==ENDPOINT==
endpointではSIP 5060のトランスポートを明示指定します。contextは着信用(incoming)にしてあります。DTMFモードはinbandです。認証情報が無いのでこちらもシンプルです。
[hikari-nvr]
type = endpoint
from_domain = 取得したSIPドメイン
aors = hikari-nvr
 
==/etc/hosts==
Asteriskの設定ファイルではありませんが、名前解決に使用します。libunbound付の場合には/etc/hostsに以下のようなエントリを書きます。
取得したSIPサーバのIPアドレス 取得したSIPドメイン
インターネット接続にNVR500を使用し、NVR500をDNSサーバとして使っている場合(まあこの場合が多いのでしょうが)にはNVR500にDNSエントリとして登録すればlinunboundなしでも使えると思います。にはNVR500にDNSエントリとして登録すればlinunboundなしでも使えると思います。例えば dns static a 取得したドメイン SIPサーバのIPアドレスのようにNVR500に登録すれば、DNSサーバとしてNVR500を使用することでlibunboundなしでも解決できると思います。
==pjsip.conf==
Objects found: 1
こんな感じでRegisterdになっていればOKです。<br><br>何をやったかというと、こういうことで ひかり電話 =====[ONU]-----[NVR500]-----[Asterisk] NAT/SIP-NAT <--------------------NVR500のひかり電話機能を使わず、NATとSIP-NATを使ってLAN内のAsteriskをひかり電話のネットワークへ出した(IPv4)わけです。
=発着信=
inbound_auth/password = c1a0e843d15fb8c9c6067fc099a302d5
aor/qualify_frequency = 0
各ポート毎に1エンドポイントになるので、それぞれ設定してください。NVR500の各FXSポート毎に1エンドポイントになるので、それぞれ設定してください。<br>細かいところはまだ設定を十分にみていませんが、以下のような設定でアナログでの発着信ができます。細かいところはまだ設定を十分にみていませんが、以下のような設定でAsteriskの内線としてアナログでの発着信ができます。なお、サンプル設定ファイルを使っている場合には内線番号はAsterisk側で設定することをお忘れなく。
analog supplementary-service pseudo call-waiting
analog extension dial prefix port=1 sip server=20001
こんな感じでPJSIPのcontactsに各エンドポイントが表示されるはずです。hikari-nvrがトランク、phone1は普通の電話機(ソフトフォン)、phone4がNVR500のアナログポート1です。
 
=そんなこんなで=
この接続方法には前日談があります。[https://note.com/tsq/n/n54ffb5edf451 たかはしのnote] に書いてありますので詳しい話はそちらで。<br>
もともとRTX+Asteriskでやってたのですが、NVR500を使っている人も少なくないのでは?というのとNVR500のアナログ(FXS)ポートが活用できるはずということで試してみたわけです。