NetBorder Call Analyzer Answering Machine Detection
Product Overview
NetBorder Call Analyzer is a patent-pending Call Progress Analysis engine that ensures fast and accurate automated call classification. It operates in SIP networks as a back to back user agent (B2BUA) which quickly and accurately determines the outcome of call attempts.
Whether it's voice mail, a live human, or a special intercept tone that answers the call, NetBorder Call Analyzer functions much like a human brain: it adapts to a wide variety of noise conditions, ringing patterns, and telecom network conditions.
Where is Netborder Call Analyzer used?
Outbound and Blended Contact Centers
Proactive Notification via Speech or IVR
Outsourcing
Product Scenarios
Interconnect to VoIP Gateways or Directly to a SIP Trunk
Call Analyzer works in SIP networks, as a Back-to-back User Agent (B2BUA) Session Controller (Figure 1). This type of deployment might be required for cases where the call center has already standardized/certified on a set of VoIP gateways or in the case the call center is connected directly to a SIP Trunk from a SIP provider (Figure 2).
Figure 1: NetBorder CPA in a SIP to SIP interconnect (B2BUA)
Figure 2: NetBorder CPA in a SIP to SIP interconnect with a SIP Trunk provider
Combined with Internal VoIP Gateway and Directly Connected to the PSTN
Alternatively, the NetBorder Call Analyzer can be combined with its own VoIP gateway functionality for direct, cost effective connectivity to the PSTN (Figure 3).
Figure 3: NetBorder CPA with built-in VoIP Gateway
SIP Description
NetBorder Call Analyzer uses a standard SIP interface and runs on standard computing platforms and servers. The software is highly configurable as it is based on scripts.
However, extensions to the SIP protocol are required because there is no standard method to provide the information of events back to the dialer, e.g. who or what answered, SIT tones, etc.
SIP Automated Dialers
There are 3 areas of functionality that are required by Automated Dialers that are not covered adequately by SIP standards and drafts:
The request for a CPA resource has to be controllable on a call-by-call basis.
After a call is answered, an attempt needs to be made to classify the call in order to determine who or what has answered the call. This classification process is called Call Progress Analysis (CPA). The results of such determination (human/answering machine/fax) need to be delivered to the dialer.
If a call cannot be successfully established, the reason for a failure must be communicated back to dialer.
SIP Extensions NetBorder Implementation
The SIP Extensions outlined below are available as is in NetBorder Call Analyzer. As there are no standard way to address the requirements of dialers in SIP networks, other methods or changes to call flows are very much valid as well. NetBorder is a highly configurable platform and its scripts can be modified to adhere to other SIP Extension methods or to more complex call flows such as using SIP INFO to pass CPA results.
Invoking Call Progress Detection in SIP requests
To invoke or enable Call Progress Analysis (CPA), a custom SIP parameter "cpd" in the Request URI of initial INVITE message is used. The valid values for the header are "on" and "off". If the header is not present, the CPA resources are switched off. Further illustrations and examples are provided below.
Passing Call Progress Detection Results in SIP responses
A connection to either human, answering machine or a fax is considered to be a successful call. As there is currently no standardized way to pass call progress detection results in SIP, a custom header "CPD-Result" in the 200 OK response is used to indicate what type of connection is detected.
The possible values for this header are:
"Voice"
"Answering-Machine"
"Fax"
"Other" (for devices like modem for example)
Example of SIP Message Exchange for Successful Call Attempts
To further the level of details from the drawings above, below are examples of actual SIP messages between the Dialer and NetBorder.
Sample SIP INVITE message from Dialer to NetBorder:
INVITE sip:1024@192.168.11.103:5061;cpd=on SIP/2.0 Via: SIP/2.0/UDP 192.168.11.156:5060;branch=z9hG4bK233E73631D7A9A90B05D8C5A02983766;rport=5060 Max-Forwards: 70 Contact: To: From: "Your Long Name";tag=660A72622E4A7F9B9A839A2B8B9381FD Call-ID: FC735409EBE21C394E69C4AD800FBF01@192.168.11.156:5062 CSeq: 1 INVITE Session-Expires: 1800;refresher=uac Content-Type: application/sdp Supported: timer, replaces User-Agent: Kapanga Softphone Desktop 1.00/2163e+1161886252_001372BDBCE2 Content-Length: 323
Sample 200 OK response with CPD-Response special header:
SIP/2.0 200 OK Via: SIP/2.0/UDP 192.168.11.156:5060;branch=z9hG4bK233E73631D7A9A90B05D8C5A02983766;rport=5060 Contact: "Paraxip NetBorder" To: ;tag=0f7fe217 From: "Your Long Name";tag=660A72622E4A7F9B9A839A2B8B9381FD Call-ID: FC735409EBE21C394E69C4AD800FBF01@192.168.11.156:5062 CSeq: 1 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, INFO Content-Type: application/sdp Content-Length: 236 CPD-Result: Voice ...
Mapping of Error Codes for Unsuccessful Call Attempts
When an outbound call fails (busy, vacant number, no answer, etc.), automated dialers need to be provided with the required information as different retry strategies could be used by the call center. For example, a call to a busy line might be tagged by the dialer to be retried 30 minutes later, where as a vacant number would be removed from the dialer's list.
The call flows introduced earlier are reproduced here (Figure 6 and Figure 7) with failure events instead of call connection events:
The process starts with the same SIP INVITE message with "cpd=on" in the request line of the SIP message. However the call flows differ in that a failure event (in signalling for instance) or a failure tone (on the media path) will occur instead of a call completion. In such case, NetBorder makes a determination if the connection "failure" is a permanent one or a temporary network condition and selects the appropriate SIP 4xx response to inform the dialer. Further SIT information can be retrieved by the dialer (if this level of detail is required) in a custom header named "CPD-Result", added to the 4xx response.
Below is a list of failure cases and the SIP messages provided by NetBorder to properly inform the dialer of the cause of failure:
PSTN Telephony ConditionNetBorder SIP Response MessageNo Answer408 Request TimeoutDestination Busy486 Busy HereFast Busy480 Temporarily Unavailable; CPD-Result: "Sit-Reorder"Special Intercept Tones (or Tri-tones)No Circuit Found (NC)480 Temporarily Unavailable; CPD-Result: "Sit-No-Circuit"Intercept (IC)404 Not Found; CPD-Result: "Sit-Intercept"Vacant (VC)404 Not Found; CPD-Result: "Sit-Vacant"Reorder (RO)480 Temporarily Unavailable; CPD-Result: "Sit-Reorder"
Below is an example of an error message:
SIP/2.0 404 Not Found Via: SIP/2.0/UDP 192.168.11.155:5090;branch=z9hG4bK0FD4C39B67437A03BFBCF7034D60BF5F;rport=5090 To: ;tag=245fa543 From: "netb"; tag=892F621D7FCFE274D88D0AB691717C90 Call-ID: F1DC2E2FC135E35E671AC246D6102FA6@192.168.11.155:5062 CSeq: 1 INVITE Content-Length: 0 CPD-Result: Sit-Intercept
Features
Best-in-industry accuracy and response time
With patent-pending algorithms, NetBorder Call Analyzer delivers the highest accuracy and fastest call delivery rates available for automated calling applications.Optimized Detection
Configurable pre-connect tone detection
Post-connect analysis
End of Greeting
Resilient against different calling conditions
Statistical models used by NetBorder Call Analyzer are robust, regardless of background noise and network conditions.Integrate via Standards-Based SIP
No proprietary Application Programming Interfaces. Support for both PSTN and VoIP networks.Operate in a dynamic environment
Call progress confidence measures enable the system to adapt according to contact center operating conditions.Streamlined tuning process The statistical approach eliminates the need for long and frequent tuning cycles of the call progress parameters.
SIP/ Session Control Interface:
B2BUA as Relay Server or Outbound Proxy
SIP as per RFC 3261
3PCC as per RFC 3725
Sangoma SIP Extensions for CPA
Media Processing:
Patent pending Call Progress Analysis Neural Network
Configurable pre-connect analysis (International pre-connect tones such asringing, Busy, SIT)
Post-connect analysis
End-of-Greeting detection
DTMF per RFC 2833
Built-in recorder for tuning and quality/accuracy audits
Benchmarking:
Sangoma has run its own internal benchmarking of various technologies, out of the box, without tuning; using a database of live recordings of approximately 5000 calls. Sangoma provides 15% increase in accuracy over competing technologies. While this does not constitute a guarantee, live deployments should experience similar results and performance over a statistically significant sample of calls.
Management tools:
Logging
Event viewers
Automated CSV file generation for quality/accuracy audits
Operating Systems Supported:
Microsoft® Windows XP
Microsoft® Windows 2003 Server (32 & 64 bit)
Microsoft® Windows 2008 Server (32 & 64 bit)
RedHat® Entreprise Linux 5.x (64-bit)
CentOS 5.x (64 bit)
Server Requirements (minimum):
Intel® or AMD Dual Core processor at 2 GHz
1 GB of RAM
80 GB HDD
Consult Sales for detailed specifications(