This document describes the DNC (Do Not Call) list lookup service.  This is a configurable service that is passed a number by CallGem just prior to the number being dialed by Sytel's predictive dialer.  The service can then check the number against a data source, typically a web service or database, to see if it belongs to this organisation's Do Not Call listing.  If the number is contained, in that list the DNC service will notify CallGem that the number should not be dialed.

The query to the DNC service will be made a few seconds before the call is dialed.  The time between dialing and checking the number is dependent on the performance of each data/web service but occurs immediately before the number is dialed.

Example: DNC service used to check multiple DNC lists for different companies - typical in an outsourcing environment

Solution Detail - Each end user may have its own requirements for the DNC service.  In order to make the DNC service as reusable as possible it is split into two components:

  • A generic, Sytel portion of the code that utilises the Sytel sockets API to retrieve numbers that are to be checked against DNC.  This also serves to maintain the connection with the dialer and provides methods for recovery in the event of a network failure.
  • A customer-specific portion, this is a .Net DLL which provides the logic to deal with each DNC service in whatever method is required e.g. query a web service, check a text file.

Logging - Detailed logging of events, including how long each DNC lookup took and what the result was is contained in the logfiles.

Benefits of the solution
The advantages of this approach are:

  • The separation approach creates two separate application sections - one of which can be entirely customised to the environment.  If a new web service for DNC is introduced, its configuration can be added to this code.
  • As this code is written by the reseller or end customer, they may make changes to the service as they need to, without needing assistance from Sytel.


  • Easily customizable – can check against databases or web services
  • Instant lookup – performs lookup shortly before dialing occurs.