HP Envy 13-ay1052AU x360では、他のWindowsが起動しているPCでUSB stickにBIOSイメージを書き込み、HP Envy-ay1052AU x360でWindowsを起動させることなく BIOSをアップデートできる。 具体的には、 HP Communityの記事にあるように、USB stickを接続した状態で、WindowsキーとBキーを押しながら電源ボタンを押して起動させ3秒間電源ボタンを押したままにし、電源ボタンを離して更にWindowsキーとBキーを3秒間押したままにして、 その後に全てのキーを離してやると、USB stickにあるBIOSアップデートイメージを書き込んでくれる。 ただし、BIOSの設定項目は全て初期化されてしまうので、再度設定し直す必要がある。
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.confとiax.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()
OpenPGPの鍵を公開する
はじめに GnuPGを使っているが、積極的に電子メールに署名も暗号化もしていないので、あまり役立てているとは言えないかもしれない。 利用しない理由は、PGPを使っている相手が少ないというものである気がするが、本当は特に署名したい内容も暗号化したい内容も書いていないから...
-
Arvel USBシリアルケーブルSRC06-USBをWindows 10 x86_64で使う で、Arvel (現バッファロー) のSRC06-USBというFTDIのチップを使ったUSB to Rs-232CアダプターをWindows 10で使う話を書いたが、同じSRC...
-
※ Windows 11でも使える記事 を書いた。 Arvel SRC06-USB USBシリアルケーブルというUSBシリアル変換器を持っている。 これにはFDTI製のUSBシリアル変換チップをい利用していて、USB VendorID/ProductID=0x...
-
This post will be irrelevant for Google Workspace after 2022-10-04 because OAuth out-of-band (OBB) flow will be deprecated. See my newe...