PKX_CALL_DROP_CAUSE_NORMAL The remote end has dropped the call in a normal fashion (hung up). PKX_CALL_DROP_CAUSE_BUSY The remote end is busy and cannot respond to the call attempt. PKX_CALL_DROP_CAUSE_FASTBUSY An error in routing the call has occurred, resulting in a fast busy
tone being received from the remote end.
PKX_CALL_DROP_CAUSE_REORDER An error in routing the call has occurred, resulting in a re-order tone being received from the remote end.
PKX_CALL_DROP_CAUSE_NOANSWER The remote end did not answer the call within the timeout specified. PKX_CALL_DROP_CAUSE_NODIALTONE No dial tone was present on the line when the call was attempted. PKX_CALL_DROP_CAUSE_RESET The call has been reset due to the channel going down or the reset
command being issued.
PKX_CALL_DROP_CAUSE_TRANSFER The call has been transferred to the remote switch.
PKX_CALL_DROP_CAUSE_FAILED The call has been dropped because the bearer path was not established.
If the PKX_CALL_Make call specifies a channel in use (possibly the channel was used by an incoming call and that call's PKX_EVENT_GROUP_INCOMING_CALL has not yet been retrieved from the event queue), the user application receives a PKX_EVENT_CALL_TASK_FAILED event with
PKX_ERROR_CHANNEL_ALREADY_IN_USE specified in the p1 field of the event.
5.3.4.1.1 Call Analysis
Call analysis is the process used to determine who/what has answered the call: live person, answering machine, fax/modem, or Special Information Tone (SIT) message. Call analysis is based on the speech response duration to determine whether a live person or an answering machine answered the call, and tone detection to determine whether a fax/modem or SIT message answered the call. When using call analysis, the detection of a live person will always be enabled.
Some speech analysis application examples are:
• Telemarketing and outbound call centers: connecting an agent to a call only if a live person answers the call. Some centers also wish to differentiate between business and residential phones, only connecting for a residential live person.
• Voice messaging: playing a prerecorded message to live persons and answering machines, but not fax machines. The following table shows some examples of how speech response durations affect the decision: live responses from home/cell phones are short words or phrases with relatively long periods of silence between them, answering machine responses are typically one or more sentences with a few short periods of silence between them, and live responses from business phones fall somewhere between the two.
Response
Usually Indicates
One short word: “Hello?” live person on a home/cell
phone
Short burst word/sentences: “Hello?” “Who is this?” “Hello?” live person on a home/cell phone
Short burst sentences: “PIKA Technologies.” “How can I help you?” live person on a business phone
One long sentence: “Good morning, this is PIKA Technologies.” live person on a business phone
One long sentence: “You have reached the main office of PIKA Technologies, please leave a message.”
answering machine
More than one long sentence: “Welcome to PIKA Technologies. If you know the extension of the person you wish to speak to, enter it now. If you wish to access the directory, press 1 now. If you wish….”
answering machine
One short sentence: “Leave a message.” or “You know what to do.” answering machine
NOTE: The business phone long response is very similar to an answering machine response; an answering machine with one short sentence is very much like a live person.
Debounce is used to remove speech detection glitches, and filter speech segments from clicks, ringback tones, noise, etc. The parameters used to configure debounce are speechDebounceOn and speechDebounceOFF. Speech ON and OFF segments, after debounce, are processed according to livePersonMaxTime, livePersonMaxTotalTime, speechEndTime, and
livePersonWords.
The livePersonMaxTotalTime parameter specifies the maximum accumulated amount of speech on time before concluding that an answering machine has answered the call. This is used when there are multiple short speech segments which are individually shorter than livePersonMaxTime separated by silence segments shorter than speechEndTime, but where the total
5
accumulated speech segment time exceeds the value of livePersonMaxTotalTime.
The maxDuration paremeter specifies the amount of time to allow before ending the attempt to detect the specified analysis type. If this time expires and no audio was detected, the
PKX_EVENT_CALL_ANAYLSIS_DETECTED_SILENCE event will be raised. If audio was detected, but did not match the pattern specified in the type field, the PKX_EVENT_CALL_ANALYSIS_DETECTED_UNKNOWN event will be raised.
If speech is detected and the length of speech after debounce is within specified limits, a live person is assumed to have answered the phone. The following illustration demonstrates how the parameters are used.
Tone detection detects a fax, modem, or SIT message. SIT messages are prerecorded messages played by Telcos indicating a problem handling a call request. Each SIT message is preceded by a sequence of three special tones that are recognized by the call-processing algorithm. The following illustration shows how the tones are processed to determine whether a SIT message was received and which message it is.
Applications may be set up to delete numbers not in service from the database, or move a busy number to the bottom of the queue to try again. SIT message types and the corresponding GP messages (indicated by the p1 field in the event) are described in the following table.