diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-08-26 18:50:46 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-08-26 18:50:46 +0000 |
commit | 3709276974363ff6659ea35c5b52560a1e4476bc (patch) | |
tree | cea87a1582fd7e3d3f9701f921a7cb02a20ccd3f /channels | |
parent | 85910ee63dede75757ac543c823aeac44dec230b (diff) |
Make ack_sleep do something
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1441 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-x | channels/chan_agent.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c index 48708eca7..403dd2667 100755 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -541,6 +541,7 @@ static int agent_ack_sleep( void *data ) struct agent_pvt *p; int res=0; int to = 1000; + struct ast_frame *f; /* Wait a second and look for something */ @@ -556,6 +557,16 @@ static int agent_ack_sleep( void *data ) res = 0; break; } + f = ast_read(p->chan); + if (!f) { + res = -1; + break; + } + if (f->frametype == AST_FRAME_DTMF) + res = f->subclass; + else + res = 0; + ast_frfree(f); ast_mutex_lock(&p->lock); if (!p->app_sleep_cond) { ast_mutex_unlock(&p->lock); |