Hi,
Can anyone tell me, How to deactivate Answering Machine Detect (AMD) on the GVP ?
Hi,
Can anyone tell me, How to deactivate Answering Machine Detect (AMD) on the GVP ?
Genesys OCS is not used for RequestMakePredictiveCall dialing, we are using SSG (Supplementary Service Gateway) but I couldnât find any option under SSG,SIP & MCP appliaction about disabling of AMD (Answering Machine Detection).
From Genesys KB, I have found âcall_answer_type_recognition=no_am_detectionâ then AMD will disabled but this option is for OCS.
From logs, I have found that SIP Server is receiving âcall_answer_type_recognitionâ parameter when RequestMakePredictiveCall initiated.
13:48:38.871 Trc 04541 RequestMakePredictiveCall received from [788] (0000000d ATP_TServerSIP_Pri 10.112.2.21:1421)
message RequestMakePredictiveCall
AttributeThisDN âAPâ
AttributeOtherDN â027577285â
AttributeTimeout 20
AttributeUserData [178] 00 06 00 00..
âOutboundDataâ âINSTID=240295â
âGSW_SESSION_DBIDâ -1
âgsw-session-dbidâ -1
âgsw-ivr-profile-nameâ âCCSurveyâ
âoutbound-ivr-callâ 1
âSSG_APP_NAMEâ âAP_VPSuppSvcGWay_01â
AttributeExtensions [240] 00 08 00 00..
âCPNDigitsâ â70128079â
âivr-profile-nameâ âCCSurveyâ
âSIP_HEADERSâ âOutboundDataâ
âOutboundDataâ âINSTID=240295â
âcall_timeguard_timeoutâ 16000
âcpd-recordâ âoffâ
âcpd-on-connectâ âonâ
âcall_answer_type_recognitionâ âfull_positive_am_detectionâ
AttributeReferenceID 29709
But I donât know from where SIP Server is taking parameter âcall_answer_type_recognitionââ.
Can anyone guide, where to locate so I can find âcall_answer_type_recognitionââ and then I will make it âno_am_detectionâ.
You have to define CPD parameters within request to the SSG from your trigger application.
I have found the trigger application, but I am confused in disabling AMD. Which value is responsible to de-activate AMD.
<xs:schema xmlns:xs=âhttp://www.w3.org/2001/XMLSchemaâ>
<xs:element name=âSSGRequestâ>
xs:complexType
xs:annotation
<xs:documentation xml:lang=âenâ>
A single POST body can contain single create/query/cancel or multiple,
and any combination of the three.
It must conform to the XML request schema present in schema directory
under root path.
</xs:documentation>
</xs:annotation>
xs:sequence
<xs:element name=âCreateRequestâ minOccurs=â0â maxOccurs=âunboundedâ type=âCreateRequestDefâ/>
<xs:element name=âQueryRequestâ minOccurs=â0â maxOccurs=âunboundedâ type=âQueryRequestDefâ/>
<xs:element name=âCancelRequestâ minOccurs=â0â maxOccurs=âunboundedâ type=âCancelRequestDefâ/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="CreateRequestDef">
<xs:annotation>
<xs:documentation xml:lang="en">
"CreateRequest" tag is used to specify the attributes used for
creating new outbound call requests.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="cpd" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation xml:lang="en">
"cpd" tag defined in CreateRequest is used for supporting Call Progress Detection in SSG.
All CPD attributes are optional.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="record" use="optional">
<xs:annotation>
<xs:documentation xml:lang="en">
Specifies if the CPD part of the call should be recorded.
true or 1: CPD part to be recorded
false or 0: Do not record CPD part
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:boolean"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="preconnect" use="optional">
<xs:annotation>
<xs:documentation xml:lang="en">
This attribute is used to decide when to start the CPD.
true or 1: CPD is started as soon as the first RTP packet is received.
false or 0: CPD is started when call is connected.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:boolean"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="rnatimeout" use="optional">
<xs:annotation>
<xs:documentation xml:lang="en">
Timeout to be applied for Ring No Answer scenario.
Unit is in sec (e.g. 30s). If no unit is specified, seconds assumed.
The range, enforced by SSG through XML Schema is 1 to 60 seconds.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="60|[1-9]s|[1-5][0-9]s|60s|[1-9]|[1-5][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="postconnecttimeout" use="optional">
<xs:annotation>
<xs:documentation xml:lang="en">
Timeout to be applied for postconnect CPD.
Unit is in sec or msec (e.g. 20s or 3000ms). If no unit is specified, seconds assumed.
The range, enforced by SSG through XML Schema is 1 to 60 seconds.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="60|[1-9]s|[1-5][0-9]s|60s|[1-9]|[1-5][0-9]|[1-9][0-9]{3}ms|[1-5][0-9]{4}ms|60000ms"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="detect" use="optional">
<xs:annotation>
<xs:documentation xml:lang="en">
This attribute provides control to the Trigger Application about
what to do with the outbound call when various types of CPD are detected.
none (default): CPD in not requested at all by the customer. As soon as call is connected, start IVR.
all: Turn on full CPD. As soon as call is connected, start IVR.
voice: Only if voice is detected, connect to IVR. Any other detection, retry.
am: Only if answering m/c is detected, connect to IVR. Any other detection, retry.
fax: Only if fax is detected, connect to IVR. Any other detection, retry.
voice/am/fax can be combined with comma separation (e.g. voice,am or am,fax or voice,am,fax etc.).
Refer the XML Schema for the combinations
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="none" />
<xs:enumeration value="all" />
<xs:enumeration value="voice" />
<xs:enumeration value="am" />
<xs:enumeration value="fax" />
<xs:enumeration value="voice,am" />
<xs:enumeration value="voice,fax" />
<xs:enumeration value="am,fax" />
<xs:enumeration value="voice,am,fax" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="CustomData" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:annotation>
<xs:documentation xml:lang="en">
"CustomData" tag defined in CreateRequest is to allow the user to pass
additional key/value pairs to the IVR application.
To add each Key/Value pair, a sub-element "KeyValue" should be added with attributes
"Key" carrying "KeyName" and
"Value" carrying "Value" for the above KeyName.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="KeyValue" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
</xs:sequence>
<xs:attribute name="Key" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">
"Key" carrying "KeyName"
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Value" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">
Value to be provided for the KeyName
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="IVRProfileName" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">
Name of the Application Profile to be used for an outbound call.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:minLength value="1"/>
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="NotificationURL" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">
This URL will be used by SSG to asynchronously notify the
Trigger Application with the result of an outbound call
(success or failure).
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Telnum" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">
Telephone Number to make an outbound call.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:minLength value="1"/>
<xs:pattern value="([a-z0-9A-Z.])*(@)?([a-z0-9A-Z.])*"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Token" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">
The Trigger Application is expected to pass a unique Token with each
create request to SSG.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:minLength value="1"/>
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="MaxAttempts" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">
Number of times SSG should attempt to place the outbound call.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:nonNegativeInteger">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="TimeToLive" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">
Duration the outbound call request can live in the persistent storage.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[6-9][0-9]s|[1-9][0-9]{2}s|[1-9][0-9]{3}s|[1-9][0-9]{4}s|[6-9][0-9]|[1-9][0-9]{2}|[1-9][0-9]{3}|[1-9][0-9]{4}"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ANI" use="optional">
<xs:annotation>
<xs:documentation xml:lang="en">
ANI that is passed on in the outbound call to the external party.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z0-9A-Z.])*(@)?([a-z0-9A-Z.])*"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="QueryRequestDef">
<xs:annotation>
<xs:documentation xml:lang="en">
"QueryRequest" tag is used to specify the attributes used for
fetching the details of an existing outbound call requests from
SSG's persistence storage.
</xs:documentation>
</xs:annotation>
<xs:attribute name="Token" use="optional">
<xs:annotation>
<xs:documentation xml:lang="en">
The Trigger Application is expected to pass the Token with each
query request to SSG that was received in create request.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="RequestID" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">
The identifier of the outbound call request whose details needs to be
fetched from SSG's persistent storage when passed in QueryRequest.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:nonNegativeInteger">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="CancelRequestDef">
<xs:annotation>
<xs:documentation xml:lang="en">
"CancelRequest" tag is used to specify the attributes used for
cancelling an existing outbound call requests from
SSG's persistence storage.
</xs:documentation>
</xs:annotation>
<xs:attribute name="Token" use="optional">
<xs:annotation>
<xs:documentation xml:lang="en">
The Trigger Application is expected to pass the Token with each
cancel request to SSG that was received in create request.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="RequestID" use="required">
<xs:annotation>
<xs:documentation xml:lang="en">
The identifier of the outbound call request whose details needs to be
deleted from persistent storage when passed in CancelRequest.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:nonNegativeInteger">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:schema>
It is attribute âdetectâ - it is described within documentation.
Yes, but what to do with âdetectâ ?
Comment the below lines ?
<xs:attribute name="detect" use="optional">
<xs:annotation>
<xs:documentation xml:lang="en">
This attribute provides control to the Trigger Application about
what to do with the outbound call when various types of CPD are detected.
none (default): CPD in not requested at all by the customer. As soon as call is connected, start IVR.
all: Turn on full CPD. As soon as call is connected, start IVR.
voice: Only if voice is detected, connect to IVR. Any other detection, retry.
am: Only if answering m/c is detected, connect to IVR. Any other detection, retry.
fax: Only if fax is detected, connect to IVR. Any other detection, retry.
voice/am/fax can be combined with comma separation (e.g. voice,am or am,fax or voice,am,fax etc.).
Refer the XML Schema for the combinations
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="none" />
<xs:enumeration value="all" />
<xs:enumeration value="voice" />
<xs:enumeration value="am" />
<xs:enumeration value="fax" />
<xs:enumeration value="voice,am" />
<xs:enumeration value="voice,fax" />
<xs:enumeration value="am,fax" />
<xs:enumeration value="voice,am,fax" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
or set to ânoneâ to achieve âno_am_detectionâ ? If this is correct, then please write some sample so I will know how to do it.
I do not know your trigger application, so cannot help within this. But, you have just attached the XSD, no application code. You have to set âdetectâ parameter with required value, as is described in documentation.
Thanks for the help Kubig ![]()