Bose Noise Cancelling Headphones 700 UCを購入した

Jabra Move WirelessというBluetoothヘッドセットを使っていたのだが、電池の持ちが著しく悪くなって来たし、 音質もSBCしかサポートしていないようで、良いような気はしない。 しかし、ヘッドセットとしては、HD Voiceに対応していて、最低限の性能は持っている。

一度、ノイズキャンセリング機能を体験してみたかったので、 Bose Noise Cancelling Headphones 700 UCを購入してみた。 ここで、UCというのは、Creative BT-W3のようなBluetoothオーディオアダプターが付属しているということを示している。

Bluetoothと独自の2.4GHz通信の両方をサポートしているヘッドセットを探していたのだが、Bose Noise Cancelling Headphones 700 UCはそれに近いかもしれない。 だが、Creative BT-W3と比較して特にHands-free profileでの通話の場合にどうなのか分かっていない。 Bluetooth接続の場合、HD Voiceには対応しているようだ。

ノイズキャンセリングは非常に有用で、既にこれなしで音を聞くのはないような気がしている。ちなみに、Android相手のA2DPの場合にはAACが利用されるようだ。 NetBSD/amd64 10.99.2でも付属のBluetoothオーディオアダプターは正常に利用できる。

pkgsrc/multimedia/mplayerで、/dev/audio以外で音を再生する

NetBSDで、pkgsrc/multimedia/mplayerで音を再生するのに、複数あるデバイスから1つを指定したい。 オーディオバックエンドはOSSとする。OSSはLinuxでは既に廃れているようなので、ウェブ上ではほぼ例は見つからない。 以下のようにすると/dev/audio2で音を再生できた。

$ mplayer -ao oss:/dev/audio2 test.mkv

ちなみに、sunバックエンドもNetBSDで利用できる。この場合の設定はOSS同様で以下のようにすれば良かった。

$ mplayer -ao sun:/dev/audio2 test.mkv

pdftocairoで、PDFファイルをJPEGやPNGファイルに変換する

PDFファイルをJPEGファイルにするには、GhostScriptを利用するというのが古くからの方法だと思うのだが、 分かりにくかった記憶があるし、満足した結果が得られたこともなかったような気がする。 GhostScriptをちゃんと理解していないからだろう。 だが、PDFファイルの1ページを1つのJPEGファイルやPDFファイルにしたい場合は存在する。 Popplerはcairoを使っていて、 その一部であるpdftocairoコマンドを使うと、簡単に満足できる品質のJPEGファイルやPNGファイルを得ることができた。 pkgsrcだと、print/poppler-utilsパッケージに含まれている。

HP Envy 13-ay1052AU x360のブート時のメニュー選択

ほぼMaintenance and Service Guideに書かれているのだが、 すぐに分からなくなってしまうので、書き留めておく。

F2
Startup CHeckということで、診断メニューを表示する。HP PC Diagnostics UEFIがHP_TOOLSというディスクラベルのドライブに用意してあれば、リッチな診断を実施できる。
F9
Change Boot Orderということで、一時的に起動デバイス等を選択する画面を表示する。
F10
BIOS Setup Optionsということで、BIOS設定画面を表示する。
F12
Network Bootということで、PXE bootができるようだ。試していない。

ESCキーを押せば、メニューが表示されるので、細かく覚えておく必要はないかもしれない。

Asterisk 16で、内線端末間で番号通知をする

ここまでで、複数のソフトフォンで発着信できるようになっているのだが、内線番号を相互に通知することはできていなかった。 どういう方法が一番適切であるか良く分からないのだが、pjsip.confiax.confで指定すれば 内線番号を相互に通知することはできた。

pjsip.confの場合には、以下のようにした。endpointの設定でcalleridを追加している。

; 内線: baresip+
[fire8]
type = aor
max_contacts = 1
qualify_frequency = 60
remove_existing = yes

[fire8]
type = auth
auth_type = userpass
username = fire8
password = password

[fire8]
type = endpoint
transport = transport-udp
context = default
disallow = all
allow = ilbc,ulaw,alaw,gsm,g729,g723
aors = fire8
auth = fire8
;outbound_auth = fire8
dtmf_mode = rfc4733
force_rport = yes
ice_support = no
rtp_symmetric = yes
direct_media = no
rewrite_contact = yes
device_state_busy_at = 1
callerid="104" <104>

iax.confも似たような設定で、calleridを追加した。

[general]
match_auth_username=yes
iaxcompact=yes
allow=all

; 電話機との接続
[user1] ; Android smartphone
type=friend
username=user1
secret=password1
context=default
canreinvite=no
host=dynamic
qualify=no
callerid="101" <101>

[ryoonwinpc] ; Zoiper for Windows
type=friend
username=user2
secret=password2
context=default
canreinvite=no
host=dynamic
qualify=no
callerid="103" <103>

Asterisk 16に収容したFusion IP-Phone SMARTの2回線への接続に、PJSIPを利用する

Asteriskとソフトフォンの間の通信をchan_sipからPJSIPに変更したのだが、 AsteriskとFusion IP-Phone SMART 2回線分の通信はchan_sipのままだった。 これもPJSIPにして問題ないはずなので、変更してみた。

まずは、sip.confに相当する内容をpjsip.confに移植する。 現在のsip.confの内容は以下のようになっている。

[general]
match_auth_username=yes ; 同じsmart.0038.netに複数のアカウントを持っているので。
; 外線着信のため
register => 5XXXXXXX:password1@fusion1/5XXXXXXX
register => 5YYYYYYY:password2@fusion2/5YYYYYYY

; 外線
[fusion1]
type=friend
username=5XXXXXXX
fromuser=5XXXXXXX
secret=password1
host=smart.0038.net
fromdomain=smart.0038.net
context=default
insecure=port,invite
canreinvite=no
dtmfmode=inband
qualify=yes
allow=!all,ilbc,g729,gsm,g723,ulaw,alaw
allowguest=no
host=dynamic

[fusion2]
type=friend
username=5YYYYYYY
fromuser=5YYYYYYY
secret=password2
host=smart.0038.net
fromdomain=smart.0038.net
context=default
insecure=port,invite
canreinvite=no
dtmfmode=inband
qualify=yes
allow=!all,ilbc,g729,gsm,g723,ulaw,alaw
allowguest=no
host=dynamic

これをpjsip.confに移植して行く。 まずは変更点を示す。

@@ -1,8 +1,16 @@
+[general]
+match_auth_username = yes
+
+[system]
+type = system
+disable_rport = yes
+
 [transport-udp]
 type = transport
 protocol = udp
-bind = 0.0.0.0:5070 ; 5060 portはchan_sipと競合する。
+bind = 0.0.0.0

+; 外線: ひかり電話
 [hikari-denwa]
 type = registration
 transport = transport-udp
@@ -19,7 +27,7 @@ password = 0003_password

 [hikari-trunk]
 type = aor
-contact = sip:10.81.0.1
+contact = sip:3@10.81.0.1

 [hikari-trunk]
 type = endpoint

@@ -38,3 +46,81 @@ dtmf_mode = inband
 type = identify
 endpoint = hikari-trunk
 match = 10.81.0.1
+
+
+
+; 外線: Fusion SMART IP 1
+[fusion1]
+type = registration
+transport = transport-udp
+outbound_auth = fusion1
+server_uri = sip:smart.0038.net
+client_uri = sip:5XXXXXXX@smart.0038.net
+retry_interval = 0
+auth_rejection_permanent = no
+
+[fusion1]
+type = auth
+auth_type = userpass
+username = 5XXXXXXX
+password = password1
+
+[fusion1]
+type = aor
+contact = sip:5XXXXXXX@smart.0038.net
+qualify_frequency = 5
+
+[fusion1]
+type = endpoint
+transport = transport-udp
+context = default
+from_user = 5XXXXXXX
+from_domain = smart.0038.net
+outbound_auth = fusion1
+disallow = all
+allow = ilbc,g729,gsm,g723,ulaw,alaw
+aors = fusion1
+
+[fusion1]
+type = identify
+match = 61.213.230.153 ; IPアドレス
+endpoint = fusion1
+
+
+
+; 外線: Fusion SMART IP 2
+[fusion2]
+type = registration
+transport = transport-udp
+outbound_auth = fusion2
+server_uri = sip:smart.0038.net
+client_uri = sip:5YYYYYYY@smart.0038.net
+retry_interval = 0
+auth_rejection_permanent = no
+
+[fusion2]
+type = auth
+auth_type = userpass
+username = 5YYYYYYY
+password = password2
+
+[fusion2]
+type = aor
+contact = sip:5YYYYYYY@smart.0038.net
+qualify_frequency = 5
+
+[fusion2]
+type = endpoint
+transport = transport-udp
+context = default
+from_user = 5YYYYYYY
+from_domain = smart.0038.net
+outbound_auth = fusion2
+disallow = all
+allow = ilbc,g729,gsm,g723,ulaw,alaw
+aors = fusion2
+
+[fusion2]
+type = identify
+match = 61.213.230.153 ; IPアドレス
+endpoint = fusion2

全体としては、以下のようになる。

[general]
match_auth_username = yes

[system]
type = system
disable_rport = yes

[transport-udp]
type = transport
protocol = udp
bind = 0.0.0.0

; 外線: ひかり電話
[hikari-denwa]
type = registration
transport = transport-udp
outbound_auth = hikari-trunk
server_uri = sip:10.81.0.1
client_uri = sip:3@10.81.0.1
retry_interval = 60

[hikari-trunk]
type = auth
auth_type = userpass
username = 0003
password = 0003_password

[hikari-trunk]
type = aor
contact = sip:3@10.81.0.1

[hikari-trunk]
type = endpoint
transport = transport-udp
context = default
disallow = all
allow = ulaw
outbound_auth = hikari-trunk
aors = hikari-trunk
direct_media = no
from_user = 3
from_domain = 10.81.0.1
dtmf_mode = inband

[hikari-trunk]
type = identify
endpoint = hikari-trunk
match = 10.81.0.1



; 外線: Fusion SMART IP 1
[fusion1]
type = registration
transport = transport-udp
outbound_auth = fusion1
server_uri = sip:smart.0038.net
client_uri = sip:5XXXXXXX@smart.0038.net
retry_interval = 0
auth_rejection_permanent = no

[fusion1]
type = auth
auth_type = userpass
username = 5XXXXXXX
password = password1

[fusion1]
type = aor
contact = sip:5XXXXXXX@smart.0038.net
qualify_frequency = 5

[fusion1]
type = endpoint
transport = transport-udp
context = default
from_user = 5XXXXXXX
from_domain = smart.0038.net
outbound_auth = fusion1
disallow = all
allow = ilbc,g729,gsm,g723,ulaw,alaw
aors = fusion1

[fusion1]
type = identify
match = 61.213.230.153 ; IPアドレス
endpoint = fusion1



; 外線: Fusion SMART IP 2
[fusion2]
type = registration
transport = transport-udp
outbound_auth = fusion2
server_uri = sip:smart.0038.net
client_uri = sip:5YYYYYYY@smart.0038.net
retry_interval = 0
auth_rejection_permanent = no

[fusion2]
type = auth
auth_type = userpass
username = 5YYYYYYY
password = password2

[fusion2]
type = aor
contact = sip:5YYYYYYY@smart.0038.net
qualify_frequency = 5

[fusion2]
type = endpoint
transport = transport-udp
context = default
from_user = 5YYYYYYY
from_domain = smart.0038.net
outbound_auth = fusion2
disallow = all
allow = ilbc,g729,gsm,g723,ulaw,alaw
aors = fusion2

[fusion2]
type = identify
match = 61.213.230.153 ; IPアドレス
endpoint = fusion2

extensions.confでは、以下の抜粋のように変更すれば良い。 ここではログも出力するようにしている。

 ; 発信
 ;; Fusion SMARTalk 1の場合には9で発信する。
-exten => _9.,1,Set(CALLERID(num)=${MYNUMBER})
+exten => _9.,1,NoOp(Fusion1で発信9)
+exten => _9.,n,Set(CALLERID(num)=${MYNUMBER})
 exten => _9.,n,Set(CALLERID(name)=${MYNUMBER})
-exten => _9.,n,Dial(SIP/${EXTEN:1}@fusion1,120,T)
+exten => _9.,n,Dial(PJSIP/${EXTEN:1}@fusion1,120,T)
+exten => _9.,n,Hangup()

 ;; Fusion SMARTalk 2の場合には8で発信する。
-exten => _8.,1,Set(CALLERID(num)=${MYNUMBER})
+exten => _8.,1,NoOp(Fusion2で発信8)
+exten => _8.,n,Set(CALLERID(num)=${MYNUMBER})
 exten => _8.,n,Set(CALLERID(name)=${MYNUMBER})
-exten => _8.,n,Dial(SIP/${EXTEN:1}@fusion2,120,T)
+exten => _8.,n,Dial(PJSIP/${EXTEN:1}@fusion2,120,T)
+exten => _9.,n,Hangup()

 ;; ひかり電話の場合には7で発信する。
-exten => _7.,1,Set(CALLERID(num)=${MYNUMBER})
+exten => _7.,1,NoOp(ひかり電話で発信7)
+exten => _7.,n,Set(CALLERID(num)=${MYNUMBER})
 exten => _7.,n,Set(CALLERID(name)=${MYNUMBER})
 exten => _7.,n,Dial(PJSIP/${EXTEN:1}@hikari-trunk)
+exten => _7.,n,Hangup()

国立公文書館所蔵の特定歴史公文書等の利用制限はないようだ

国立公文書館のよくある質問と答え によると、国立公文書館が所蔵する特定歴史公文書等を複写した資料については、 利用制限はないようだ。以下に引用しておく。 16. Q: 国立公文書館所蔵の特定歴史公文書等の画像等を出版等に利用したいのですが、どのような手続きが必...