[asterisk-users] Trying to get sample applicationmap to work (*1.4)
Mark Michelson
mmichelson at digium.com
Thu Mar 12 18:54:54 CDT 2009
David Ruggles wrote:
> I don't really think that's a problem, because I'm able to use the other
> built in options: *1 to record; ## transfer (I changed this from a single
> pound) and there have been a couple times that I wouldn't hit them quickly
> enough.
>
> Thanks,
Ah, sorry about that. The featuredigittimeout burns so many people that it's
pretty much a knee-jerk reaction on my part now to suggest that as a potential fix.
To test out, I set up the same feature and gave it a try with a current
subversion checkout of Asterisk 1.4. I placed a call from SIP/2001 to SIP/2000
and here's what I found.
When SIP/2001 pressed #9, tt-monkeys played on SIP/2000's channel
When SIP/2000 pressed #9, nothing happened.
I tried modifying the features.conf line to have "peer/callee" instead of just
"peer" and that caused neither side to successfully use the dynamic feature.
There appears to be a bug which does not allow for the callee to use dynamic
features. The problem appears to be that when DTMF is pressed, we try to
interpret the presses to determine if there is a corresponding feature. The
DYNAMIC_FEATURES variable has been set on the caller's channel, but has not been
set on the callee's channel. As a result, we don't properly read the value of
the DYNAMIC_FEATURES variable if the callee is the one to press DTMF.
You can work around the bug, although it's not exactly optimal. What you can do
is to modify your dialplan as follows:
exten => 301,n,Set(DYNAMIC_FEATURES=monkey)
exten => 301,n,Dial(SIP/DavidR1,,M(dynamic_features))
[macro-dynamic_features]
exten => s,1,Set(DYNAMIC_FEATURES=monkey)
By doing this, the dynamic_features macro will be called on SIP/DavidR1 when he
answers. This will allow for the DYNAMIC_FEATURES variable to be set on both
channels so both sides can use the feature you have set.
This is a bug, and so there needs to be action to fix it correctly. What I've
suggested is just a workaround, but it should get you through your problem for now.
Mark Michelson
More information about the asterisk-users
mailing list