FreePBX | Register | Issues | Wiki | Portal | Support

Auto Dial-out (call files) and call confirm/acknowledgement with a hunt group


#1

Greetings, I am working on a project where I need Freepbx to utilize auto dial-out. In it’s most basic form it works great. However I will be calling a list of cell numbers and when someone answers a message is played. That part works to. The trouble I run into is cell phone voicemail will make the hunt stop obviously. I tried to use “confirm call” but I can see it is clearly documented to only work with ring all and i tried it anyway and while it works on the first caller it will not on additional numbers.

Anyone have any suggestions here? Thank you.


#2

From bash,

rasterisk -x “core show application amd”


#3

I assume you mean agi instead of amd? Obviously I was looking for something a little more specific than that. If you can even just send me in a more specific direction that would be appreciated . Thank you.


#4

You know what they say about assume :slight_smile: , did you try it yet?

(Answering Machine Detection)


#5

Ha. Ok understood. I see where you are taking this now. But I do not show amd as an application. I am sure it is something I am doing but a “core show application ?” does not show amd on my box. This box is v14 based off the distro.


#6

core show applications (tab)

?


#7

Here is that output.

I did find references to this function. But I don’t even see a amd.conf on my system. I checked a couple other systems I have and they do not show it either.


(Dave Burgess) #8

https://www.voip-info.org/wiki/view/Asterisk+cmd+AMD

There are lots of references to it “in the wild”. I seem to recall that AMD as a command was elided from Asterisk in/before Version 13, but I could easily be wrong there.


#9

You don’t NEED amd.conf, if you have it will override the default values. Any options you add as you call it will override what is in amd.conf.

I don’t know why FreePBX built asterisk spedificvally without it, I don’t use rpm’s (debian) so I can’t even check that. But it is still very much in asterisk 15 under applications --extended–

A little googleing will help you here,especially calling background(silence/n) before calling it,

Basically, just

a) try it,
b) tune it,
c) use it.


#10

Yes I googled around and found some examples. What I am failing to understand is how to tie this into what I am doing which is basically just using a call file to call an extension with a follow-me setup. Can you elude to the overall process there? Thank you.


(Lorne Gaetz) #11

Just checked an SNG7 Distro with Asterisk 15 and lack of amd.conf is an issue. Resolve with

 touch /etc/asterisk/amd.conf
 fwconsole chown
 fwconsole restart

#12

OK thank you. I am switching to asterisk v15 now.


(Lorne Gaetz) #13

To be clear, changing to 15 is not the fix, it is creating the file amd.conf.


#14

Yes, understood. Thank you. I was swapping to v15 as this is what everyone had mentioned in association with amd.

I can confirm that worked. “core show application amd” now has the proper output when executed.


#15

Only if you share your current “call-file” there are at least 42 ways to do what you want.

(Yes, a nod to @lgaetz , the amd.conf file needs to actually exist, it will if you build asterisk from source with reasonably starting options

;
; Answering Machine Detection Configuration
;

[general]
initial_silence = 2500		; Maximum silence duration before the greeting.
				; If exceeded then MACHINE.
greeting = 1500			; Maximum length of a greeting. If exceeded then MACHINE.
after_greeting_silence = 800	; Silence after detecting a greeting.
				; If exceeded then HUMAN
total_analysis_time = 5000	; Maximum time allowed for the algorithm to decide
				; on a HUMAN or MACHINE
min_word_length = 100		; Minimum duration of Voice to considered as a word
between_words_silence = 50	; Minimum duration of silence after a word to consider
				; the audio what follows as a new word
maximum_number_of_words = 3	; Maximum number of words in the greeting.
				; If exceeded then MACHINE
silence_threshold = 256

)


#16

Sure thing, that is not an issue. My file is relatively simple. I am just calling an extension and using the follow-me on it and then playing a sound file. Although since that seems somewhat hokey I am trying the same right now but with an actual ring group. I am doing this as a hunt. Initially I was trying to use “confirm call” but as documented that is only for “ring all” and not hunt which explains why its hit and miss (sometimes when you press 1 to accept the call it just hangs-up). If I can use amd instead that would be awesome but i need something as I would be calling multiple cellphones which all have voicemail of course.

Call file contents:

Channel: Local/101@from-internal
Application: Playback
Data: test_sound

Thank you.


#17

A simple starting point might be :-

call.file something like

Channel: Local/1NXXNXXXXXX@outbound-allroutes
Context: custom-callfile
Archive: yes

in /etc/asterisk/extensions_custom.conf , add

[custom-callfile]
exten => 1,1,Background(custom/one_tenth_of_a_second_or_so_of_ silence)
exten => 1,n,AMD
exten => 1,n,GotoIf($[${AMDSTATUS}=HUMAN]?humn:mach)
exten => 1,n(mach),WaitForSilence(2500)
exten => 1,n,(you can add anything you want here and following)
exten => 1,n,. . . . . . .
exten => 1,n,Hangup
exten => 1,n(humn),WaitForSilence(500)
exten => 1,n,Playback(test-sound)
exten => 1,n,Hangup

(I have never tried this exactly but other much more complicated contexts work fine, you might want to massage all the options as you proceed)


#18

Thank you so much for your help. I had tried something to that effect, well basically that exact thing. So I am still massaging that and seeing how that goes. But with that said I have this question. Should amd be used with call confirm or instead of it? Thanks again.


#19

Either, not both


#20

Understood. I will give it a shot and report back.