概要
.NETアプリの開発で、ガンジスCTIライブラリを参照することで、着信情報と顧客情報を受け取ることができます。
- 着信情報 電話番号・受信側電話番号など
- 顧客情報 ガンジス顧客管理・ガンジスCTIの外部ファイルで、電話番号に一致した複数の顧客情報(No・分類・名前・住所など)
サンプルの利用方法
- ガンジス顧客管理からガンジスCTI あるいは、単独でガンジスCTIを起動します。
- ガンジスCTIの設定>開発で、ライブラリからの接続を受け付ける、をクリックします。
- GangesCTISampleをビルドして、実行します。
- 表示されたメイン画面で、Start CTIをクリックします。
受け取ることができる着信情報・顧客情報は、ガンジスCTIの設定により変わります。
開発方法
GangesCTILibrary.dllを参照に追加します。
サンプルのプロジェクトをビルドする際に、参照を、設定し直さないといけないかもしれません。
サンプル
メイン画面
Start CTIで、ガンジスCTIと接続します。
Close CTIで、ガンジスCTIとの接続を解除します。
着信情報
顧客情報
電話番号に一致した検索結果(最大10件)を表示します。
コード
メイン画面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | namespace GangesCTISample { public partial class MainWindow : Window { public CTIManager ctiManager; public MainWindow() { InitializeComponent(); } private void StartCTI_Button_Click(object sender, RoutedEventArgs e) { ctiManager = new Ganges.CTI.Library.CTIManager(this.Dispatcher); ctiManager.PhoneCalled += CtiPhoneCalled; ctiManager.PhoneDetailCalled += CtiPhoneDetailCalled; ctiManager.StartCTI(); } private void StopCTIButton_Click(object sender, RoutedEventArgs e) { ctiManager.StopCTI(); } private void Window_Closed(object sender, EventArgs e) { try { if (ctiManager != null) { ctiManager.PhoneCalled -= CtiPhoneCalled; ctiManager.PhoneDetailCalled -= CtiPhoneDetailCalled; ctiManager.StopCTI(); } } catch (Exception) { } } private void CtiPhoneCalled(object sender, Ganges.CTI.Library.CTIInfo info) { string text = string.Format("連番:{0}\r\n日付:{1}\r\n着信電話番号:{2}\r\n着信電話番号(表示用):{3}\r\n受信側電話番号:{4}", info.SerialNumber, info.DateTime.ToString(), info.Tel, info.FormedTel, info.ReceiverTel ); var newNotify = new Notify(); newNotify.SetText(text); newNotify.Show(); } private void CtiPhoneDetailCalled(object sender, Ganges.CTI.Library.CTIObj obj) { foreach (var item in obj.CTIDetailCollection) { string text = string.Format("連番:{0}\r\nNo:{1}\r\n分類:{2}\r\n団体:{3}\r\n名前:{4}\r\n住所:{5}\r\nType:{6}\r\nEx1:{7}\r\n日付:{8}\r\n着信電話番号:{9}\r\n着信電話番号(表示用):{10}\r\n受信側電話番号:{11}", item.SerialNumber, item.No, item.Category, item.Group, item.Name, item.Address, item.Type, item.Ex1, item.DateTime.ToString(), item.Tel, item.FormedTel, item.ReceiverTel ); var newNotify = new Notify(); newNotify.SetText(text); newNotify.Show(); } } } } |
通知画面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | public partial class Notify : Window { public Notify() { InitializeComponent(); } /// /// このサンプルでは、データーバインディングを利用せず、コードビハインドでテキストを表示している。 /// /// public void SetText(string text) { this.notifyText.Text = text; } } |
参照
サンプルファイル
開発(ライブラリ接続)のページから、ダウンロードできます。