[asterisk-users] AMD timing issues

Drew Miller drew at drewmiller.net
Wed Mar 19 23:16:48 CDT 2008


I saw a couple of posts about this in the archive, but none seemed 
specifically to address the problem I am having.  If I missed something 
please let me know.  Right now I would classify myself as "novice," and 
there is probably really nothing so trivial that I couldn't possibly 
have screwed it up.  :-)

I'm trying to use the AMD command to detect answering machines, and have 
tested it with no luck.  This is what I get:

       > Channel SIP/gafachi-081c81a8 was answered.
    -- Executing [15155515509 at robocop2:1] Set("SIP/gafachi-081c81a8", 
"CALLERID(number)=6666666666") in new stack
    -- Executing [1515555509 at robocop2:2] Set("SIP/gafachi-081c81a8", 
"CALLERID(name)=Robocop") in new stack
    -- Executing [15155515509 at robocop2:3] AMD("SIP/gafachi-081c81a8", 
"") in new stack
    -- AMD: SIP/gafachi-081c81a8 5555555555 (null) (Fmt: 4)
    -- AMD: initialSilence [2500] greeting [1500] afterGreetingSilence 
[800] totalAnalysisTime [5000] minimumWordLength [100] 
betweenWordsSilence [50] maximumNumberOfWords [3] silenceThreshold [256]
    -- AMD: Changed state to STATE_IN_SILENCE
    -- AMD: Channel [SIP/gafachi-081c81a8]. Too long...
    -- AMD: Channel [SIP/gafachi-081c81a8]. Too long...
    -- Executing [15155515509 at robocop2:4] GotoIf("SIP/gafachi-081c81a8", 
"0?human:machine") in new stack
    -- Goto (robocop2,15155515509,7)
    -- Executing [15155515509 at robocop2:7] 
WaitForSilence("SIP/gafachi-081c81a8", "4000|2") in new stack
    -- Waiting 2 time(s) for 4000 ms silence with 0 timeout
    -- Executing [15155515509 at robocop2:8] 
Playback("SIP/gafachi-081c81a8", "mr-roboto-short") in new stack
    -- <SIP/gafachi-081c81a8> Playing 'mr-roboto-short' (language 'en')
  == Spawn extension (robocop2, 15155515509, 8) exited non-zero on 
'SIP/gafachi-081c81a8'
[Mar 19 23:45:42] NOTICE[12477]: pbx_spool.c:351 attempt_thread: Call 
completed
to SIP/15155515509 at gafachi
Really destroying SIP dialog 
'6e88277510eb14c1499b55ec261ef61f at 10.251.122.3' Method: BYE
Really destroying SIP dialog 
'7a0e154903077e5c0c45e1f7014bde24 at 10.251.122.3' Method: REGISTER

I think the problem is right here:

    -- AMD: Changed state to STATE_IN_SILENCE
    -- AMD: Channel [SIP/gafachi-081c81a8]. Too long...
    -- AMD: Channel [SIP/gafachi-081c81a8]. Too long...

It does this part without waiting the full 5000 ms it should before 
biffing out - as far as I can tell it isn't waiting at all.  I haven't 
done anything with ztdummy - is that my problem?  It seems like it could 
be a timing issue, but I couldn't find any mention of ztdummy being 
needed for AMD.  I have seen some stuff that talks about frames just not 
being sent over VOIP when there is silence, so maybe it has something to 
do with that?  I have updated to the latest build of app_amd.c and still 
have had no luck, although originally things would just hang completely 
on AMD so it was a step in the right direction.  :-)

Here's my dialplan:

[robocop2]
exten => _1NXXNXXXXXX,1,Set(CALLERID(number)=6666666666)
exten => _1NXXNXXXXXX,n,Set(CALLERID(name)=Robocop)
exten => _1NXXNXXXXXX,n,AMD
exten => _1NXXNXXXXXX,n,GotoIf($[${AMDSTATUS}=HUMAN]?human:machine)
exten => _1NXXNXXXXXX,n(human),Playback(rick-roll-short)
exten => _1NXXNXXXXXX,n,Hangup
exten => _1NXXNXXXXXX,n(machine),WaitForSilence(5000)
exten => _1NXXNXXXXXX,n,Playback(mr-roboto-short)
exten => _1NXXNXXXXXX,n,Hangup

I'm running all this on fedora core 4 with a 2.6.16 kernel.  Happy to 
provide any more information that would be useful in helping me solve 
this problem.  It is driving me nuts!

-- 
Drew Miller
Iowa Democratic Party
Information Technology Director
Office:  (515) 974-1682
Cell:  (515) 451-4509
AIM:  ItsDrewMiller
MSN:  dmiller at iowademocrats.org




More information about the asterisk-users mailing list