Ozeki VoIP SDK - Product Guide
Developers Guide
Caller identification of outgoing calls based on Dialed number
Explanation
Prerequisities
![]() |
Download: | 40_CustomerIdentification.zip |
This article is a brief introduction about caller identification in call centers in relation with Ozeki VoIP SIP SDK. After reading through this page you will be fully familiar with all the essential terms concerning caller identification and what you will need for creating your own solution using Ozeki VoIP SIP SDK.
Introduction
Call center servers need to implement a lot of support for handling incoming calls and caller identification. For this purpose the basic information should be stored in databases where the call center server can look for information.
Figure 1 - Call center database integration
The most essential purpose of the database connection in a call center server is the customer identification. This basically means that the call center can get all the known information about a customer in the exact moment the customer calls the system or a call center agent dials a customer's number.
Customer identification can be the base of the call routing, for example. Let's assume that your company has three different provided services, and you have three groups of support agents, each group is a set of professionals on the service assigned to their group. When a customer calls the call center server checks the customer information from the database and identifies them as somebody who purchased for the second service. In this case it is essential that the call will be directed to an agent who is assigned to the second service.
The example program you can download from this page covers more features this article describes; therefore it is suggested to read the following articles too on this topic:
- Detecting incoming calls from database
- Call center database integration
- Logging call information in a database
When an outgoing call is made, the following method code runs shown in Code 1. This code initializes a customer data form that is a window displaying all the customer data and the notes about the previous calls with that customer.
if (textBox1.Text != String.Empty)
{
connection.Open(); // Does nothing if already open.
CustomerDatasheet datasheet = connection.getCustomerDatasheet(textBox1.Text);
if (datasheet != null && new CustomerDataForm(datasheet).ShowDialog() == System.Windows.Forms.DialogResult.OK)
connection.saveCustomerDatasheet(datasheet);
}
Code 1 - Creating a data form from the database information according to the dialed number
The customer data form is created using a customer data sheet that is a container class for all the customer data that can be retrieved from the local database the program is connected to. Code 2 shows how the application performs the database commands for retrieving the proper data from the database.
public CustomerDatasheet getCustomerDatasheet(string PhoneNumber)
{
DbDataReader reader;
Int64 id;
string fullName;
List<string> phoneNumbers = new List<string>();
SortedDictionary<DateTime, string> notes = new SortedDictionary<DateTime, string>();
string sql = string.Format("SELECT c.customer_id, c.fullname, n.phone FROM customer c INNER JOIN number n ON c.customer_id = n.customer_id WHERE n.phone = '{0}'", PhoneNumber);
reader = this.CreateDbCommand(sql).ExecuteReader();
if (!reader.Read())
{
return null;
}
id = (Int64)reader["customer_id"];
fullName = (string)reader["fullname"];
while (reader.Read())
{
phoneNumbers.Add((string)reader["phone"]);
}
reader.Close();
reader = this.CreateDbCommand(string.Format("SELECT n.created, n.note FROM note n WHERE n.customer_id = {0} ORDER BY n.created ASC", id)).ExecuteReader();
while (reader.Read())
{
notes.Add((DateTime)reader["created"], (string)reader["note"]);
}
reader.Close();
return new CustomerDatasheet(id, fullName, phoneNumbers, notes);
}
Code 2 - Retrieving customer information from the local database
You can use the customer data form for recording more information about the customer and/or the calls you make with them. If you want more information on this topic, please check the Logging customer data to a database article too.
This article introduced you the basic knowledge about caller identification in call center solutions and showed how Ozeki VoIP SIP SDK can help you to fulfill your wishes about this topic. If you have read through this page carefully, you already have all the knowledge you need to start on your own solution.
As you are now familiar with all the terms concerning this topic, now it is time to take a step further and explore what other extraordinary solution Ozeki VoIP SIP SDK can provide to you.
If you have any questions or need assistance, please contact us at info@voip-sip-sdk.com
You can select a suitable Ozeki VoIP SIP SDK license for your project on licensing page
Related Pages
- Setup Ozeki VoIP SIP SDK effectively: Quick start guide
- Download Ozeki VoIP SIP SDK form the Ozeki VoIP SIP SDK download page
- You can find licensing information of Ozeki VoIP SIP SDK on Pricing and licensing information page
| Operating system: | Windows 8, Windows 7, Vista, 200x, XP |
| System memory: | 512 MB+ |
| Free disk space: | 100 MB+ |
| Development environment: | Visual Studio 2010 (Recommended), Visual Studio 2008, Visual Studio 2005 |
| Programming language: | C#.NET |
| Supported .NET framework: | .NET Framework 4.5, .NET Framework 4.0, .NET Framework 3.5 SP1 |
| Software development kit: | OZEKI VoIP SIP SDK(Download) |
| VoIP connection: | 1 SIP account |
INTERMEDIATE
VoIP technology walkthrough
Softphone development
Webphone development
Mobile development
Voice recording
GETTING AROUND
Sitemap
Search the manual
API documentation
FAQ
Appendix


