Use the Registry to create a unified Call Center Configuration Management System and call center management system

Source: Internet
Author: User

Use the Registry to create a unified Call Center Configuration Management System and call center management system

Step-by-step development of Call Center Series

It has been nearly three months since the last release of "call center system architecture". I have experienced many things in the past three months and have never been able to write my blog in my spare time, today, we finally have some time to summarize the major events that have taken place over the past few months.

1. The cute baby was born. Although she didn't have a little princess, she was very excited and happy. All of a sudden, the goal of life has changed. No longer thinking about how you want to do anything, but first thinking about how to provide a happy childhood for your baby. Here, I would also like to thank my wife and adults who have worked so hard to bring me a baby. Without your support, my life will not be so happy.

2. After the call center system sells the first and third copies, the second and third copies will be sold one after another ...... N parts, ranging from 10 agents to 200 agents, from digital trunk lines to analog trunk lines, during which various problems were encountered, we have been fighting for N more than 36 hours.

Okay. I will continue to summarize the call center technologies.

In the previous "call center system architecture", we talked about various modules of the call center and their associations. In this system, both pure TCP and WCF communication mechanisms are used between the agent software and the agent service. The communication between other modules is based on WCF, therefore, module A needs to know the WCF Service addresses provided by Module B and Module C, so A question arises: how to configure so many messy WCF or TCP connection address information?

Generally, our system configurations are maintained in databases or configuration files. Let's analyze the advantages and disadvantages (the viewpoint is limited to the system architecture. Each system has the business background of each system and cannot be generalized ).

1. Use the configuration file to maintain the configuration information.

This method is the most widely used and the lowest development cost. However, there are many obvious disadvantages: The maintenance and modification costs are high. If the address provided by one node changes, it is difficult to overwrite the modification to all places, which may often cause omissions, this affects system stability. In addition, the efficiency is relatively low. In an emergency, this method will consume a lot of time. Obviously, we excluded this method.

2. Use a database to maintain configuration information.

This method is a good method that is widely accepted by everyone. It not only modifies a place, but covers all the places, but also reduces the time consumption cost and improves the efficiency, in addition, the database cache service can be used to provide external services in a unified manner to improve system operation efficiency. But the disadvantages are also obvious: before the system is deployed, the database access configuration itself needs to be configured. If the database address or account information changes, the configuration information distribution problem caused by the first method cannot be removed.

Considering that the resources consumed by each module in the call center system are not extremely high, the system deployment structure may be shown in the hardware layer:

/// <Summary> /// read the configuration from the Registry /// </summary> /// <param name = "key"> </param> // <returns> </returns> internal static CtiServerConfig Load (Microsoft. win32.RegistryKey) {CtiServerConfig config = new CtiServerConfig (); if (key! = Null) {config. ctiAddress = key. tryGetValue <string> ("CtiAddress"); config. ctiPort = key. tryGetValue <int> ("CtiPort"); config. isTape = key. tryGetValue <int> ("IsTape") = 1; config. tapePath = key. tryGetValue <string> ("TapePath"); config. isPlayJobNo = key. tryGetValue <int> ("IsPlayJobNo") = 1; config. voicePath = key. tryGetValue <string> ("VoicePath");} return config ;} /// <summary> /// Save the configuration to the Registry /// </summary> /// <param name = "key"> </param> public void Save (microsoft. win32.RegistryKey) {key. setValue ("CtiAddress", this. ctiAddress); key. setValue ("CtiPort", this. ctiPort); key. setValue ("IsTape", System. convert. toInt32 (this. isTape); key. setValue ("TapePath", this. tapePath); key. setValue ("IsPlayJobNo", System. convert. toInt32 (this. isPlayJobNo); key. setValue ("VoicePath", this. voicePath );}

Note: C # registry read/write operations may differ between 32-bit and 64-bit. Because the CTI of the system uses 64-bit encoding, the configured information is displayed, the 32-bit service cannot be read.

For 32-bit and 64-bit access to the registry, please refer to the blog "C #32-bit program access to the 64-bit Registry".

 

 

There is no call center-related technology in this article. You can send a blog and report it to me.

Next we will introduce how to select the Event Mode of sanhui board.

Technorati MARK: C #, call center, sanhui

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.