ITCTIから各PCへの通知を試みる覚書CTIシステムと連携する社内システムを自作する覚書。やりたいことは、電話がかかってきたらその電話番号で顧客マスタを検索して、その結果を、受付や電話を受ける人にポップアップで知らせるというシステム。業者に頼んだら結構な初期費用とランニングコストだったので、なんとか安くすませないかと試行錯誤した結果、Fullfreeというソフトを使うことにした。基本無料のシステムだけども、社内のビジネスフォンと接続するのは業者頼み・・。そのため、数万円で業者に依頼しナンバーディスプレイアダプタを挟む方法で接続。あと、無料のFullfreeだと着信件数に制限があるので、一つだけ8,640円のPROを購入。クライアント・サーバーの環境はC#で自作する。サーバーはコンソールアプリでプロジェクトを作成し、サーバープログラムはこれで。SynchronizedCollectionは、参照の追加でSystem.ServiceModelを追加。プログラムを終了するように、ハイライトの行を追加。Environment.Exit(0);};クライントから受信するためのポートはコマンドプロンプトを起動して下記コマンド。65535の空きを確認。今回は49192を使うことにして、メインプログラムを作成。Server(49192);server.Run();}実行してみる。49192のポートを開いて待ってるかさっきのコマンドで確認。よし、消えた!次はクライアントプラグラム。さっきと同様にここに習って、C#のフォームアプリで作成。文字送信用のボタンを押した時は固定でHOGEHOGEを送信するようにしてみる。送信後のメッセージ表示はコンソールではなくメッセージボックスに変更。サーバー用コンソールを起動して、クライアントのフォームを起動。STARTボタンを押してみる。おお、クライアントからの接続が確認された!SENDボタンを押してみる。サーバー側で認識!クライアント側にも無事に返ってきたさて、次にサーバープログラムを実際のサーバーで動かしてみよう。サーバー側は、デフォルトだとローカルホストのクライアントしか受け付けないので、コンストラクタを下記ハイライトのように変更。クライアントは、Clientクラスのコンストラクタ内をハイライトのように修正。49192);}123.123.123.123には実際のサーバーのIPアドレスを設定。これでまずサーバー側を起動。0.0.0.0のIPになっているところがポイント。これがデフォルトの127.0.0.1だとローカルホストのみになってしまい、”対象のコンピュータによって拒否されたため・・・”というエラーが出る原因となる。クライアントを起動してSTARTボタン。よし!接続確認できた!続いてSENDボタン。無事メッセージの送受信も完了!Fullfreeで電話を受信した時は、クライアントを起動してメッセージを送信する仕組みにする。コンソールアプリで新しいプロジェクトを作成し、クライアントで作成したClientクラスを追加。ネームスペース等を修正し、Main()の中でConnect()、Send()、Disconnect()するようにしてみる。FullfreeのCTI設定のカスタム通知にて通知方法を”プログラムを実行”にし、パスにはこのアプリ。パラメータには電話番号を渡すように”{Tel}”とする。電話番号で社内システムの顧客マスタを検索し、顧客名や担当が取得できる。サーバーに結果を渡すことで、他のクライアントすべてにその結果が出ることになる。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスサイト上に表示された文字を入力してください。