Page 1 of 1

Answering Machine(AMD) detection on all answered calls

PostPosted: Sun Sep 09, 2018 8:39 am
by pratik
Hello,

We have installed vicidial 2.12 with scratch installation. We are using centos 6.9 version. We installed asterisk version 11.22.0-vici.

We configured one survey campaign with answering machine message configurations. We are using routing extension 8373 or 8375 for automatically detect answering machine on dialed number from campaign.

But, we are facing issue in it. Successfully answered calls by customer, also routed to AMD message only. Bellow are the routing prefix details on our server.

; VICIDIAL SURVEY transfer script AMD with Load Balanced:
exten => 8373,1,Playback(sip-silence)
exten => 8373,n,AGI(agi://127.0.0.1:4577/call_log)
exten => 8373,n,AMD(2000,2000,1000,5000,120,50,4,256)
exten => 8373,n,AGI(VD_amd.agi,${EXTEN})
exten => 8373,n,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB)
exten => 8373,n,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB)
exten => 8373,n,Hangup()

; VICIDIAL SURVEY transfer script AMD with Cepstral variables:
exten => 8375,1,Playback(sip-silence)
exten => 8375,n,AGI(agi://127.0.0.1:4577/call_log)
exten => 8375,n,AMD(2000,2000,1000,5000,120,50,4,256)
exten => 8375,n,AGI(VD_amd.agi,${EXTEN})
exten => 8375,n,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMPCEP-----LB)
exten => 8375,n,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMPCEP-----LB)
exten => 8375,n,Hangup()

Can you help us to fix this issue.

Re: Answering Machine(AMD) detection on all answered calls

PostPosted: Sun Sep 09, 2018 11:03 am
by williamconley
1) Welcome to the Party! 8-)

2) As you are obviously new here, I have some suggestions to help us all help you:

When you post, please post your entire configuration including (but not limited to) your installation method (7.X.X?) and vicidial version with build (VERSION: 2.X-XXXx ... BUILD: #####-####).

This IS a requirement for posting along with reading the stickies (at the top of each forum) and the manager's manual (available on EFLO.net, both free and paid versions)

You should also post: Asterisk version, telephony hardware (model number is helpful here), cluster information if you have one, and whether any other software is installed in the box. If your installation method is "manual/from scratch" you must post your operating system with version (and the .iso version from which you installed your original operating system) plus a link to the installation instructions you used. If your installation is "Hosted" list the site name of the host.

If this is a "Cloud" or "Virtual" server, please note the technology involved along with the version of that techology (ie: VMware Server Version 2.0.2). If it is not, merely stating the Motherboard model # and CPU would be helpful.

Similar to This:

Vicibox X.X from .iso | Vicidial X.X.X-XXX Build XXXXXX-XXXX | Asterisk X.X.X | Single Server | No Digium/Sangoma Hardware | No Extra Software After Installation | Intel DG35EC | Core2Quad Q6600

3) Since you did not include a link to your installation instructions, it's impossible for anyone who may have used your installer to help out if they experienced a similar problem.

4) This is obviously NOT general discussion, but a support request. I'll move it to the Support board. Try and create your thread in the appropriate board from now on.

5) AMD is an Asterisk module. Not a Vicidial module. You included the Vicidial dialplan (which is in EVERY Vicidial installation) but did not include your configuration options for AMD nor any debug output from the Asterisk CLI. This pretty much leaves any technician trying to help two basic options: 1) take potshots at your problem by covering all known flaws of Asterisk's AMD module in addition to likely configuration errors on your part or 2) Tell you that you need to supply the missing information to avoid reposting every AMD post that's ever happened in the past. I'm opting for 2), just so ya know. lol (for instance: You did not include the CLI output from a Human Answered call to demonstrate that AMD thought this was Human ... or Machine ... that will make a HUGE difference in how to proceed: Did Vicidial interpret incorrectly, or did AMD interpret incorrectly?)

6) You missed the BASE requirement for support requests on this forum: You MUST post the Vicidial Version With Build. There were hundreds (thousands?) of builds for Version 2.12. If, in fact, there was a bug in 2.12 in one or more of those builds related to AMD ... leaving off the build means there will be no way to find out if your version had that bug.

7) WHY did you install an old version of Vicidial instead of the latest version available today? Is this an old installation? WHY did you not install with Gardo's Goautodial wiki instructions? While these may seem petty questions, believe me when I say that answering them often clues the rest of us in on your situation and sometimes even assists in troubleshooting. Especially if you include the installation instructions (ie: a link to where you got the instructions) somewhere in your post (best in your signature with the rest of your specs, actually).

Happy Hunting! 8-)

Re: Answering Machine(AMD) detection on all answered calls

PostPosted: Mon Sep 10, 2018 12:53 am
by pratik
Hello,

Our server is on cloud server. We are using voip minutes for calling.

Below is the CLI output for call.

Connected calls successfully with 8366 routing prefix:

-- Called SIP/7714798020249@vascoip
M128*CLI>
== Manager 'sendcron' logged on from 127.0.0.1
== Manager 'sendcron' logged off from 127.0.0.1
-- SIP/vascoip-00000000 is making progress passing it to Local/664798020249@default-00000000;2
-- SIP/vascoip-00000000 answered Local/664798020249@default-00000000;2
> Channel Local/664798020249@default-00000000;1 was answered
-- Executing [8366@default:1] Playback("Local/664798020249@default-00000000;1", "sip-silence") in new stack
-- <Local/664798020249@default-00000000;1> Playing 'sip-silence.gsm' (language 'en')
-- Executing [8366@default:2] AGI("Local/664798020249@default-00000000;1", "agi://127.0.0.1:4577/call_log") in new stack
-- AGI Script Executing Application: (EXEC) Options: (Set(_CAMPCUST=DELIVERY))
-- <Local/664798020249@default-00000000;1>AGI Script agi://127.0.0.1:4577/call_log completed, returning 0
-- Executing [8366@default:3] AGI("Local/664798020249@default-00000000;1", "agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/agi-VDAD_ALL_outbound.agi
> 0x7f9e8c014b60 -- Probation passed - setting RTP source address to 111.235.153.21:22512
-- Executing [h@default:1] AGI("Local/664798020249@default-00000000;2", "agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----16-----ANSWER-----14-----1") in new stack
== Manager 'sendcron' logged off from 127.0.0.1
-- <Local/664798020249@default-00000000;2>AGI Script agi://127.0.0.1:4577/call_log--HVcauses ... --14-----1 completed, returning 0
== Spawn extension (default, 664798020249, 4) exited non-zero on 'Local/664798020249@default-00000000;2'
-- <SIP/vascoip-00000000>AGI Script agi-VDAD_ALL_outbound.agi completed, returning 0
-- Executing [8366@default:4] AGI("SIP/vascoip-00000000", "agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/agi-VDAD_ALL_outbound.agi
-- <SIP/vascoip-00000000> Playing 'sip-silence.gsm' (escape_digits=) (sample_offset 0) (language 'en')
-- <SIP/vascoip-00000000>AGI Script agi-VDAD_ALL_outbound.agi completed, returning 0

Connected call send to AMD with routing prefix 8373 :

M128*CLI>
-- SIP/vascoip-00000001 is making progress passing it to Local/664798020249@default-00000002;2
-- SIP/vascoip-00000001 answered Local/664798020249@default-00000002;2
> Channel Local/664798020249@default-00000002;1 was answered
-- Executing [8373@default:1] Playback("Local/664798020249@default-00000002;1", "sip-silence") in new stack
-- Executing [h@default:1] AGI("Local/664798020249@default-00000002;2", "agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----16-----ANSWER-----8-----0") in new stack
-- <SIP/vascoip-00000001> Playing 'sip-silence.gsm' (language 'en')
-- Executing [8373@default:2] AGI("SIP/vascoip-00000001", "agi://127.0.0.1:4577/call_log") in new stack
-- AGI Script Executing Application: (EXEC) Options: (Set(_CAMPCUST=DELIVERY))
-- <SIP/vascoip-00000001>AGI Script agi://127.0.0.1:4577/call_log completed, returning 0
-- Executing [8373@default:3] AMD("SIP/vascoip-00000001", "1000") in new stack
-- AMD: SIP/vascoip-00000001 18460573056 (N/A) (Fmt: slin)
-- AMD: initialSilence [1000] greeting [1500] afterGreetingSilence [800] totalAnalysisTime [5000] minimumWordLength [100] betweenWordsSilence [50] maximumNumberOfWords [3] silenceThreshold [256] maximumWordLength [5000]
-- AMD: Channel [SIP/vascoip-00000001]. Changed state to STATE_IN_SILENCE
> 0x7f9df8014af0 -- Probation passed - setting RTP source address to 111.235.154.30:21764
== Manager 'sendcron' logged off from 127.0.0.1
-- <Local/664798020249@default-00000002;2>AGI Script agi://127.0.0.1:4577/call_log--HVcauses ... ---8-----0 completed, returning 0
== Spawn extension (default, 664798020249, 4) exited non-zero on 'Local/664798020249@default-00000002;2'
-- AMD: Channel [SIP/vascoip-00000001]. ANSWERING MACHINE: silenceDuration:1000 initialSilence:1000
-- Executing [8373@default:4] AGI("SIP/vascoip-00000001", "VD_amd.agi,8373") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/VD_amd.agi
-- <SIP/vascoip-00000001> Playing 'sip-silence.gsm' (escape_digits=) (sample_offset 0) (language 'en')
-- <SIP/vascoip-00000001> Playing 'sip-silence.gsm' (escape_digits=) (sample_offset 0) (language 'en')
-- <SIP/vascoip-00000001> Playing 'NewRecording31082018-8khz.slin' (escape_digits=) (sample_offset 0) (language 'en')
-- <SIP/vascoip-00000001>AGI Script VD_amd.agi completed, returning 4
== Spawn extension (default, 8373, 4) exited non-zero on 'SIP/vascoip-00000001'
-- Executing [h@default:1] AGI("SIP/vascoip-00000001", "agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----0---------------") in new stack

Re: Answering Machine(AMD) detection on all answered calls

PostPosted: Tue Sep 11, 2018 8:56 pm
by williamconley
There is no "cloud" for Vicidial servers. Either you are on a Virtual server (with shared CPUs) or you are on a dedicated physical. Based on your "cloud" statement, it's fairly obvious that the server is not in your facility, but is in a colocation facility elsewhere. The name of the colo (in case the colo sucks) and whether or not the server is Virtual (Bad Idea for Vicidial) is important information.

You also failed to post a link to your installation instructions.

For instance: How did your AMD configuration get chosen? Note that AMD is NOT a Vicidial module. It's part of Asterisk. You didn't install with a Vicidial installer which often handles such things as setting the default AMD settings.

Next up: Have you tried calling yourself? How do you know that the number(s) in question are not answering machines?

Note that not speaking for a specific amount of time can trigger "Answering machine!" in some AMD configurations. Thus a slow response on a virtual server sharing CPU time with other servers and slow networking can result in all sorts of problems trying to properly detect Answering Machines. Thus testing with your own phone is ... necessary.