Broadcast Long Pause

Hi I always have this long pause on the playback of recording during Broadcast.
It ranges from 7 to 15 seconds.
My AMD settings should be quite optimal. Before deriving to this setting we need numerous configurations combinations.
Is there anything on Broadcast thats making this have this long pause?

[general]
initial_silence=500
greeting=500
after_greeting_silence=800
total_analysis_time=1
min_word_length=120
maximum_word_length=500
between_words_silence=30
maximum_number_of_words=1
silence_threshold=100

Although I’m not quite sure how it would produce your symptom, this is three to four orders of magnitude too small. I’d expect everything to be classed as NOTSURE.

As I mentioned, we have tried all combinations . literally upto a hundred. Including the default.
We used to get 3 seconds silence before, but after the recent latest updates, its always having silence from 10 to 20 seconds.

We have changed to below. but its still the same.
[general]
initial_silence=200
greeting=200
after_greeting_silence=300
total_analysis_time=1000
min_word_length=2
maximum_word_length=4
between_words_silence=20
maximum_number_of_words=1
silence_threshold=100

is there a way to just completely disable AMD?
broascast an just cal the number then playback a recording then hangup afterwards?

The decision to call AMD is going to be part of the proprietary code, of which I have no details.

Whilst I can think of ways of disabling it, they would void any warranties, and might breach the licence terms. They’d also requires programming competence. (You could, for instance, rebuild Asterisk with app_amd.c replaced by one that simply returned a human detection and success status.)

Hi David,
Ok in that case lets go back to drawing board.
My Broadcast campaigns are setup correctly.
I have put AMD All on default
AMD, suppose is working because we have this 15 to 20 seconds long silence.
Now the problem Im facing is that even I change these default settings and reduce it, there is no change affect.
I believe that it is a bug. Reason is because, this used to work. We had 5-7 seconds silence before which is fine. After the recent Modules patch and updates, the values no longer work.
Under Config File Editor >>Asterisk System Configuration Files >>>amd.conf
I can see the values has changed. However even after I reload or even reboot the VM, the values are not affective. Its just always seems back to default value.
Is there something in the system I can check for why any changes in the AMD default values are not coming to affect?

This is in excerpt of extensions_additional.conf which says that this file is not writable.
Does this mean i cant edit this file? Can I edit it on CLI?
Could you please check whether the below is some what correct?

[broadcast-campaign-22]
include => broadcast-campaign-22-custom
exten => s,1,Set(CALLERID(name)=${CALLEENAME})
exten => s,n,Set(CALLERID(num)=${CALLEENUM})
exten => s,n,Set(MACHINE=0)
exten => s,n,Set(CHANNEL(language)=en)
exten => s,n,Answer
exten => s,n,Playtones(!50/50)
exten => s,n,Set(_STATE=answered)
exten => s,n,AMD()
exten => s,n,AGI(agi://127.0.0.1/broadcast_log.php)
exten => s,n,GotoIf($[ “${AMDSTATUS}” = “HUMAN” ]?human,1)
exten => s,n,Noop(Unsure. Treating as machine.)
exten => s,n,WaitForSilence()
exten => s,n,Set(MACHINE=1)
exten => s,n,Set(_STATE=machine)
exten => s,n,AGI(agi://127.0.0.1/broadcast_log.php)
exten => s,n,Goto(play-system-recording,8,1)
exten => s,n,Hangup

exten => human,1,Noop(Human detected)
exten => human,n,Set(_STATE=person)
exten => human,n,AGI(agi://127.0.0.1/broadcast_log.php)
exten => human,n,Goto(play-system-recording,8,1)
exten => human,n,Hangup

exten => h,1,Noop(this is where we will put do-not-call)

exten => activate,1,Noop(Activating campaign 22)
exten => activate,n,Set(CAMPAIGNID=22)
exten => activate,n,Set(COMMAND=activate)
exten => activate,n,AGI(agi://127.0.0.1/broadcast_manage.php)

exten => deactivate,1,Noop(Deactivating campaign 22)
exten => deactivate,n,Set(CAMPAIGNID=22)
exten => deactivate,n,Set(COMMAND=deactivate)
exten => deactivate,n,AGI(agi://127.0.0.1/broadcast_manage.php)

;–== end of [broadcast-campaign-22] ==–;

You cannot edit, FreePBX will eventually override the config. You can include things or takeover by making a custom context called [broadcast-campaign-22-custom] as indicated in the dialplan you posted above.

Another option is to copy the whole [broadcast-campaign-22] context into /etc/asterisk/extension_override.conf and just delete the offending lines (in the override conf) to force it to work without AMD.

This will ignore the FreePBX version of the [broadcast-campaign-22] context and instead use the override conf version of the [broadcast-campaign-22] context.

Will this get you up and running quickly, yes.

Is this a good idea, probably not. Any changes you make in the GUI will be ignored in the future since the override context is in effect. You’d have to remember to update the conf file, not the GUI.

Also as the FreePBX program changes, there is a chance you could be counting on dependencies that are no longer there, and your “patch” will break. Help will be harder to come by because you’ve done something custom.

I recommend opening a bug report if you think there is an issue, so Sangoma can track and fix it.
https://issues.freepbx.org/secure/Dashboard.jspa

If you are calling somewhere very noisy, especially a speaker phone, the main delay is probably in the WaitForSilence on the machine branch.

I’m not sure that the custom include will work well, as I think that inline extensions take priority.

Hi David,
I used extension override.conf and i changed the bit rate of the recording to something small like mono 32kbps, and it works perfectly now.

Reference >
[broadcast-campaign-18]
include => broadcast-campaign-18-custom
exten => s,1,Set(CALLERID(name)=${CALLEENAME})
exten => s,n,Set(CALLERID(num)=${CALLEENUM})
;exten => s,n,Set(MACHINE=0);
;exten => s,n,Set(CHANNEL(language)=en);
;exten => s,n,Answer;
;exten => s,n,Playtones(!50/50);
;exten => s,n,Set(_STATE=answered);
;exten => s,n,AMD();
;exten => s,n,AGI(agi://127.0.0.1/broadcast_log.php);
;exten => s,n,GotoIf($[ “${AMDSTATUS}” = “HUMAN” ]?human,1);
;exten => s,n,Noop(Unsure. Treating as machine.);
;exten => s,n,WaitForSilence();
;exten => s,n,Set(MACHINE=1);
;exten => s,n,Set(_STATE=machine);
;exten => s,n,AGI(agi://127.0.0.1/broadcast_log.php);
exten => s,n,Goto(play-system-recording,2,1)
exten => s,n,Hangup

;exten => human,1,Noop(Human detected);
;exten => human,n,Set(_STATE=person);
;exten => human,n,AGI(agi://127.0.0.1/broadcast_log.php);
;exten => human,n,Goto(play-system-recording,2,1);
;exten => human,n,Hangup;

;exten => h,1,Noop(this is where we will put do-not-call);

exten => activate,1,Noop(Activating campaign 18)
exten => activate,n,Set(CAMPAIGNID=18)
exten => activate,n,Set(COMMAND=activate)
exten => activate,n,AGI(agi://127.0.0.1/broadcast_manage.php)

exten => deactivate,1,Noop(Deactivating campaign 18)
exten => deactivate,n,Set(CAMPAIGNID=18)
exten => deactivate,n,Set(COMMAND=deactivate)
exten => deactivate,n,AGI(agi://127.0.0.1/broadcast_manage.php)

;–== end of [broadcast-campaign-18] ==–;

[broadcast-campaign-19]
include => broadcast-campaign-19-custom
exten => s,1,Set(CALLERID(name)=${CALLEENAME})
exten => s,n,Set(CALLERID(num)=${CALLEENUM})
;exten => s,n,Set(MACHINE=0);
;exten => s,n,Set(CHANNEL(language)=en);
;exten => s,n,Answer;
;exten => s,n,Playtones(!50/50);
;exten => s,n,Set(_STATE=answered);
;exten => s,n,AMD();
;exten => s,n,AGI(agi://127.0.0.1/broadcast_log.php);
;exten => s,n,GotoIf($[ “${AMDSTATUS}” = “HUMAN” ]?human,1);
;exten => s,n,Noop(Unsure. Treating as machine.);
;exten => s,n,WaitForSilence();
;exten => s,n,Set(MACHINE=1);
;exten => s,n,Set(_STATE=machine);
;exten => s,n,AGI(agi://127.0.0.1/broadcast_log.php);
exten => s,n,Goto(play-system-recording,11,1)
exten => s,n,Hangup

;exten => human,1,Noop(Human detected);
;exten => human,n,Set(_STATE=person);
;exten => human,n,AGI(agi://127.0.0.1/broadcast_log.php);
;exten => human,n,Goto(play-system-recording,7,1);
;exten => human,n,Hangup;

;exten => h,1,Noop(this is where we will put do-not-call);

exten => activate,1,Noop(Activating campaign 19)
exten => activate,n,Set(CAMPAIGNID=19)
exten => activate,n,Set(COMMAND=activate)
exten => activate,n,AGI(agi://127.0.0.1/broadcast_manage.php)

exten => deactivate,1,Noop(Deactivating campaign 19)
exten => deactivate,n,Set(CAMPAIGNID=19)
exten => deactivate,n,Set(COMMAND=deactivate)
exten => deactivate,n,AGI(agi://127.0.0.1/broadcast_manage.php)

;–== end of [broadcast-campaign-19] ==–;

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.