AMD() problem after changing SIP trunk/SIP provider

I use AMD() (automatic answering machine detection) for outbound calls that deliver a spoken message, to make sure that a prerecorded message start playing after the beep and is recorded completely. It doesn’t work 100 % but it works pretty well.

I have changed SIP provider and suddenly I run into problems. Error messages are passing and AMD() isn’t working at all. The result is that, when reaching an answering machine, the message start playing to early and part of it is not recorded on the answering machine/voicemail box.

Big question: what can cause this problem and how can I fix it? It is really an unconvenient surprise that I run into this problem. Is the SIP provider doing something wrong, should I use other settings. Thanks in advance.

The asterisk version I’m running is Asterisk 1.4.24.1

Erik

-- Executing [s@macro-gbs_outbound_vervolg:3] AMD("SIP/085xxxxxxx-081ec1f8", "") in new stack
-- AMD: SIP/085xxxxxxx-081ec1f8  (null) (Fmt: 64)
-- AMD: initialSilence [2500] greeting [1500] afterGreetingSilence [500] totalAnalysisTime [5000] minimumWordLength [120] betweenWordsSilence [50] maximumNumberOfWords [3] silenceThreshold [256] 

[Aug 21 18:28:54] ERROR[15965]: channel.c:2043 __ast_read: ast_read() called with no recorded file descriptor.
– AMD: Changed state to STATE_IN_SILENCE
[Aug 21 18:28:54] ERROR[15965]: channel.c:2043 __ast_read: ast_read() called with no recorded file descriptor.
[Aug 21 18:28:54] ERROR[15965]: channel.c:2043 __ast_read: ast_read() called with no recorded file descriptor.
[Aug 21 18:28:54] ERROR[15965]: channel.c:2043 __ast_read: ast_read() called with no recorded file descriptor.
[Aug 21 18:28:55] ERROR[15965]: channel.c:2043 __ast_read: ast_read() called with no recorded file descriptor.
[Aug 21 18:28:55] ERROR[15965]: channel.c:2043 __ast_read: ast_read() called with no recorded file descriptor.
[Aug 21 18:28:55] ERROR[15965]: channel.c:2043 __ast_read: ast_read() called with no recorded file descriptor.
[Aug 21 18:28:55] ERROR[15965]: channel.c:2043 __ast_read: ast_read() called with no recorded file descriptor.
[Aug 21 18:28:55] ERROR[15965]: channel.c:2043 __ast_read: ast_read() called with no recorded file descriptor.
– SIP/085xxxxxxx-081fb0c0 is ringing
[Aug 21 18:28:55] ERROR[15965]: channel.c:2043 __ast_read: ast_read() called with no recorded file descriptor.
– AMD: Channel [SIP/085xxxxxxx-081ec1f8]. Too long…
– AMD: Channel [SIP/085xxxxxxx-081ec1f8]. Too long…

sip.conf siptrunk part

The part that cause the problem
[085xxxxxxx]
type = friend
host = xx.xxx.xxx.xx
username = xxxxxxxxx
secret = xxxxxxxxxxxxx
dtmfmode = auto
rfc2833compensate = yes
relaxdtmf = yes
nat = no
canreinvite = no
;insecure = port,invite
insecure = very
qualify = 2000
disallow = all
allow = ulaw
;accountcode = demo
;amaflags = default
;trustrpid = yes
;sendrpid = yes
context = inbound

The SIP trunk that let AMD() working fine.
[3120xxxxxxx]
type=friend
host=xxxxxx.net
fromuser=3120xxxxxxx
fromdomain=xxxxxxx.net
username=xxxxxx
secret=xxxxxxxx
insecure=very
context= inbound
port=6060 ; choice of the provider, this is ok
qualify=2000
canreinvite=no
disallow=all
allow=alaw

error 0009256 rapports “app_amd broken in the case of no frames/digital silence”

If silence is the reason because of some silence surpression mechanism put in place by the SIP provider sound could be the solution I thought. I added a exten => s,n,Playback(beep) before the exten => s,n,AMD() and now it works as before :smile: This really saved my weekend.