SIP Call Handler Blocking Detection and Redress
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Dialers lack the ability to accurately determine when a VoIP call is blocked by a terminating voice service provider, leading to inefficient reattempting of calls and resource wastage, as they cannot properly process error codes or recognize changes in call-blocking status.
Innovation Solution
A call handler in a contact center identifies SIP error codes and associates calling party numbers with blocking status, using audio intercepts and vCards to determine blocking carriers, and selects alternative numbers, providing notifications and maintaining records for redress.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If dialers reattempt blocked calls, then call delivery may eventually succeed when blocking status changes, but resources are wasted on repeated failed attempts and operational efficiency decreases
Solution Approach 1:
The system implements feedback by monitoring SIP error codes (specifically 603 and 608) returned by terminating carriers to detect call blocking status. This feedback mechanism allows the dialer to recognize when a calling party number is blocked and adjust its behavior accordingly, either by pausing reattempts or selecting alternative numbers, thus resolving the contradiction between maintaining reliable call delivery and avoiding wasted resources on blocked calls
Solution Approach 2:
The system dynamically adjusts dialing behavior based on real-time blocking status detection. When a block is detected through SIP error code analysis, the system can dynamically pause reattempts for that specific calling party number or dynamically switch to an alternative calling party number from a pre-configured list, allowing the system to adapt to changing network conditions and carrier blocking policies
2Ease of operation
If dialers use generic busy error codes, then call processing is simple, but accuracy in identifying blocked calls deteriorates leading to misleading information
Solution Approach 1:
The system applies local quality by specifically targeting and analyzing certain SIP error codes (603 and 608) that locally indicate carrier-initiated blocking, rather than treating all error codes uniformly. This selective approach maintains simplicity by focusing on specific code patterns while achieving high precision in blocking detection, resolving the contradiction between ease of operation and measurement precision
3Loss of information
If audio intercepts are used to inform callers of blocking, then human callers understand the blocking status, but computer-based dialers cannot recognize the intercept and process it effectively
Solution Approach 1:
The SIP error code acts as an intermediary that translates the carrier's blocking decision into a machine-readable format. While audio intercepts serve human callers, the SIP error code (603 or 608) simultaneously provides computer-based dialers with unambiguous blocking status information, resolving the contradiction between human understanding and machine recognition by providing dual communication channels
4Adaptability or versatility
If carriers maintain proprietary blocking algorithms, then they can dynamically manage call blocking based on their criteria, but dialers cannot determine when blocking status changes and continue reattempting blocked calls
Solution Approach 1:
The system establishes a feedback loop where SIP error codes (603/608) are continuously monitored to detect changes in blocking status. When the carrier changes its blocking decision, the feedback mechanism through SIP signaling allows the dialer to detect this change and adjust its behavior accordingly, either by resuming calls to unblocked numbers or continuing to use alternative numbers, thus resolving the information asymmetry created by proprietary carrier algorithms
Data Source
AI summary
A call handler is configured to originate calls using records stored in a contact list by using various campaign call data comprising a set of calling party numbers or “ANIs” that are to be used when originating calls. Each ANI is associated with a status, which reflects whether a terminating voice service provider has blocked a prior call using that ANI. The call handler is configured to recognize when a call is blocked by examining SIP protocol-based error codes and/or intercept announcements provided by the carrier when the call is blocked. Upon detecting the call is blocked, the call handler will update the status of that ANI and select another ANI value from the campaign call data to use for subsequent call originations of that campaign. A set of ANIs that a carrier has blocked may be stored to facilitate subsequent redress with that carrier.


