<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>http://www.voip-info.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pin+ptr</id>
	<title>VoIP-Info.jp - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="http://www.voip-info.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pin+ptr"/>
	<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Pin_ptr"/>
	<updated>2026-04-09T23:13:46Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9929</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9929"/>
		<updated>2017-11-17T21:55:18Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: /* おまけ:IPv6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Asteriskのインストール ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れていて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
== ひかり電話直収 ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
=== 接続 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NTT東日本| -------- |壁| -- |VDSLモデム| -- |Raspberry Pi3| -- |KX-UT123N|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# 既存の dhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 7;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
=== ntt.conf ===&lt;br /&gt;
&lt;br /&gt;
dhclientが起動するスクリプトからasteriskの設定を作る。&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [ &amp;quot;eth0&amp;quot; = &amp;quot;$interface&amp;quot; ]; then&lt;br /&gt;
        case $reason in&lt;br /&gt;
                BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                        domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                        number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                        is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                        server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                        if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]; then&lt;br /&gt;
                                cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                                sed \&lt;br /&gt;
                                        -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                        &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                                service asterisk reload&lt;br /&gt;
                        fi&lt;br /&gt;
                        ;;&lt;br /&gt;
&lt;br /&gt;
                EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                        cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                        ;;&lt;br /&gt;
        esac&lt;br /&gt;
fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[general]&lt;br /&gt;
(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[201]&lt;br /&gt;
(略)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 結果 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;eri*CLI&amp;gt; sip show registry&lt;br /&gt;
Host                                    dnsmgr Username       Refresh State                Reg.Time&lt;br /&gt;
xxx.xxx.xxx.x:5060                      N      0xxxxxxxxx@n      3585 Registered           Tue, 04 Apr 2017 04:55:15&lt;br /&gt;
1 SIP registrations.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== おまけ:IPv6 ===&lt;br /&gt;
&lt;br /&gt;
116に電話したらRAにprefixが含まれなくなった。タイプ2に移行されたらしい。タイプ2ではDHCPv6-PDが使えるようになる。&lt;br /&gt;
&lt;br /&gt;
client-idは -D LL を指定してdhclientを起動していればいらないと思いきや、うっかりleaseファイルからDUID-LLTを読んでしまうと困るので書いておく。&lt;br /&gt;
&lt;br /&gt;
* dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
option space my-vsio code width 4 length width 2 hash size 3;&lt;br /&gt;
option my-vsio.ntt6 code 210 = string;&lt;br /&gt;
option dhcp6.my-vendor-opts code 16 = encapsulate my-vsio;&lt;br /&gt;
&lt;br /&gt;
option space ntt6 code width 2 length width 2 hash size 7;&lt;br /&gt;
option ntt6.mac      code 201 = string;&lt;br /&gt;
option ntt6.number   code 202 = text;&lt;br /&gt;
option ntt6.domain   code 204 = domain-list;&lt;br /&gt;
option ntt6.firmware code 210 = domain-list;&lt;br /&gt;
option vsio.ntt6 code 210 = encapsulate ntt6;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
&lt;br /&gt;
  send dhcp6.client-id = concat(00:03:00, hardware);&lt;br /&gt;
  also request dhcp6.name-servers, dhcp6.domain-search, dhcp6.sntp-servers, dhcp6.sip-servers-addresses, dhcp6.vendor-opts;&lt;br /&gt;
  send my-vsio.ntt6 = suffix(hardware, 6);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interfaces&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
iface eth0 inet6 manual&lt;br /&gt;
    # (upでip -6 address show dev eth0 の結果がtentativeでなくなるのを待って)&lt;br /&gt;
    # (upでNGNの経路を足す)&lt;br /&gt;
    up /sbin/dhclient -1 -6 -P -D LL -pf /run/dhclient6.eth0.pid -lf /var/lib/dhcp/dhclient6.eth0.leases -I -df /var/lib/dhcp/dhclient.eth0.leases eth0&lt;br /&gt;
    pre-down /sbin/dhclient -r -pf /run/dhclient6.eth0.pid eth0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと /var/lib/dhcp/dhclient6.eth0.leases にIPv4のものと同等の情報が入る。&lt;br /&gt;
&lt;br /&gt;
IPv6のSIPサーバは REGISTER にも OPTIONS にも応答しない。技術参考資料に&lt;br /&gt;
 登録時にはIPv4を用いてSIP信号の送受信を行ってください。&lt;br /&gt;
とある通り、&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
REGISTER sip:ntt-east.ne.jp SIP/2.0&lt;br /&gt;
(略)&lt;br /&gt;
Contact: &amp;lt;sip:XXXXXXXXXXXX@XXX.XXX.XXX.XXX:5060&amp;gt;&lt;br /&gt;
Contact: &amp;lt;sip:XXXXXXXXXXXX@[2408:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX]:5060&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
のような Contact の2個ついた REGISTER を送りつければいいようだけど、 Asterisk でこれはできないですね。&lt;br /&gt;
&lt;br /&gt;
== OCNドットフォン ==&lt;br /&gt;
&lt;br /&gt;
月額300円(税抜き)必要かと思いきや、OCNマイページに月額無料プランが隠されている。&lt;br /&gt;
年に一度でもナビダイヤルにかけることがあればユニバーサルサービス料の元は取れるはず。&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
register =&amp;gt; 050XXXXXXXX@ocn.ne.jp:XXXPASSWORDXXX:XXXUSERNAMEXXX@voip-XXXXXX.ocn.ne.jp/050XXXXXXXX&lt;br /&gt;
&lt;br /&gt;
[ocn]&lt;br /&gt;
defaultuser=XXXUSERNAMEXXX&lt;br /&gt;
remotesecret=XXXPASSWORDXXX&lt;br /&gt;
type=peer&lt;br /&gt;
context=from-ocn&lt;br /&gt;
host=voip-XXXXXX.ocn.ne.jp&lt;br /&gt;
fromuser=050XXXXXXXX&lt;br /&gt;
fromdomain=ocn.ne.jp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* extensions.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[select-itsp]&lt;br /&gt;
exten =&amp;gt; _0033.,1,Goto(call-ocn,${EXTEN:4},1)&lt;br /&gt;
exten =&amp;gt; _0036.,1,Goto(call-ntt,${EXTEN:4},1)&lt;br /&gt;
&lt;br /&gt;
exten =&amp;gt; _11X,1,Goto(call-ntt,${EXTEN},1)&lt;br /&gt;
exten =&amp;gt; _050.,1,Goto(call-ocn,${EXTEN},1)&lt;br /&gt;
exten =&amp;gt; _0570.,1,Goto(call-ocn,${EXTEN},1)&lt;br /&gt;
exten =&amp;gt; _X.,1,Goto(call-ntt,${EXTEN},1)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
たぶん意図した通りに動いていると思う。&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9887</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9887"/>
		<updated>2017-07-12T19:32:00Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Asteriskのインストール ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れていて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
== ひかり電話直収 ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
=== 接続 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NTT東日本| -------- |壁| -- |VDSLモデム| -- |Raspberry Pi3| -- |KX-UT123N|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# 既存の dhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 7;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
=== ntt.conf ===&lt;br /&gt;
&lt;br /&gt;
dhclientが起動するスクリプトからasteriskの設定を作る。&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [ &amp;quot;eth0&amp;quot; = &amp;quot;$interface&amp;quot; ]; then&lt;br /&gt;
        case $reason in&lt;br /&gt;
                BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                        domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                        number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                        is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                        server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                        if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]; then&lt;br /&gt;
                                cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                                sed \&lt;br /&gt;
                                        -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                        &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                                service asterisk reload&lt;br /&gt;
                        fi&lt;br /&gt;
                        ;;&lt;br /&gt;
&lt;br /&gt;
                EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                        cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                        ;;&lt;br /&gt;
        esac&lt;br /&gt;
fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[general]&lt;br /&gt;
(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[201]&lt;br /&gt;
(略)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 結果 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;eri*CLI&amp;gt; sip show registry&lt;br /&gt;
Host                                    dnsmgr Username       Refresh State                Reg.Time&lt;br /&gt;
xxx.xxx.xxx.x:5060                      N      0xxxxxxxxx@n      3585 Registered           Tue, 04 Apr 2017 04:55:15&lt;br /&gt;
1 SIP registrations.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== おまけ:IPv6 ===&lt;br /&gt;
&lt;br /&gt;
116に電話したらRAにprefixが含まれなくなった。タイプ2に移行されたらしい。タイプ2ではDHCPv6-PDが使えるようになる。&lt;br /&gt;
&lt;br /&gt;
client-idは -D LL を指定してdhclientを起動していればいらないと思いきや、うっかりleaseファイルからDUID-LLTを読んでしまうと困るので書いておく。&lt;br /&gt;
&lt;br /&gt;
* dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
option space my-vsio code width 4 length width 2 hash size 3;&lt;br /&gt;
option my-vsio.ntt6 code 210 = string;&lt;br /&gt;
option dhcp6.my-vendor-opts code 16 = encapsulate my-vsio;&lt;br /&gt;
&lt;br /&gt;
option space ntt6 code width 2 length width 2 hash size 7;&lt;br /&gt;
option ntt6.mac      code 201 = string;&lt;br /&gt;
option ntt6.number   code 202 = text;&lt;br /&gt;
option ntt6.domain   code 204 = domain-list;&lt;br /&gt;
option ntt6.firmware code 210 = domain-list;&lt;br /&gt;
option vsio.ntt6 code 210 = encapsulate ntt6;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
&lt;br /&gt;
  send dhcp6.client-id = concat(00:03:00, hardware);&lt;br /&gt;
  also request dhcp6.name-servers, dhcp6.domain-search, dhcp6.sntp-servers, dhcp6.sip-servers-addresses, dhcp6.vendor-opts;&lt;br /&gt;
  send my-vsio.ntt6 = suffix(hardware, 6);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interfaces&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
iface eth0 inet6 manual&lt;br /&gt;
    # (upでip -6 address show dev eth0 の結果がtentativeでなくなるのを待って)&lt;br /&gt;
    # (upでNGNの経路を足す)&lt;br /&gt;
    up /sbin/dhclient -1 -6 -P -D LL -pf /run/dhclient6.eth0.pid -lf /var/lib/dhcp/dhclient6.eth0.leases -I -df /var/lib/dhcp/dhclient.eth0.leases eth0&lt;br /&gt;
    pre-down /sbin/dhclient -r -pf /run/dhclient6.eth0.pid eth0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと /var/lib/dhcp/dhclient6.eth0.leases にIPv4のものと同等の情報が入る。&lt;br /&gt;
&lt;br /&gt;
IPv6のSIPサーバは REGISTER にも OPTIONS にも応答しない。技術参考資料には&lt;br /&gt;
 登録時にはIPv4を用いてSIP信号の送受信を行ってください。&lt;br /&gt;
とあるので、&lt;br /&gt;
 Contact: &amp;lt;sip:0XXXXXXXXX@[2408:...]:5060&amp;gt;&lt;br /&gt;
なREGISTERをIPv4のSIPサーバに送り付ければよいのかもしれない。(試せていない)&lt;br /&gt;
&lt;br /&gt;
== OCNドットフォン ==&lt;br /&gt;
&lt;br /&gt;
月額300円(税抜き)必要かと思いきや、OCNマイページに月額無料プランが隠されている。&lt;br /&gt;
年に一度でもナビダイヤルにかけることがあればユニバーサルサービス料の元は取れるはず。&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
register =&amp;gt; 050XXXXXXXX@ocn.ne.jp:XXXPASSWORDXXX:XXXUSERNAMEXXX@voip-XXXXXX.ocn.ne.jp/050XXXXXXXX&lt;br /&gt;
&lt;br /&gt;
[ocn]&lt;br /&gt;
defaultuser=XXXUSERNAMEXXX&lt;br /&gt;
remotesecret=XXXPASSWORDXXX&lt;br /&gt;
type=peer&lt;br /&gt;
context=from-ocn&lt;br /&gt;
host=voip-XXXXXX.ocn.ne.jp&lt;br /&gt;
fromuser=050XXXXXXXX&lt;br /&gt;
fromdomain=ocn.ne.jp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* extensions.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[select-itsp]&lt;br /&gt;
exten =&amp;gt; _0033.,1,Goto(call-ocn,${EXTEN:4},1)&lt;br /&gt;
exten =&amp;gt; _0036.,1,Goto(call-ntt,${EXTEN:4},1)&lt;br /&gt;
&lt;br /&gt;
exten =&amp;gt; _11X,1,Goto(call-ntt,${EXTEN},1)&lt;br /&gt;
exten =&amp;gt; _050.,1,Goto(call-ocn,${EXTEN},1)&lt;br /&gt;
exten =&amp;gt; _0570.,1,Goto(call-ocn,${EXTEN},1)&lt;br /&gt;
exten =&amp;gt; _X.,1,Goto(call-ntt,${EXTEN},1)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
たぶん意図した通りに動いていると思う。&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9886</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9886"/>
		<updated>2017-07-12T19:30:21Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ひかり電話直収 ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
=== 接続 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NTT東日本| -------- |壁| -- |VDSLモデム| -- |Raspberry Pi3| -- |KX-UT123N|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# 既存の dhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 7;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
=== Asterisk ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れていて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
=== ntt.conf ===&lt;br /&gt;
&lt;br /&gt;
dhclientが起動するスクリプトからasteriskの設定を作る。&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [ &amp;quot;eth0&amp;quot; = &amp;quot;$interface&amp;quot; ]; then&lt;br /&gt;
        case $reason in&lt;br /&gt;
                BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                        domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                        number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                        is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                        server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                        if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]; then&lt;br /&gt;
                                cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                                sed \&lt;br /&gt;
                                        -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                        &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                                service asterisk reload&lt;br /&gt;
                        fi&lt;br /&gt;
                        ;;&lt;br /&gt;
&lt;br /&gt;
                EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                        cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                        ;;&lt;br /&gt;
        esac&lt;br /&gt;
fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[general]&lt;br /&gt;
(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[201]&lt;br /&gt;
(略)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 結果 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;eri*CLI&amp;gt; sip show registry&lt;br /&gt;
Host                                    dnsmgr Username       Refresh State                Reg.Time&lt;br /&gt;
xxx.xxx.xxx.x:5060                      N      0xxxxxxxxx@n      3585 Registered           Tue, 04 Apr 2017 04:55:15&lt;br /&gt;
1 SIP registrations.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== おまけ:IPv6 ===&lt;br /&gt;
&lt;br /&gt;
116に電話したらRAにprefixが含まれなくなった。タイプ2に移行されたらしい。タイプ2ではDHCPv6-PDが使えるようになる。&lt;br /&gt;
&lt;br /&gt;
client-idは -D LL を指定してdhclientを起動していればいらないと思いきや、うっかりleaseファイルからDUID-LLTを読んでしまうと困るので書いておく。&lt;br /&gt;
&lt;br /&gt;
* dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
option space my-vsio code width 4 length width 2 hash size 3;&lt;br /&gt;
option my-vsio.ntt6 code 210 = string;&lt;br /&gt;
option dhcp6.my-vendor-opts code 16 = encapsulate my-vsio;&lt;br /&gt;
&lt;br /&gt;
option space ntt6 code width 2 length width 2 hash size 7;&lt;br /&gt;
option ntt6.mac      code 201 = string;&lt;br /&gt;
option ntt6.number   code 202 = text;&lt;br /&gt;
option ntt6.domain   code 204 = domain-list;&lt;br /&gt;
option ntt6.firmware code 210 = domain-list;&lt;br /&gt;
option vsio.ntt6 code 210 = encapsulate ntt6;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
&lt;br /&gt;
  send dhcp6.client-id = concat(00:03:00, hardware);&lt;br /&gt;
  also request dhcp6.name-servers, dhcp6.domain-search, dhcp6.sntp-servers, dhcp6.sip-servers-addresses, dhcp6.vendor-opts;&lt;br /&gt;
  send my-vsio.ntt6 = suffix(hardware, 6);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interfaces&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
iface eth0 inet6 manual&lt;br /&gt;
    # (upでip -6 address show dev eth0 の結果がtentativeでなくなるのを待って)&lt;br /&gt;
    # (upでNGNの経路を足す)&lt;br /&gt;
    up /sbin/dhclient -1 -6 -P -D LL -pf /run/dhclient6.eth0.pid -lf /var/lib/dhcp/dhclient6.eth0.leases -I -df /var/lib/dhcp/dhclient.eth0.leases eth0&lt;br /&gt;
    pre-down /sbin/dhclient -r -pf /run/dhclient6.eth0.pid eth0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと /var/lib/dhcp/dhclient6.eth0.leases にIPv4のものと同等の情報が入る。&lt;br /&gt;
&lt;br /&gt;
IPv6のSIPサーバは REGISTER にも OPTIONS にも応答しない。技術参考資料には&lt;br /&gt;
 登録時にはIPv4を用いてSIP信号の送受信を行ってください。&lt;br /&gt;
とあるので、&lt;br /&gt;
 Contact: &amp;lt;sip:0XXXXXXXXX@[2408:...]:5060&amp;gt;&lt;br /&gt;
なREGISTERをIPv4のSIPサーバに送り付ければよいのかもしれない。(試せていない)&lt;br /&gt;
&lt;br /&gt;
== OCNドットフォン ==&lt;br /&gt;
&lt;br /&gt;
月額300円(税抜き)必要かと思いきや、OCNマイページに月額無料プランが隠されている。&lt;br /&gt;
年に一度でもナビダイヤルにかけることがあればユニバーサルサービス料の元は取れるはず。&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
register =&amp;gt; 050XXXXXXXX@ocn.ne.jp:XXXPASSWORDXXX:XXXUSERNAMEXXX@voip-XXXXXX.ocn.ne.jp/050XXXXXXXX&lt;br /&gt;
&lt;br /&gt;
[ocn]&lt;br /&gt;
defaultuser=XXXUSERNAMEXXX&lt;br /&gt;
remotesecret=XXXPASSWORDXXX&lt;br /&gt;
type=peer&lt;br /&gt;
context=from-ocn&lt;br /&gt;
host=voip-XXXXXX.ocn.ne.jp&lt;br /&gt;
fromuser=050XXXXXXXX&lt;br /&gt;
fromdomain=ocn.ne.jp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* extensions.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[select-itsp]&lt;br /&gt;
exten =&amp;gt; _0033.,1,Goto(call-ocn,${EXTEN:4},1)&lt;br /&gt;
exten =&amp;gt; _0036.,1,Goto(call-ntt,${EXTEN:4},1)&lt;br /&gt;
&lt;br /&gt;
exten =&amp;gt; _11X,1,Goto(call-ntt,${EXTEN},1)&lt;br /&gt;
exten =&amp;gt; _050.,1,Goto(call-ocn,${EXTEN},1)&lt;br /&gt;
exten =&amp;gt; _0570.,1,Goto(call-ocn,${EXTEN},1)&lt;br /&gt;
exten =&amp;gt; _X.,1,Goto(call-ntt,${EXTEN},1)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
たぶん意図した通りに動いていると思う。&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9879</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9879"/>
		<updated>2017-05-28T03:08:09Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ひかり電話直収 ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
=== 接続 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NTT東日本| -------- |壁| -- |VDSLモデム| -- |Raspberry Pi3| -- |KX-UT123N|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# 既存の dhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 7;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
=== Asterisk ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れていて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
=== ntt.conf ===&lt;br /&gt;
&lt;br /&gt;
dhclientが起動するスクリプトからasteriskの設定を作る。&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [ &amp;quot;eth0&amp;quot; = &amp;quot;$interface&amp;quot; ]; then&lt;br /&gt;
        case $reason in&lt;br /&gt;
                BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                        domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                        number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                        is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                        server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                        if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]; then&lt;br /&gt;
                                cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                                sed \&lt;br /&gt;
                                        -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                        &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                                service asterisk reload&lt;br /&gt;
                        fi&lt;br /&gt;
                        ;;&lt;br /&gt;
&lt;br /&gt;
                EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                        cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                        ;;&lt;br /&gt;
        esac&lt;br /&gt;
fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[general]&lt;br /&gt;
(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[201]&lt;br /&gt;
(略)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 結果 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;eri*CLI&amp;gt; sip show registry&lt;br /&gt;
Host                                    dnsmgr Username       Refresh State                Reg.Time&lt;br /&gt;
xxx.xxx.xxx.x:5060                      N      0xxxxxxxxx@n      3585 Registered           Tue, 04 Apr 2017 04:55:15&lt;br /&gt;
1 SIP registrations.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== おまけ:IPv6 ===&lt;br /&gt;
&lt;br /&gt;
116に電話したらRAにprefixが含まれなくなった。タイプ2に移行されたらしい。タイプ2ではDHCPv6-PDが使えるようになる。&lt;br /&gt;
&lt;br /&gt;
client-idは -D LL を指定してdhclientを起動していればいらないと思いきや、うっかりleaseファイルからDUID-LLTを読んでしまうと困るので書いておく。&lt;br /&gt;
&lt;br /&gt;
* dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
option space my-vsio code width 4 length width 2 hash size 3;&lt;br /&gt;
option my-vsio.ntt6 code 210 = string;&lt;br /&gt;
option dhcp6.my-vendor-opts code 16 = encapsulate my-vsio;&lt;br /&gt;
&lt;br /&gt;
option space ntt6 code width 2 length width 2 hash size 7;&lt;br /&gt;
option ntt6.mac      code 201 = string;&lt;br /&gt;
option ntt6.number   code 202 = text;&lt;br /&gt;
option ntt6.domain   code 204 = domain-list;&lt;br /&gt;
option ntt6.firmware code 210 = domain-list;&lt;br /&gt;
option vsio.ntt6 code 210 = encapsulate ntt6;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
&lt;br /&gt;
  send dhcp6.client-id = concat(00:03:00, hardware);&lt;br /&gt;
  also request dhcp6.name-servers, dhcp6.domain-search, dhcp6.sntp-servers, dhcp6.sip-servers-addresses, dhcp6.vendor-opts;&lt;br /&gt;
  send my-vsio.ntt6 = suffix(hardware, 6);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interfaces&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
iface eth0 inet6 manual&lt;br /&gt;
    # (upでip -6 address show dev eth0 の結果がtentativeでなくなるのを待って)&lt;br /&gt;
    # (upでNGNの経路を足す)&lt;br /&gt;
    up /sbin/dhclient -1 -6 -P -D LL -pf /run/dhclient6.eth0.pid -lf /var/lib/dhcp/dhclient6.eth0.leases -I -df /var/lib/dhcp/dhclient.eth0.leases eth0&lt;br /&gt;
    pre-down /sbin/dhclient -r -pf /run/dhclient6.eth0.pid eth0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと /var/lib/dhcp/dhclient6.eth0.leases にIPv4のものと同等の情報が入る。&lt;br /&gt;
&lt;br /&gt;
IPv6のSIPサーバは REGISTER にも OPTIONS にも応答しない。技術参考資料には&lt;br /&gt;
 登録時にはIPv4を用いてSIP信号の送受信を行ってください。&lt;br /&gt;
とあるので、&lt;br /&gt;
 Contact: &amp;lt;sip:0XXXXXXXXX@[2408:...]:5060&amp;gt;&lt;br /&gt;
なREGISTERをIPv4のSIPサーバに送り付ければよいのかもしれない。(試せていない)&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9878</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9878"/>
		<updated>2017-05-28T03:07:28Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ひかり電話直収 ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
=== 接続 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NTT東日本| -------- |壁| -- |VDSLモデム| -- |Raspberry Pi3| -- |KX-UT123N|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# 既存の dhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 7;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
=== Asterisk ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れていて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
=== ntt.conf ===&lt;br /&gt;
&lt;br /&gt;
dhclientが起動するスクリプトからasteriskの設定を作る。&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [ &amp;quot;eth0&amp;quot; = &amp;quot;$interface&amp;quot; ]; then&lt;br /&gt;
        case $reason in&lt;br /&gt;
                BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                        domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                        number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                        is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                        server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                        if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]; then&lt;br /&gt;
                                cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                                sed \&lt;br /&gt;
                                        -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                        &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                                service asterisk reload&lt;br /&gt;
                        fi&lt;br /&gt;
                        ;;&lt;br /&gt;
&lt;br /&gt;
                EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                        cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                        ;;&lt;br /&gt;
        esac&lt;br /&gt;
fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[general]&lt;br /&gt;
(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[201]&lt;br /&gt;
(略)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 結果 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;eri*CLI&amp;gt; sip show registry&lt;br /&gt;
Host                                    dnsmgr Username       Refresh State                Reg.Time&lt;br /&gt;
xxx.xxx.xxx.x:5060                      N      0xxxxxxxxx@n      3585 Registered           Tue, 04 Apr 2017 04:55:15&lt;br /&gt;
1 SIP registrations.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== おまけ:IPv6 ===&lt;br /&gt;
&lt;br /&gt;
116に電話したらRAにprefixが含まれなくなった。タイプ2に移行されたらしい。タイプ2ではDHCPv6-PDが使えるようになる。&lt;br /&gt;
&lt;br /&gt;
client-idは -D LL を指定してdhclientを起動していればいらないと思いきや、うっかりleaseファイルからDUID-LLTを読んでしまうと困るので書いておく。&lt;br /&gt;
&lt;br /&gt;
* dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
option space my-vsio code width 4 length width 2 hash size 3;&lt;br /&gt;
option my-vsio.ntt6 code 210 = string;&lt;br /&gt;
option dhcp6.my-vendor-opts code 16 = encapsulate my-vsio;&lt;br /&gt;
&lt;br /&gt;
option space ntt6 code width 2 length width 2 hash size 7;&lt;br /&gt;
option ntt6.mac      code 201 = string;&lt;br /&gt;
option ntt6.number   code 202 = text;&lt;br /&gt;
option ntt6.domain   code 204 = domain-list;&lt;br /&gt;
option ntt6.firmware code 210 = domain-list;&lt;br /&gt;
option vsio.ntt6 code 210 = encapsulate ntt6;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
&lt;br /&gt;
  send dhcp6.client-id = concat(00:03:00, hardware);&lt;br /&gt;
  also request dhcp6.name-servers, dhcp6.domain-search, dhcp6.sntp-servers, dhcp6.sip-servers-addresses, dhcp6.vendor-opts;&lt;br /&gt;
  send my-vsio.ntt6 = suffix(hardware, 6);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interfaces&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
iface eth0 inet6 manual&lt;br /&gt;
    # (pre-upでip -6 address show dev eth0 の結果がtentativeでなくなるのを待って)&lt;br /&gt;
    # (upでNGNの経路を足す)&lt;br /&gt;
    up /sbin/dhclient -1 -6 -P -D LL -pf /run/dhclient6.eth0.pid -lf /var/lib/dhcp/dhclient6.eth0.leases -I -df /var/lib/dhcp/dhclient.eth0.leases eth0&lt;br /&gt;
    pre-down /sbin/dhclient -r -pf /run/dhclient6.eth0.pid eth0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと /var/lib/dhcp/dhclient6.eth0.leases にIPv4のものと同等の情報が入る。&lt;br /&gt;
&lt;br /&gt;
IPv6のSIPサーバは REGISTER にも OPTIONS にも応答しない。技術参考資料には&lt;br /&gt;
 登録時にはIPv4を用いてSIP信号の送受信を行ってください。&lt;br /&gt;
とあるので、&lt;br /&gt;
 Contact: &amp;lt;sip:0XXXXXXXXX@[2408:...]:5060&amp;gt;&lt;br /&gt;
なREGISTERをIPv4のSIPサーバに送り付ければよいのかもしれない。(試せていない)&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9877</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9877"/>
		<updated>2017-05-28T01:14:05Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ひかり電話直収 ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
=== 接続 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NTT東日本| -------- |壁| -- |VDSLモデム| -- |Raspberry Pi3| -- |KX-UT123N|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# 既存の dhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 7;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
=== Asterisk ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れていて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
=== ntt.conf ===&lt;br /&gt;
&lt;br /&gt;
dhclientが起動するスクリプトからasteriskの設定を作る。&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [ &amp;quot;eth0&amp;quot; = &amp;quot;$interface&amp;quot; ]; then&lt;br /&gt;
        case $reason in&lt;br /&gt;
                BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                        domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                        number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                        is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                        server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                        if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]; then&lt;br /&gt;
                                cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                                sed \&lt;br /&gt;
                                        -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                        &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                                service asterisk reload&lt;br /&gt;
                        fi&lt;br /&gt;
                        ;;&lt;br /&gt;
&lt;br /&gt;
                EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                        cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                        ;;&lt;br /&gt;
        esac&lt;br /&gt;
fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[general]&lt;br /&gt;
(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[201]&lt;br /&gt;
(略)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 結果 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;eri*CLI&amp;gt; sip show registry&lt;br /&gt;
Host                                    dnsmgr Username       Refresh State                Reg.Time&lt;br /&gt;
xxx.xxx.xxx.x:5060                      N      0xxxxxxxxx@n      3585 Registered           Tue, 04 Apr 2017 04:55:15&lt;br /&gt;
1 SIP registrations.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== おまけ:IPv6 ===&lt;br /&gt;
&lt;br /&gt;
116に電話したらRAにprefixが含まれなくなった。タイプ2に移行されたらしい。タイプ2ではDHCPv6-PDが使えるようになる。&lt;br /&gt;
&lt;br /&gt;
client-idは -D LL を指定してdhclientを起動していればいらないと思いきや、うっかりleaseファイルからDUID-LLTを読んでしまうと困るので書いておく。&lt;br /&gt;
&lt;br /&gt;
* dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
option space my-vsio code width 4 length width 2 hash size 3;&lt;br /&gt;
option my-vsio.ntt6 code 210 = string;&lt;br /&gt;
option dhcp6.my-vendor-opts code 16 = encapsulate my-vsio;&lt;br /&gt;
&lt;br /&gt;
option space ntt6 code width 2 length width 2 hash size 7;&lt;br /&gt;
option ntt6.mac      code 201 = string;&lt;br /&gt;
option ntt6.number   code 202 = text;&lt;br /&gt;
option ntt6.domain   code 204 = domain-list;&lt;br /&gt;
option ntt6.firmware code 210 = domain-list;&lt;br /&gt;
option vsio.ntt6 code 210 = encapsulate ntt6;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
&lt;br /&gt;
  send dhcp6.ia-pd 1;&lt;br /&gt;
  send dhcp6.client-id = concat(00:03:00, hardware);&lt;br /&gt;
  also request dhcp6.name-servers, dhcp6.domain-search, dhcp6.sntp-servers, dhcp6.sip-servers-addresses, dhcp6.vendor-opts;&lt;br /&gt;
  send my-vsio.ntt6 = suffix(hardware, 6);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interfaces&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
iface eth0 inet6 dhcp&lt;br /&gt;
    # (pre-upでip -6 address show dev eth0 の結果がtentativeでなくなるのを待って)&lt;br /&gt;
    # (upでNGNの経路を足す)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと /var/lib/dhcp/dhclient6.eth0.leases にIPv4のものと同等の情報が入る。&lt;br /&gt;
&lt;br /&gt;
IPv6のSIPサーバは REGISTER にも OPTIONS にも応答しない。技術参考資料には&lt;br /&gt;
 登録時にはIPv4を用いてSIP信号の送受信を行ってください。&lt;br /&gt;
とあるので、&lt;br /&gt;
 Contact: &amp;lt;sip:0XXXXXXXXX@[2408:...]:5060&amp;gt;&lt;br /&gt;
なREGISTERをIPv4のSIPサーバに送り付ければよいのかもしれない。(試せていない)&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9876</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9876"/>
		<updated>2017-05-28T01:12:14Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ひかり電話直収 ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
=== 接続 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NTT東日本| -------- |壁| -- |VDSLモデム| -- |Raspberry Pi3| -- |KX-UT123N|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# 既存の dhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt  code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 3;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  also request ip-sip-servers, vivso;&lt;br /&gt;
&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
=== Asterisk ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れていて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
=== ntt.conf ===&lt;br /&gt;
&lt;br /&gt;
dhclientが起動するスクリプトからasteriskの設定を作る。&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [ &amp;quot;eth0&amp;quot; = &amp;quot;$interface&amp;quot; ]; then&lt;br /&gt;
        case $reason in&lt;br /&gt;
                BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                        domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                        number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                        is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                        server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                        if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]; then&lt;br /&gt;
                                cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                                sed \&lt;br /&gt;
                                        -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                        &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                                service asterisk reload&lt;br /&gt;
                        fi&lt;br /&gt;
                        ;;&lt;br /&gt;
&lt;br /&gt;
                EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                        cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                        ;;&lt;br /&gt;
        esac&lt;br /&gt;
fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[general]&lt;br /&gt;
(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[201]&lt;br /&gt;
(略)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 結果 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;eri*CLI&amp;gt; sip show registry&lt;br /&gt;
Host                                    dnsmgr Username       Refresh State                Reg.Time&lt;br /&gt;
xxx.xxx.xxx.x:5060                      N      0xxxxxxxxx@n      3585 Registered           Tue, 04 Apr 2017 04:55:15&lt;br /&gt;
1 SIP registrations.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== おまけ:IPv6 ===&lt;br /&gt;
&lt;br /&gt;
116に電話したらRAにprefixが含まれなくなった。タイプ2に移行されたらしい。タイプ2ではDHCPv6-PDが使えるようになる。&lt;br /&gt;
&lt;br /&gt;
client-idは -D LL を指定してdhclientを起動していればいらないと思いきや、うっかりleaseファイルからDUID-LLTを読んでしまうと困るので書いておく。&lt;br /&gt;
&lt;br /&gt;
* dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
option space my-vsio code width 4 length width 2 hash size 3;&lt;br /&gt;
option my-vsio.ntt6 code 210 = string;&lt;br /&gt;
option dhcp6.my-vendor-opts code 16 = encapsulate my-vsio;&lt;br /&gt;
&lt;br /&gt;
option space ntt6 code width 2 length width 2 hash size 7;&lt;br /&gt;
option ntt6.mac      code 201 = string;&lt;br /&gt;
option ntt6.number   code 202 = text;&lt;br /&gt;
option ntt6.domain   code 204 = domain-list;&lt;br /&gt;
option ntt6.firmware code 210 = domain-list;&lt;br /&gt;
option vsio.ntt6 code 210 = encapsulate ntt6;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
&lt;br /&gt;
  send dhcp6.ia-pd 1;&lt;br /&gt;
  send dhcp6.client-id = concat(00:03:00, hardware);&lt;br /&gt;
  also request dhcp6.name-servers, dhcp6.domain-search, dhcp6.sntp-servers, dhcp6.sip-servers-addresses, dhcp6.vendor-opts;&lt;br /&gt;
  send my-vsio.ntt6 = suffix(hardware, 6);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interfaces&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
iface eth0 inet6 dhcp&lt;br /&gt;
    # (pre-upでip -6 address show dev eth0 の結果がtentativeでなくなるのを待って)&lt;br /&gt;
    # (upでNGNの経路を足す)&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと /var/lib/dhcp/dhclient6.eth0.leases にIPv4のものと同等の情報が入る。&lt;br /&gt;
&lt;br /&gt;
IPv6のSIPサーバは REGISTER にも OPTIONS にも応答しない。技術参考資料には&lt;br /&gt;
 登録時にはIPv4を用いてSIP信号の送受信を行ってください。&lt;br /&gt;
とあるので、&lt;br /&gt;
 Contact: &amp;lt;sip:0XXXXXXXXX@[2408:...]:5060&amp;gt;&lt;br /&gt;
なREGISTERをIPv4のSIPサーバに送り付ければよいのかもしれない。(試せていない)&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9875</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9875"/>
		<updated>2017-05-01T23:18:40Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ひかり電話直収 ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
=== 接続 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NTT東日本| -------- |壁| -- |VDSLモデム| -- |Raspberry Pi3| -- |KX-UT123N|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# 既存の dhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt  code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 3;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  also request ip-sip-servers, vivso;&lt;br /&gt;
&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
=== Asterisk ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れていて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
=== ntt.conf ===&lt;br /&gt;
&lt;br /&gt;
dhclientが起動するスクリプトからasteriskの設定を作る。&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [ &amp;quot;eth0&amp;quot; = &amp;quot;$interface&amp;quot; ]; then&lt;br /&gt;
        case $reason in&lt;br /&gt;
                BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                        domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                        number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                        is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                        server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                        if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]; then&lt;br /&gt;
                                cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                                sed \&lt;br /&gt;
                                        -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                        &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                                service asterisk reload&lt;br /&gt;
                        fi&lt;br /&gt;
                        ;;&lt;br /&gt;
&lt;br /&gt;
                EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                        cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                        ;;&lt;br /&gt;
        esac&lt;br /&gt;
fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[general]&lt;br /&gt;
(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[201]&lt;br /&gt;
(略)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 結果 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;eri*CLI&amp;gt; sip show registry&lt;br /&gt;
Host                                    dnsmgr Username       Refresh State                Reg.Time&lt;br /&gt;
xxx.xxx.xxx.x:5060                      N      0xxxxxxxxx@n      3585 Registered           Tue, 04 Apr 2017 04:55:15&lt;br /&gt;
1 SIP registrations.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== おまけ:IPv6 ===&lt;br /&gt;
&lt;br /&gt;
116に電話したらRAにprefixが含まれなくなった。タイプ2に移行されたらしい。タイプ2ではDHCPv6-PDが使えるようになる。&lt;br /&gt;
&lt;br /&gt;
client-idは -D LL を指定してdhclientを起動していればいらないと思いきや、うっかりleaseファイルからDUID-LLTを読んでしまうと困るので書いておく。&lt;br /&gt;
&lt;br /&gt;
* dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
option space my-vsio code width 4 length width 2 hash size 3;&lt;br /&gt;
option my-vsio.ntt6 code 210 = string;&lt;br /&gt;
option dhcp6.my-vendor-opts code 16 = encapsulate my-vsio;&lt;br /&gt;
&lt;br /&gt;
option space ntt6 code width 2 length width 2 hash size 7;&lt;br /&gt;
option ntt6.mac      code 201 = string;&lt;br /&gt;
option ntt6.number   code 202 = text;&lt;br /&gt;
option ntt6.domain   code 204 = domain-list;&lt;br /&gt;
option ntt6.firmware code 210 = domain-list;&lt;br /&gt;
option vsio.ntt6 code 210 = encapsulate ntt6;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
&lt;br /&gt;
  send dhcp6.client-id = concat(00:03:00, hardware);&lt;br /&gt;
  also request dhcp6.name-servers, dhcp6.domain-search, dhcp6.sntp-servers, dhcp6.sip-servers-addresses, dhcp6.vendor-opts;&lt;br /&gt;
  send my-vsio.ntt6 = suffix(hardware, 6);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interfaces&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
iface eth0 inet6 manual&lt;br /&gt;
    #(ip -6 address show dev eth0 の結果がtentativeでなくなるのを待って)&lt;br /&gt;
    #(NGNの経路を足して)&lt;br /&gt;
    up /sbin/dhclient -1 -6 -P -D LL -pf /run/dhclient6.eth0.pid -lf /var/lib/dhcp/dhclient6.eth0.leases -I -df /var/lib/dhcp/dhclient.eth0.leases eth0&lt;br /&gt;
    pre-down /sbin/dhclient -r -pf /run/dhclient6.eth0.pid eth0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと /var/lib/dhcp/dhclient6.eth0.leases にIPv4のものと同等の情報が入る。&lt;br /&gt;
&lt;br /&gt;
IPv6のSIPサーバは REGISTER にも OPTIONS にも応答しない。技術参考資料には&lt;br /&gt;
 登録時にはIPv4を用いてSIP信号の送受信を行ってください。&lt;br /&gt;
とあるので、&lt;br /&gt;
 Contact: &amp;lt;sip:0XXXXXXXXX@[2408:...]:5060&amp;gt;&lt;br /&gt;
なREGISTERをIPv4のSIPサーバに送り付ければよいのかもしれない。(試せていない)&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9874</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9874"/>
		<updated>2017-05-01T23:03:12Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 直収 ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
=== 接続 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NTT東日本| -------- |壁| -- |VDSLモデム| -- |Raspberry Pi3| -- |KX-UT123N|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# 既存の dhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt  code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 3;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  also request ip-sip-servers, vivso;&lt;br /&gt;
&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
=== Asterisk ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れていて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
=== ntt.conf ===&lt;br /&gt;
&lt;br /&gt;
dhclientが起動するスクリプトからasteriskの設定を作る。&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [ &amp;quot;eth0&amp;quot; = &amp;quot;$interface&amp;quot; ]; then&lt;br /&gt;
        case $reason in&lt;br /&gt;
                BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                        domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                        number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                        is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                        server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                        if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]; then&lt;br /&gt;
                                cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                                sed \&lt;br /&gt;
                                        -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                        &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                                service asterisk reload&lt;br /&gt;
                        fi&lt;br /&gt;
                        ;;&lt;br /&gt;
&lt;br /&gt;
                EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                        cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                        ;;&lt;br /&gt;
        esac&lt;br /&gt;
fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[general]&lt;br /&gt;
(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[201]&lt;br /&gt;
(略)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 結果 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;eri*CLI&amp;gt; sip show registry&lt;br /&gt;
Host                                    dnsmgr Username       Refresh State                Reg.Time&lt;br /&gt;
xxx.xxx.xxx.x:5060                      N      0xxxxxxxxx@n      3585 Registered           Tue, 04 Apr 2017 04:55:15&lt;br /&gt;
1 SIP registrations.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== おまけ:IPv6 ===&lt;br /&gt;
&lt;br /&gt;
116に電話したらRAにprefixが含まれなくなった。タイプ2に移行されたらしい。タイプ2ではDHCPv6-PDが使えるようになる。&lt;br /&gt;
&lt;br /&gt;
client-idは -D LL を指定してdhclientを起動していればいらないと思いきや、うっかりleaseファイルからDUID-LLTを読んでしまうと困るので書いておく。&lt;br /&gt;
&lt;br /&gt;
* dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
option space my-vsio code width 4 length width 2 hash size 3;&lt;br /&gt;
option my-vsio.ntt6 code 210 = string;&lt;br /&gt;
option dhcp6.my-vendor-opts code 16 = encapsulate my-vsio;&lt;br /&gt;
&lt;br /&gt;
option space ntt6 code width 2 length width 2 hash size 7;&lt;br /&gt;
option ntt6.mac      code 201 = string;&lt;br /&gt;
option ntt6.number   code 202 = text;&lt;br /&gt;
option ntt6.domain   code 204 = domain-list;&lt;br /&gt;
option ntt6.firmware code 210 = domain-list;&lt;br /&gt;
option vsio.ntt6 code 210 = encapsulate ntt6;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
&lt;br /&gt;
  send dhcp6.client-id = concat(00:03:00, hardware);&lt;br /&gt;
  also request dhcp6.name-servers, dhcp6.domain-search, dhcp6.sntp-servers, dhcp6.sip-servers-addresses, dhcp6.vendor-opts;&lt;br /&gt;
  send my-vsio.ntt6 = suffix(hardware, 6);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interfaces&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
iface eth0 inet6 manual&lt;br /&gt;
    #(ip -6 address show dev eth0 の結果がtentativeでなくなるのを待って)&lt;br /&gt;
    #(NGNの経路を足して)&lt;br /&gt;
    up /sbin/dhclient -1 -6 -P -D LL -pf /run/dhclient6.eth0.pid -lf /var/lib/dhcp/dhclient6.eth0.leases -I -df /var/lib/dhcp/dhclient.eth0.leases eth0&lt;br /&gt;
    pre-down /sbin/dhclient -r -pf /run/dhclient6.eth0.pid eth0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと /var/lib/dhcp/dhclient6.eth0.leases にIPv4のものと同等の情報が入る。&lt;br /&gt;
&lt;br /&gt;
IPv6のSIPサーバは REGISTER にも OPTIONS にも応答しない。技術参考資料には&lt;br /&gt;
 登録時にはIPv4を用いてSIP信号の送受信を行ってください。&lt;br /&gt;
とあるので、&lt;br /&gt;
 Contact: &amp;lt;sip:0XXXXXXXXX@[2408:...]:5060&amp;gt;&lt;br /&gt;
なREGISTERをIPv4のSIPサーバに送り付ければよいのかもしれない。(試せていない)&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9873</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9873"/>
		<updated>2017-04-30T15:10:53Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 直収 ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
=== 接続 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NTT東日本| -------- |壁| -- |VDSLモデム| -- |Raspberry Pi3| -- |KX-UT123N|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# 既存の dhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt  code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 3;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  also request ip-sip-servers, vivso;&lt;br /&gt;
&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
=== Asterisk ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れていて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
=== ntt.conf ===&lt;br /&gt;
&lt;br /&gt;
dhclientが起動するスクリプトからasteriskの設定を作る。&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [ &amp;quot;eth0&amp;quot; = &amp;quot;$interface&amp;quot; ]; then&lt;br /&gt;
        case $reason in&lt;br /&gt;
                BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                        domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                        number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                        is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                        server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                        if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]; then&lt;br /&gt;
                                cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                                sed \&lt;br /&gt;
                                        -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                        &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                                service asterisk reload&lt;br /&gt;
                        fi&lt;br /&gt;
                        ;;&lt;br /&gt;
&lt;br /&gt;
                EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                        cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                        ;;&lt;br /&gt;
        esac&lt;br /&gt;
fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[general]&lt;br /&gt;
(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[201]&lt;br /&gt;
(略)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 結果 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;eri*CLI&amp;gt; sip show registry&lt;br /&gt;
Host                                    dnsmgr Username       Refresh State                Reg.Time&lt;br /&gt;
xxx.xxx.xxx.x:5060                      N      0xxxxxxxxx@n      3585 Registered           Tue, 04 Apr 2017 04:55:15&lt;br /&gt;
1 SIP registrations.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPv6 ==&lt;br /&gt;
&lt;br /&gt;
116に電話したらRAが流れてこなくなった。RAが来ない環境ではDHCPv6-PDが使えるようになる。&lt;br /&gt;
&lt;br /&gt;
client-idは -D LL を指定してdhclientを起動していればいらないと思いきや、うっかりleaseファイルからDUID-LLTを読んでしまうと困るので書いておく。&lt;br /&gt;
&lt;br /&gt;
* dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
option space my-vsio code width 4 length width 2 hash size 3;&lt;br /&gt;
option my-vsio.ntt6 code 210 = string;&lt;br /&gt;
option dhcp6.my-vendor-opts code 16 = encapsulate my-vsio;&lt;br /&gt;
&lt;br /&gt;
option space ntt6 code width 2 length width 2 hash size 7;&lt;br /&gt;
option ntt6.mac      code 201 = string;&lt;br /&gt;
option ntt6.number   code 202 = text;&lt;br /&gt;
option ntt6.domain   code 204 = domain-list;&lt;br /&gt;
option ntt6.firmware code 210 = domain-list;&lt;br /&gt;
option vsio.ntt6 code 210 = encapsulate ntt6;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
&lt;br /&gt;
  send dhcp6.client-id = concat(00:03:00, hardware);&lt;br /&gt;
  also request dhcp6.name-servers, dhcp6.domain-search, dhcp6.sntp-servers, dhcp6.sip-servers-addresses, dhcp6.vendor-opts;&lt;br /&gt;
  send my-vsio.ntt6 = suffix(hardware, 6);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interfaces&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
iface eth0 inet6 manual&lt;br /&gt;
    #(ip -6 address show dev eth0 の結果がtentativeでなくなるのを待って)&lt;br /&gt;
    #(NGNの経路を足して)&lt;br /&gt;
    up /sbin/dhclient -1 -6 -P -D LL -pf /run/dhclient6.eth0.pid -lf /var/lib/dhcp/dhclient6.eth0.leases -I -df /var/lib/dhcp/dhclient.eth0.leases eth0&lt;br /&gt;
    pre-down /sbin/dhclient -r -pf /run/dhclient6.eth0.pid eth0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと /var/lib/dhcp/dhclient6.eth0.leases にIPv4のものと同等の情報が入る。&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9872</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9872"/>
		<updated>2017-04-30T15:07:12Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 直収 ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
=== 接続 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NTT東日本| -------- |壁| -- |VDSLモデム| -- |Raspberry Pi3| -- |KX-UT123N|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# 既存の dhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt  code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 3;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  also request ip-sip-servers, vivso;&lt;br /&gt;
&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
=== Asterisk ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れていて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
=== ntt.conf ===&lt;br /&gt;
&lt;br /&gt;
dhclientが起動するスクリプトからasteriskの設定を作る。&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [ &amp;quot;eth0&amp;quot; = &amp;quot;$interface&amp;quot; ]; then&lt;br /&gt;
        case $reason in&lt;br /&gt;
                BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                        domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                        number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                        is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                        server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                        if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]; then&lt;br /&gt;
                                cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                                sed \&lt;br /&gt;
                                        -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                        &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                                service asterisk reload&lt;br /&gt;
                        fi&lt;br /&gt;
                        ;;&lt;br /&gt;
&lt;br /&gt;
                EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                        cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                        ;;&lt;br /&gt;
        esac&lt;br /&gt;
fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[general]&lt;br /&gt;
(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[201]&lt;br /&gt;
(略)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 結果 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;eri*CLI&amp;gt; sip show registry&lt;br /&gt;
Host                                    dnsmgr Username       Refresh State                Reg.Time&lt;br /&gt;
xxx.xxx.xxx.x:5060                      N      0xxxxxxxxx@n      3585 Registered           Tue, 04 Apr 2017 04:55:15&lt;br /&gt;
1 SIP registrations.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPv6 ==&lt;br /&gt;
&lt;br /&gt;
client-idは -D LL を指定してdhclientを起動していればいらないと思いきや、うっかりleaseファイルからDUID-LLTを読んでしまうと困るので書いておく。&lt;br /&gt;
&lt;br /&gt;
* dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
option space my-vsio code width 4 length width 2 hash size 3;&lt;br /&gt;
option my-vsio.ntt6 code 210 = string;&lt;br /&gt;
option dhcp6.my-vendor-opts code 16 = encapsulate my-vsio;&lt;br /&gt;
&lt;br /&gt;
option space ntt6 code width 2 length width 2 hash size 7;&lt;br /&gt;
option ntt6.mac      code 201 = string;&lt;br /&gt;
option ntt6.number   code 202 = text;&lt;br /&gt;
option ntt6.domain   code 204 = domain-list;&lt;br /&gt;
option ntt6.firmware code 210 = domain-list;&lt;br /&gt;
option vsio.ntt6 code 210 = encapsulate ntt6;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
&lt;br /&gt;
  send dhcp6.client-id = concat(00:03:00, hardware);&lt;br /&gt;
  also request dhcp6.name-servers, dhcp6.domain-search, dhcp6.sntp-servers, dhcp6.sip-servers-addresses, dhcp6.vendor-opts;&lt;br /&gt;
  send my-vsio.ntt6 = suffix(hardware, 6);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interfaces&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
iface eth0 inet6 manual&lt;br /&gt;
    #(ip -6 address show dev eth0 の結果がtentativeでなくなるのを待って)&lt;br /&gt;
    #(NGNの経路を足して)&lt;br /&gt;
    up /sbin/dhclient -1 -6 -P -D LL -pf /run/dhclient6.eth0.pid -lf /var/lib/dhcp/dhclient6.eth0.leases -I -df /var/lib/dhcp/dhclient.eth0.leases eth0&lt;br /&gt;
    pre-down /sbin/dhclient -r -pf /run/dhclient6.eth0.pid eth0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと /var/lib/dhcp/dhclient6.eth0.leases にIPv4のものと同等の情報が入る。&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9871</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9871"/>
		<updated>2017-04-30T15:02:20Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 直収 ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
=== 接続 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;壁| -- |VDSLモデム| -- |Raspberry Pi3| -- |KX-UT123N|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# 既存の dhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt  code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 3;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  also request ip-sip-servers, vivso;&lt;br /&gt;
&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
=== Asterisk ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れていて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
=== ntt.conf ===&lt;br /&gt;
&lt;br /&gt;
dhclientが起動するスクリプトからasteriskの設定を作る。&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [ &amp;quot;eth0&amp;quot; = &amp;quot;$interface&amp;quot; ]; then&lt;br /&gt;
        case $reason in&lt;br /&gt;
                BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                        domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                        number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                        is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                        server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                        if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]; then&lt;br /&gt;
                                cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                                sed \&lt;br /&gt;
                                        -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                        &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                                service asterisk reload&lt;br /&gt;
                        fi&lt;br /&gt;
                        ;;&lt;br /&gt;
&lt;br /&gt;
                EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                        cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                        ;;&lt;br /&gt;
        esac&lt;br /&gt;
fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[general]&lt;br /&gt;
(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[201]&lt;br /&gt;
(略)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 結果 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;eri*CLI&amp;gt; sip show registry&lt;br /&gt;
Host                                    dnsmgr Username       Refresh State                Reg.Time&lt;br /&gt;
xxx.xxx.xxx.x:5060                      N      0xxxxxxxxx@n      3585 Registered           Tue, 04 Apr 2017 04:55:15&lt;br /&gt;
1 SIP registrations.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPv6 ==&lt;br /&gt;
&lt;br /&gt;
client-idは -D LL を指定してdhclientを起動していればいらないと思いきや、うっかりleaseファイルからDUID-LLTを読んでしまうと困るので書いておく。&lt;br /&gt;
&lt;br /&gt;
* dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
option space my-vsio code width 4 length width 2 hash size 3;&lt;br /&gt;
option my-vsio.ntt6 code 210 = string;&lt;br /&gt;
option dhcp6.my-vendor-opts code 16 = encapsulate my-vsio;&lt;br /&gt;
&lt;br /&gt;
option space ntt6 code width 2 length width 2 hash size 7;&lt;br /&gt;
option ntt6.mac      code 201 = string;&lt;br /&gt;
option ntt6.number   code 202 = text;&lt;br /&gt;
option ntt6.domain   code 204 = domain-list;&lt;br /&gt;
option ntt6.firmware code 210 = domain-list;&lt;br /&gt;
option vsio.ntt6 code 210 = encapsulate ntt6;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  send dhcp-client-identifier = hardware;&lt;br /&gt;
  request subnet-mask, routers, ip-sip-servers, rfc3442-classless-static-routes, vivso;&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
&lt;br /&gt;
  send dhcp6.client-id = concat(00:03:00, hardware);&lt;br /&gt;
  also request dhcp6.name-servers, dhcp6.domain-search, dhcp6.sntp-servers, dhcp6.sip-servers-addresses, dhcp6.vendor-opts;&lt;br /&gt;
  send my-vsio.ntt6 = suffix(hardware, 6);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interfaces&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
iface eth0 inet6 manual&lt;br /&gt;
    #(ip -6 address show dev eth0 の結果がtentativeでなくなるのを待って)&lt;br /&gt;
    #(NGNの経路を足して)&lt;br /&gt;
    up /sbin/dhclient -1 -6 -P -D LL -pf /run/dhclient6.eth0.pid -lf /var/lib/dhcp/dhclient6.eth0.leases -I -df /var/lib/dhcp/dhclient.eth0.leases eth0&lt;br /&gt;
    pre-down /sbin/dhclient -r -pf /run/dhclient6.eth0.pid eth0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと /var/lib/dhcp/dhclient6.eth0.leases にIPv4のものと同等の情報が入る。&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9863</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9863"/>
		<updated>2017-04-03T20:21:53Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 直収 ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
=== 接続 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;壁| -- |VDSLモデム| -- |Raspberry Pi3| -- |KX-UT123N|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# 既存の dhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt  code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 3;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  also request ip-sip-servers, vivso;&lt;br /&gt;
&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
=== Asterisk ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れていて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
=== ntt.conf ===&lt;br /&gt;
&lt;br /&gt;
dhclientが起動するスクリプトからasteriskの設定を作る。&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if [ &amp;quot;eth0&amp;quot; = &amp;quot;$interface&amp;quot; ]; then&lt;br /&gt;
        case $reason in&lt;br /&gt;
                BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                        domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                        number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                        is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                        server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                        if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]; then&lt;br /&gt;
                                cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                                sed \&lt;br /&gt;
                                        -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                        -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                        &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                                service asterisk reload&lt;br /&gt;
                        fi&lt;br /&gt;
                        ;;&lt;br /&gt;
&lt;br /&gt;
                EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                        cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                        ;;&lt;br /&gt;
        esac&lt;br /&gt;
fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[general]&lt;br /&gt;
(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[201]&lt;br /&gt;
(略)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 結果 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;eri*CLI&amp;gt; sip show registry&lt;br /&gt;
Host                                    dnsmgr Username       Refresh State                Reg.Time&lt;br /&gt;
xxx.xxx.xxx.x:5060                      N      0xxxxxxxxx@n      3585 Registered           Tue, 04 Apr 2017 04:55:15&lt;br /&gt;
1 SIP registrations.&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9862</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9862"/>
		<updated>2017-04-02T12:12:14Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 直収 ==&lt;br /&gt;
&lt;br /&gt;
Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
=== 接続 ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;壁| -- |VDSLモデム| -- |Raspberry Pi3| -- |KX-UT123N|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# デフォルトのdhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt  code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 3;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  also request ip-sip-servers, vivso;&lt;br /&gt;
&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
=== Asterisk ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れていて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
=== ntt.conf ===&lt;br /&gt;
&lt;br /&gt;
dhclientが起動するスクリプトからasteriskの設定を作る。&lt;br /&gt;
&lt;br /&gt;
$interfaceをチェックしたり、bindaddrも書き換えた方がいいかも…&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;case $reason in&lt;br /&gt;
        BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]&lt;br /&gt;
                then&lt;br /&gt;
                        cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                        sed \&lt;br /&gt;
                                -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                fi&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                service asterisk reload&lt;br /&gt;
                ;;&lt;br /&gt;
esac&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
nat=never&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9861</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9861"/>
		<updated>2017-04-02T12:10:57Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
== 接続 ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;壁| -- |VDSLモデム| -- |Raspberry Pi3| -- |KX-UT123N|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DHCP ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# デフォルトのdhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt  code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 3;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  also request ip-sip-servers, vivso;&lt;br /&gt;
&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
== Asterisk ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れていて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
== ntt.conf ==&lt;br /&gt;
&lt;br /&gt;
dhclientが起動するスクリプトからasteriskの設定を作る。&lt;br /&gt;
&lt;br /&gt;
$interfaceをチェックしたり、bindaddrも書き換えた方がいいかも…&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;case $reason in&lt;br /&gt;
        BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]&lt;br /&gt;
                then&lt;br /&gt;
                        cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                        sed \&lt;br /&gt;
                                -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                fi&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                service asterisk reload&lt;br /&gt;
                ;;&lt;br /&gt;
esac&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
nat=never&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
	<entry>
		<id>http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9860</id>
		<title>利用者:Pin ptr</title>
		<link rel="alternate" type="text/html" href="http://www.voip-info.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pin_ptr&amp;diff=9860"/>
		<updated>2017-04-02T11:08:01Z</updated>

		<summary type="html">&lt;p&gt;Pin ptr: ページの作成：「Ubuntuでひかり電話を直収するのに試したことメモ。  == DHCP ==  Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが...」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ubuntuでひかり電話を直収するのに試したことメモ。&lt;br /&gt;
&lt;br /&gt;
== DHCP ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04 Serverのisc-dhcp-clientにはclassless-static-routeのサポートが入っている。&lt;br /&gt;
また、dhclient.confで新たなオプションを定義できるので、再コンパイルせずに使う。&lt;br /&gt;
&lt;br /&gt;
* /etc/network/interface&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient.conf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# デフォルトのdhclient.conf に追加する&lt;br /&gt;
option ip-sip-servers code 120 = { boolean, array of ip-address };&lt;br /&gt;
&lt;br /&gt;
option vendor-class.ntt  code 210 = string;&lt;br /&gt;
&lt;br /&gt;
option space ntt code width 1 length width 1 hash size 3;&lt;br /&gt;
option ntt.mac      code 201 = string;&lt;br /&gt;
option ntt.number   code 202 = text;&lt;br /&gt;
option ntt.domain   code 204 = domain-list;&lt;br /&gt;
option ntt.firmware code 210 = domain-list;&lt;br /&gt;
option vendor.ntt code 210 = encapsulate ntt;&lt;br /&gt;
&lt;br /&gt;
interface &amp;quot;eth0&amp;quot; {&lt;br /&gt;
  also request ip-sip-servers, vivso;&lt;br /&gt;
&lt;br /&gt;
  send vendor-class.ntt = concat(06, suffix(hardware, 6));&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
うまくいくと、dhclient.eth0.leases に設定が入っているのが確認できる。&lt;br /&gt;
&lt;br /&gt;
== Asterisk ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu 16.04のAsteriskは壊れているて面倒そうなので使わない。 https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1314058&lt;br /&gt;
install_prereqはX関連のアレコレが入るので使わない。&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt install build-essential libncurses-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libssl-dev&lt;br /&gt;
$ tar xvf asterisk-13.14.0.tar.gz&lt;br /&gt;
$ cd asterisk-13.14.0&lt;br /&gt;
$ ./configure --with-pjproject-bundled --prefix=/usr/local&lt;br /&gt;
$ make menuconfig # CORE-SOUNDS-JA-GSM&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make isntall&lt;br /&gt;
$ sudo make config&lt;br /&gt;
$ sudo make samples&lt;br /&gt;
$ sudo make install-logrotate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/default/asteriskのALTCONFを/usr/local/etc/asterisk/asterisk.confに変えたり…&lt;br /&gt;
* ログが /usr/local/var/lib/log に出力されるので、適当に移動したり…&lt;br /&gt;
&lt;br /&gt;
== ntt.conf ==&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp/dhclient-exit-hooks.d/sip-configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;case $reason in&lt;br /&gt;
        BOUND|RENEW|REBIND|REBOOT)&lt;br /&gt;
                domain=$(echo &amp;quot;$new_ntt_domain&amp;quot; | sed -e &#039;s/[.]$//&#039;)&lt;br /&gt;
                number=&amp;quot;$new_ntt_number&amp;quot;&lt;br /&gt;
                is_ip=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $1; }&#039;)&lt;br /&gt;
                server=$(echo &amp;quot;$new_ip_sip_servers&amp;quot; | awk &#039;{ print $2; }&#039;)&lt;br /&gt;
&lt;br /&gt;
                if [ -n &amp;quot;$domain&amp;quot; ] &amp;amp;&amp;amp; [ -n &amp;quot;$number&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$is_ip&amp;quot; = &#039;true&#039; ] &amp;amp;&amp;amp; [ -n &amp;quot;$server&amp;quot; ]&lt;br /&gt;
                then&lt;br /&gt;
                        cat /etc/asterisk/ntt.conf.up | \&lt;br /&gt;
                        sed \&lt;br /&gt;
                                -e &amp;quot;s/DOMAIN/$domain/g&amp;quot; \&lt;br /&gt;
                                -e &amp;quot;s/NUMBER/$number/g&amp;quot; \&lt;br /&gt;
                                -e &amp;quot;s/SERVER/$server/g&amp;quot; \&lt;br /&gt;
                                &amp;gt; /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                        service asterisk reload&lt;br /&gt;
                fi&lt;br /&gt;
                ;;&lt;br /&gt;
&lt;br /&gt;
        EXPIRE|FAIL|RELEASE|STOP)&lt;br /&gt;
                cp /etc/asterisk/ntt.conf.down /usr/local/etc/asterisk/ntt.conf&lt;br /&gt;
                service asterisk reload&lt;br /&gt;
                ;;&lt;br /&gt;
esac&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.up&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;register =&amp;gt; NUMBER@DOMAIN@SERVER/NUMBER&lt;br /&gt;
&lt;br /&gt;
[ntt]&lt;br /&gt;
type=peer&lt;br /&gt;
host=SERVER&lt;br /&gt;
context=fromntt&lt;br /&gt;
nat=never&lt;br /&gt;
fromdomain=DOMAIN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/asterisk/ntt.conf.down&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;; empty&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* sip.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;(略)&lt;br /&gt;
#include &amp;lt;ntt.conf&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pin ptr</name></author>
	</entry>
</feed>