2012/05/30

USBデバイスサーバで、VPS接続を検討中

サーバが壊れたのを機に、VPS(Linux系)へほぼ移行が完了
しかし、FAXサーバとCTI連携の発着信情報の取得は、PCサーバ(Windows系)を残した状態

やはり、電話回線やPBXのハードと直でつながるものは難しいのか???とか思いながらも、こんな構成を思いつく

VPS上に Windowsサーバを構築して、問題のハード接続に、USBデバイスサーバを使えばいいんじゃ!!

Windows Server (VPS) ⇔ VPN ⇔ LAN ⇔ ココへUSBデバイスサーバを設置 ⇔ USB機器(モデムとか)

なんて構成

VPSのWindows 稼働は、他で実績あるみたいだし(ローカルのVMWare で、OSをインストールして、VPS上へ移動させる)、問題はUSBデバイスサーバが使えるかどうかだー(モデムなんかは、回線の速度が問題かも)

2012/05/29

php mail コマンドで日本語文字化け

下記は UTF8 から変換

$subject_enc = mb_encode_mimeheader(mb_convert_encoding($subject,'JIS', 'UTF-8'),'ISO-2022-JP');
$body_enc = mb_convert_encoding($body, 'JIS', 'UTF-8');

mail($mailto, $subject_enc, $body_enc);

ヘッダも、subject と同様に変換

2012/05/25

UniServer (The Uniform Server) で Pear

UniServer (The Uniform Server) で Pear
といっても、基本的なものは入っているみたいなので、使いたいモジュールをインストールするだけ


↑ Mail とか Mail_Mime とか入れる


2012/05/24

メール起動プログラムで 「554 5.3.0 unknown mailer error 255」が返る

メール起動プログラムで 「554 5.3.0 unknown mailer error 255」が返る

さくらのサーバで .mailfilter へ phpファイルを記述して、メールをトリガーにすると、上記のメッセージが送信元に返る
で、これの原因てのが、include やら require やらを相対パスで記述した事

まぁ、それはそれでいいんだけど、開発環境とソースは共用したいワケで
開発環境が Windowsに限っての話ですが、 DIRECTORY_SEPARATOR を比較して、パスを変更したりしてみる

if( DIRECTORY_SEPARATOR === "\\" ){
$libpath = '../lib/';
}else{
$libpath = '/home/username/hogehoge/lib/';
}

require_once($libpath . "config.php");

まぁ、ファイルの存在など、他にも方法はあるのだろうけど、速度も無駄になりますし...


2012/05/22

B-CASカード書き換え問題

有料放送が未契約で見られる B-CASカードに続いて、B-CASカードをリーダー/ライターで書き換える方法が、ネットで拡散中

B-CASカードには、型番がTで始まる東芝系と、Mで始まる松下系があり、それぞれのツールが出回っている
M系は2月から、T系は5月から対策品が流通しているようで、それ以前のカードが書き換え可能な対象となる事から、メーカーも薄々気付いてたのだろう
また、カードの製造番号で書き換えの可否があるため、ツールに付属するリスト等を参照する必要がある

カードの書き換えには、確定申告(e-tax)等で使われる汎用のR/Wだが、今回の問題で大きく値上がりしている

LAN線などを繋いでいない場合、データが一方向にしか流れない構造のため使用者を特定するのは困難なため、有料放送契約者に対して、新しいB-CASカードを配布するくらいしか対応は無さそうだが、複数の有料契約を行っている場合、各局のカード情報を統合するのは、困難かも?
(複数契約には契約数分のカードが届いて、適当な1枚で登録?)


出回っているハード側の変更が不可能なため、根本的な解決が難しく、新たな解析も行われる可能性が高いので、上記のような方法では対策にならない可能性もある


基本的に B-CAS 利権崩壊の糸口になる事だけは、賛成できるんだけど

2012/05/18

Google Drive で同期中に Explorer が強制終了

Google Drive で同期中に Explorer がフリーズや強制終了する

データを移行したばかりで、連続して同期が行われている時は、同期が完了するまで、触らない方がよろしいのか?

最後発に登場した割には、Google Drive って完成度が低いよーな

2012/05/17

フュージョン版 050Plus 「FUSION IP-Phone SMART」 は、オープンなSIPサービス

ついに、フュージョンから 050ソフトフォン「FUSION IP-Phone SMART」が登場
かねてから噂のあったサービスですが、クライアントを選ばないSIPサービスとして出てきました

【変更 + 追記しました】

現在、ベータサービスの提供で、初期費用、月額基本料が無料
  • 8.4円/30秒は、無料通話先以外(固定・移動体問わず)
  • 国際発信は不可(海外IPから接続の Fusion IP-Phone SMART番号は不明)
  • 無料通話の相手は、フュージョンIP-Phoneと同じ範囲
  • 番号通知は、他の050同様通知される
  • スマートフォンじゃなくても、使えるなら使ってもよい(PC, 音声GWなど)
  • 転送、留守番サービスは、今のところナシ
  • NAT越えは STUN?

サービス的には、
  • 基本料無料で、通話料が高く、 付加 サービス少ない、Fusion IP-Phone SMART
  • 基本料ありで、通話料が安く、付加サービス多い、Fusion IP-Phone

という棲み分けみたい
(050が始まった当初の、プロバイダ紐付けは何だったんだろう...)


ということで、早速アカウント取得
スマートフォンで動作テストするのは、フツー過ぎるので


固定回線 + ヤマハの音声GW内蔵ルータへアカウントを入れてみた(プロバイダは関係ないIIJ系)
(たぶん RT, RTV, NVR 系共通に動作するハズ)

番号から自動認識(じゃなくてもいいけど)で、フュージョン系となり

ドメイン名: smart.0038.net (SIPアカウント情報のドメイン)
サーバアドレス: smart.0038.net (SIPアカウント情報のドメイン)
IP加入電話番号: 050******** (お客様情報の電話番号)
アカウントID: ******** (SIPアカウント情報のSIPアカウント - 電話番号から050をはずしたもの)
IP加入電話パスワード: ******** (SIPアカウント情報のSIPアカウントパスワード)

を入力
当たり前といえば、当たり前だけど、問題なく発着信できました

そういえば、フュージョンに昔 「FUSION フォンP'」という似たようなサービスがあって
あれも、音声GWで利用可能だった... ほとんど同じ仕組みのよーな

Google Drive で「共有アイテムの保存容量の上限を超えました」

Google Drive で、共有設定を行っていると
「共有アイテムの保存容量の上限を超えました」のメッセージが出て
共有できなくなった

関係あるかどうかワカランが、ユーザーを追加する画面に
「コピーを自分に送信する」
というチェックボックスがあり、それを付けると回復

たぶん関係ないかな...

Google Drive で共有フォルダを PC同期させる

Google Drive で共有フォルダを PC同期させる

「共有アイテムをマイドライブへドロップすればよい」
http://support.google.com/drive/bin/answer.py?hl=ja&answer=2375189

と書いてあるが、
対象の共有フォルダが空の場合、移動できなかった
またマイドライブに一つもアイテムが無い場合も、移動できなかった

しばらくお待ち下さい アニメーションgif

しばらくお待ち下さいのアニメーションgif
http://www.loadinfo.net/

気に入ったイメージをクリックして、ある程度のサイズ、前景色、背景色も指定して取得できる

2012/05/10

Delphi/C++Builder Indy の uses/include ファイル


Indy コンポーネントを貼り付けたときに、uses 節へ追加される項目
クラスを自前で生成する機会が多いので、メモ


TIdHttp
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP

TIdPOP3
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, IdMessageClient, IdPOP3

TIdSMTP
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, IdMessageClient, IdSMTPBase, IdSMTP

TIdUdpClient
IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient

TIdUDPServer
IdSocketHandle, IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer

TIdHTTPServer
IdBaseComponent, IdComponent, IdCustomTCPServer, IdCustomHTTPServer, IdHTTPServer

TIdMessage
IdBaseComponent, IdMessage

TIdSSLIOHandlerSocketOpenSSL
IdBaseComponent, IdComponent, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL

2012/05/08

Delphi/C++Builder IdHttp で UTF8 のページを string へ Get

Delphi 2009以降(UTF8系)で UTF8 の Webから string へ Getする

S := IdHttp.Get(AURL) だと、デフォルトコードで処理してしまうため
Stream などで取得後、IdGlobal の ReadStringFromStream 関数を用いて string へ変換を行う
uses IdGlobal; // を追加
// :
MemStream := TMemoryStream.Create;
try
    IdHTTP.Get(AURL, MemStream);
    MemStream.Position := 0;
    S := ReadStringFromStream(MemStream, MemStream.Size, TEncoding.UTF8);
    // S := ReadStringFromStream(MemStream, MemStream.Size, IndyTextEncoding_UTF8); // XEのどこからか 
finally
    MemStream.Free;
end;

2012/05/02

スクリプトで、画面遷移をしないと URLが固定されて「進む」「戻る」で最初の画面に

スクリプトで、画面遷移をしないと URLが固定されて「進む」「戻る」で最初の画面になる
Firefox だと最後の画面を出してくれるが、IEはそのページを最初に開いたのと同じ状態に

今回はカレンダーを表示した画面で、月を移動するのに、画面遷移を行わない
でも、そこから次のページへ移動して、戻ると IEの場合最初のページ(今月とか)になってしまう

URLにパラメータを付けて、画面遷移を行うのも今更なので
name タグなどで使用する #hash を利用してみる


切替は、
window.location = "index.php#201204";
な感じで行えば、画面遷移は起こらず

読み取りは
window.location.hash へ #201204 みたいに入るので
window.location.hash.substring(1, 5) 等と中身を切り出せばよい