2018/09/21

KDDIビジネスコールダイレクトは保留転送できないのか?

FMC案件で調べていたところ、KDDIビジネスコールダイレクトは携帯端末で保留転送できないらしい
(ドコモのオフィスリンクと、ソフトバンクのホワイトオフィスには機能がある)

携帯同士の通話は問題ないけど、KDDI光ダイレクトと接続して PBX連携した時に、ピックアップした外線通話を他の内線(ビジネスコールダイレクトの)に保留転送できないってことになる

これでは内線番号で使えるってだけで、内線端末の代わりにはならないって事

Nintendo Switch Online 子供(みまもり対象)アカウントのみ課金

Nintendo Switch Online が開始され課金が始まったが「みまもり」設定がされている子供アカウントのみに課金する方法(というか課金対象の意味)

親アカウント => 子供アカウント(みまもり対象)

という構成
これ、あくまでも2つのアカウントが、みまもり(でない場合もある)で紐づけされているというだけで、別のアカウントになります. なので、親アカウントへ個人プランを課金しても、子供アカウントは有料サービスを受けられません. 逆に、親アカウントでオンラインを利用しないなら、ファミリープランを契約する必要はありません

Webで親アカウントでログインした状態から、子供アカウントへ課金するまでの流れ
※Switch本体からも、子供アカウントへ購入することも可能です

  1. 親アカウントへログインして、ファミリーを表示
  2. 課金する子供アカウントの「ログインとセキュリティ」を開いて、IDを確認
  3. 一旦ログアウトして、子供アカウントでログインし直しプラン選択へ移動し、購入する

    ※右上のアカウントへマウスなどを持っていき、アカウント名を確認
  4. 無料体験(7日間)を利用していれば、「購入にすすむ」でその旨が確認できます


2018/09/20

PHP 7.2 で "Fatal error: Cannot redeclare ImageCreateFromBMP"

PHP を 7.2 に切り替えたところ「Fatal error:  Cannot redeclare ImageCreateFromBMP」のエラー

画像処理に http://jp.php.net/manual/ja/function.imagecreate.php#53879 をコピペした所の ImageCreateFromBMP 関数名がバッティングしているので別の名前に変更

Android5以降でmicroSDカードの書き込み権限を得ようとすると「問題が発生したため、ドキュメントを終了します」

VAIO Phone VA-10J (Android 5) が春くらいから投げ売りということで買ってみたが、一部のアプリケーションで外部ストレージへの書き込み権限を取得しようとすると「問題が発生したため、ドキュメントを終了します」の表示

あー、そーゆーのあったね~
当時は、何となく改善されてたような気がするのだが、OSのアップデートは期待できず、Lolipopが出てから既に数年経ち、アプリに今更問題があるとは思えないので自己解決するしかなさそう

で、いろいろ試した結果は
PCに繋いで適当な「ボリュームラベル」(ドライブの名前)を設定して、端末に戻すと問題が解消
※ボリュームラベルを変更しても入っているデータには影響ありません

2018/09/14

iCloud の Webへサインインできない

iCloud の Webへサインインしようとすると、白いクルクルから何度もIDとパスワードを入力させられる


この手の問題、定期的に直面して、あぁ サードパーティ Cookieブロックしてたわ、な話

icloud.com へサインインしようとしているけど、認証しているのは apple.com てのが原因
そーゆーメッセージ出すとか、リダイレクトで済ませるとかサイト側で対策してほしいす

2018/09/08

伝言メモの通知をロック画面から消す Galaxy S7 Edge (Android 8 Oreo)

Android 7 Nougat まではこちら

設定の通知、詳細からアプリケーション一覧(システムアプリも表示させる)に幾つか表示される「電話」の真ん中を開いて、カテゴリなしの待受通知を表示しないに設定
  

2018/08/29

さくらレンタルサーバのphpでUDPを送信しようとしたら socket_create が使えなかったので fsockopen を利用

さくらレンタルサーバのphpでUDPを送信しようとしたら socket_create が使えなかったので fsockopen を利用して UDPを送信

function UdpSender($host, $port, $msg){
 /*
 $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
    socket_sendto($sock, $msg, strlen($msg), 0, $host, $port);
 socket_close($sock);
 */
 
 $fsock = fsockopen("udp://${host}", $port);
 if($fsock){
  fwrite($fsock, $msg);
  fclose($fsock);
 }
}

RICOH MP1601 シリーズで、マルチページのFAXをメール転送させた時に、ナンバー・ディスプレイ情報が付加されない

RICOH MP1601 シリーズで、マルチページのFAXをメール転送させた時に、ナンバー・ディスプレイ情報が付加されない

受信FAXをメール転送すると、件名に
From "03-XXXX-XXXX"(Fax Message NO.xxxx)
みたいな情報が入ってくる、上のは送信元FAXに設定された、送信元情報(ハイフンが入っている)

ナンバー・ディスプレイを利用した回線で、ナンバーディスプレイを受信する設定に
RICOH MP1601 のナンバー・ディスプレイ設定はデフォルトでオフになっているので、パラメータ設定で スイッチ25のビット6をオンにする
すると
From "03XXXXXXXX"(Fax Message NO.xxxx)
ハイフンのない番号で表示される

ところが、複数ページのFAXを受診した場合、上記の番号部分が抜け落ちてしまう
この場合、
ナンバー・ディスプレイの優先順位を上げる→ パラメータ設定で スイッチ30のビット5をオンにする
これで、ナンバー・ディスプレイ情報の優先度が上がって、メール件名に発信者番号が表示されるようになる
このパラメータ、デフォルトの最優先が「送信者の発信元名称」なんだけど...

2018/08/22

サマータイム導入時のOSとアプリケーション

日本のサマータイム(+1 or +2時間)が現実のものとなったときのための調査メモ

OS側
ほとんどのOSがUTC(世界標準時)で動作しつつ、ローカルタイムもAPIによってアプリケーションへ提供している。したがって、現行OS(サポートが終了していない)は、アップデートにより日本のタイムゾーンを設定していれば、該当日時にローカルタイムを進めたり戻したりする。
サポートが終了したOSは、タイムゾーン設定による調整(サマータイムを導入した日本の場合)は行われないため、常に UTC + 9でローカルタイムが提供される。これらのサポート終了OSで夏時間を実現するには、タイムゾーンを UTC+10 または UTC+11 の地域に変更すればよい。

このときオーストラリアなど夏時間を利用している地域を選択すると混乱を生じる可能性があるので、その年に夏時間を導入しないであろう、ウラジオストクやサハリンを選択するのがベターかもしれない。
タイムゾーンを変更しても言語やデフォルトエンコードには影響は出ない(例: 日本人が海外で自身の端末を使う場合、タイムゾーンは変更しても言語は日本語のままといった状態)

アプリケーション側
多くのアプリケーションが、表示などについてはローカルタイムを利用しているハズ
ネットワーク関連のアプリケーションやファイルシステムではUTCを用いる事が多いが、表示を現地時間に合わせるため UTCからの時差をOSから取得したりローカルタイムへAPIを利用しているので、結局ローカルタイムに依存することとなる

ローカルタイムを利用したアプリケーションで問題になるのが、サマータイムへ切り替わる時間帯と、戻る時間帯に運用しているアプリケーション。
切り替わり時には、1 or 2時間一気に時刻が進むことになり、製造ラインなどで大きな問題が出る可能性がある(1時間かけて投入する材料を一気に投入するような事故)。
戻る時間には、同じ時刻が 1 or 2時間発生するので、製造ラインなどで先程の逆の事や、受注順序の判別が不能などの可能性。
問題が起こる可能性が考えられる場合、予めOS側で夏時間への切替をオフにしておく
OS側の設定が変更できない環境の場合、UTC + 9 を常に計算する等の修正が必要になるが、それなら UTC とローカルタイムを利用するように根本的に変更すべきかもしれない

ローカルタイム + タイムゾーンからUTCを取得することは可能だが(Win: GetUtcOffset)夏時間終了前は、同じ時間が2度訪れるため、何らかの形でUTCを記録しておくしかない

2018/08/21

さくらレンタルサーバでhttps強制転送(+Basic認証)とサーバ変数一覧

.htaccess で http → https リダイレクト(SSL強制)の設定していたところ、以前と変数が違っているよーな気がしたので調べた結果(2018/08/21時点)
独自ドメイン(SNI) で接続 + php の print_r($_SERVER) による情報

これ、2018/3 にさくらが仕様変更を行ったようで、X_SAKURA_FORWARDED_FOR を利用しなくても、リダイレクトループが起きないようになっているみたい
※転送でも HTTPS の値は消えなくなり、X_SAKURA_FORWARDED_FOR の存在は保証しないので、HTTPS の値を利用すべきな内容

ということは .htaccess の記述はシンプルになり

https へのリダイレクト
RewriteEngine On
RewriteCond %{ENV:HTTPS} !^on$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

https のみ Basic認証をかける
<If "%{HTTP:X-FORWARDED-PROTO} == 'https'">
AuthType Basic
AuthName "Auth Access"
Require valid-user
AuthUserFile パスワードファイル
</If>
判定に "%{ENV:HTTPS} == 'on'" を用いたところ、何故か.htaccess のあるルート / のみ認証がかかってしまい、それ以外は認証がかからなかった

※以下の環境変数を.htaccessで利用する場合 _(アンダーバー)と-(ハイフン)の違いに注意

http:// リクエスト
[REDIRECT_STATUS] => 200
[PHPRC] => /home/さくらユーザー名/www
[PATH] => /usr/local/bin:/usr/bin:/bin
[HTTP_HOST] => www.example.com
[HTTP_X_REAL_IP] => リモートホストIP
[HTTP_X_FORWARDED_PROTO] => http
[HTTP_LISTEN_IPADDR] => サーバIP
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
[HTTP_ACCEPT_LANGUAGE] => ja,en-US;q=0.8,en;q=0.5,zh-CN;q=0.3
[HTTP_ACCEPT_ENCODING] => gzip, deflate
[HTTP_DNT] => 1
[HTTP_UPGRADE_INSECURE_REQUESTS] => 1
[SERVER_SIGNATURE] =>
[SERVER_SOFTWARE] => Apache
[SERVER_NAME] => www.example.com
[SERVER_ADDR] => 100.64.0.93
[SERVER_PORT] => 80
[REMOTE_HOST] => リモートホスト名
[REMOTE_ADDR] => リモートホストIP
[DOCUMENT_ROOT] => /home/さくらユーザー名/www/example.com
[REQUEST_SCHEME] => http
[CONTEXT_PREFIX] =>
[CONTEXT_DOCUMENT_ROOT] => /home/さくらユーザー名/www/example.com
[SERVER_ADMIN] => support@sakura.ad.jp
[SCRIPT_FILENAME] => /home/さくらユーザー名/www/example.com/check/index.php
[REMOTE_PORT] => 62823
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] =>
[REQUEST_URI] => /check/
[SCRIPT_NAME] => /check/index.php
[PHP_SELF] => /check/index.php
[REQUEST_TIME_FLOAT] => 1534814528.2287
[REQUEST_TIME] => 1534814528

https:// リクエスト
[REDIRECT_STATUS] => 200
[PHPRC] => /home/さくらユーザー名/www
[PATH] => /usr/local/bin:/usr/bin:/bin
[HTTPS] => on
[HTTP_HOST] => www.example.com
[HTTP_X_REAL_IP] => リモートホストIP
[HTTP_X_FORWARDED_PROTO] => https
[HTTP_X_SAKURA_FORWARDED_FOR] => リモートホストIP
[HTTP_LISTEN_IPADDR] => サーバIP
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
[HTTP_ACCEPT_LANGUAGE] => ja,en-US;q=0.8,en;q=0.5,zh-CN;q=0.3
[HTTP_ACCEPT_ENCODING] => gzip, deflate, br
[HTTP_DNT] => 1
[HTTP_UPGRADE_INSECURE_REQUESTS] => 1
[HTTP_CACHE_CONTROL] => max-age=0
[SERVER_SIGNATURE] =>
[SERVER_SOFTWARE] => Apache
[SERVER_NAME] => www.example.com
[SERVER_ADDR] => サーバIP
[SERVER_PORT] => 443
[REMOTE_HOST] => リモートホスト名
[REMOTE_ADDR] => リモートホストIP
[DOCUMENT_ROOT] => /home/さくらユーザー名/www/ルートパス
[REQUEST_SCHEME] => https
[CONTEXT_PREFIX] =>
[CONTEXT_DOCUMENT_ROOT] => /home/さくらユーザー名/www/example.com
[SERVER_ADMIN] => support@sakura.ad.jp
[SCRIPT_FILENAME] => /home/さくらユーザー名/www/example.com/check/index.php
[REMOTE_PORT] => 11490
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] =>
[REQUEST_URI] => /check/
[SCRIPT_NAME] => /check/index.php
[PHP_SELF] => /check/index.php
[REQUEST_TIME_FLOAT] => 1534814441.4968
[REQUEST_TIME] => 1534814441