Call Centre Client with CRM functionality


For developer

Introduction

The OPS Call Centre CRM is a software package including many unites. By the help of this software package we can create a centralised CRM database where we can record our cutomers’ data, call list and we can even add comments to them. The OPS Call Centre CRM is made up of CRM Client and CRM Server programs. The CRM Client programs connecting to the server can continuously see the actual data records and furthermore the users are informed about the incoming calls if their phone number and username are given. With the CRM Client programs we can monitor the status of our clients, we can perform immediate modifications and cancellations or we can register new clients in the system.

Software requirements

  • Microsoft Windows 7, 8, 10, Vista
  • Microsoft Visual Studio 2012, .NET 4.0

Installation and Configuration of Ozeki Phone System

In order to connect to the server, Ozeki Phone System has to be installed. A Setup Guide can be found here: How to install and configurate your Ozeki Phone System, the installation package can be downloaded from the following page: Download. After the installation, the main page of the PBX can be accessed on the http://localhost:7777/Home address.


Figure 1 - Ozeki Phone System login screen

For the first login attempt, use the username and password, which was provided during the installation process.

New user can be added to the system with the Add user button. It can be found under the Office users menu item in the Connections menu.


Figure 2 - Add new user

The username and password specified here can be used to connect to the system, in the OPSClient LoginAsync method.


Figure 3 - New user configuration panel

Project development

  1. Let us create a new WPF Application project with the help of File/New/Project menu item.
  2. Let us add the OPSSDK.dll file to the project references in the Solution Explorer by clicking on Add Reference… menu item. This will ensure the connection interface to Ozeki Phone System.

How to use the sample program

When presenting the program package we will discuss the CRM Server and CRM Client separately.

CRM Server

When starting the CRM Server the login screens appears where we should give the IP address and port number of the Ozeki Phone System SDK service and the username and password of the user which were set in the Ozeki Phone System XE at office users menu. After the successful login the CRM server starts the central database automatically and it waits for the connection request of the clients. On the user interface of the CRM Server we can follow the client connections, we can see what modifications have been done on the customers’ data by which client or what new customers and comments have been added in the system. Since the CRM server is the key for the operation of the program packet, the system requires contiuous access to the CRM Server. We do not need to modify the default settings of the CRM Server.

CRM Client

When starting the CRM Server the login screens appears where we should give the IP address of the computer that runs the CRM Server. The port which the server listens on is automatically added on the given field so you do not need to modify or overwrite it. Besides giving the access details of CRM server we need to give the phone number and the username of the employee too who uses the CRM Client software. The CRM Server will log the modifications based on these informations and it will notify the employee on the given phone number if he/she has an incoming call. After the successful login the CRM client queries the customers’s data from the CRM Server and the user can see it on the user interface of the program immediately. The program displays every information of the customers if the user clicks on the customers in the upper part of the user interface. The user can modify the customer’s data or cancel the customer. The details of all conversations with customers can be seen on the user interface so it is possible to add or remove comments to customers. New customers can be added in the CRM Client. When adding a new customer his/her firstname, surname and phone number should be recorded. Without these information the system does not allow to register a new customer. To avoid accidental cancellations or modifications the CRM Client always asks for permission to perform the operation.

Implementation

The CRM Client and CRM Server projects refer to OzCommon project in order to do the basic login processes and blend with the user interface. In the two projects we will use further functions of OzCommon.

CRM API

The classes used by both CRM Client and CRM Server can be found in the CRM API project. The CrmEntry class that represents the customer is one of them. The CrmEntry derives from DatabaseEntity class. With the help of DatabaseEntity the CRM Server can store the instances in database since the ID field deriving from DatabaseEntity is the main key to database entries. The ID is set automatically. We use the CallHistoryEntry and CrmNote classes in CrmEntry class which represents the call log and comments of the customer. The parties share the information used by the login processes that take place between the CRM client and CRM Server by ClientCredential class. This class stores the phone number and username that were given in the login window of CRM Client. If the employee who uses the CRM Client has an incoming call, the CRM Server notifies the CRM Client concerned based on the information coming from the Ozeki Phone System. The CRM Server sends the call information to the CRM Client by using CallSessionInfo class. In the CRM API project we can find the interfaces ( ICrmClient, ICrmServer) implemented by CRM Client and CRM Server. These interfaces represents the client and server functionalities and the list of the methods that can be called on the other side. Since WCF technology is used for information exchange between the two parties, we also store the WcfConnectionProperties class in CRM API project. This class represents the information needed for WCF initialisation.

CRM Client

	public event EventHandler<CallSessionInfo> CrmServerCallReceived;
	public event EventHandler<CallHistoryEntry> CrmServerCallHistoryEntryAdded;
	public event EventHandler<CrmEntry> CrmServerEntryAdded;
	public event EventHandler<CrmEntry> CrmServerEntryModified;
	public event EventHandler<CrmEntry> CrmServerEntryDeleted;


	var sessionInfo = notificationMessage.Sender as CrmEntry;
	if (sessionInfo != null)
	{
		var incomingCallPopUp = new IncomingCallPopup(sessionInfo);
		TaskBarIcon.ShowCustomBalloon(incomingCallPopUp, 
			PopupAnimation.Fade, 10000);
	}


Download Installer    Download Source Code




More information