On Sat, 21 Feb 2004, Matthew B Marlowe wrote:

> I wish I knew how to code, but I don't.  If you ever get this working
> I'm highly interested.  You can probably send a patch to
> http://bugs.digium.com I'd assume.

1. Record an "agent-preack-announce.gsm" file and slap it into 
/var/lib/asterisk/sounds/
2. Apply this patch to chan_agent.c

--- asterisk/channels/chan_agent.c.gjb  2004-02-21 13:55:35.000000000 -0500
+++ asterisk/channels/chan_agent.c      2004-02-21 13:52:59.000000000 -0500
@@ -281,7 +281,8 @@
 }
 static struct ast_frame  *agent_read(struct ast_channel *ast)
 {
-       struct agent_pvt *p = ast->pvt->pvt;
+        int res = -1;
+        struct agent_pvt *p = ast->pvt->pvt;
        struct ast_frame *f = NULL;
        static struct ast_frame null_frame = { AST_FRAME_NULL, };
        static struct ast_frame answer_frame = { AST_FRAME_CONTROL, AST_CONTROL_ANSWER 
};
@@ -308,9 +309,22 @@
                }
        }
        if (f && (f->frametype == AST_FRAME_CONTROL) && (f->subclass == 
AST_CONTROL_ANSWER)) {
+       
 /* TC */
                if (p->ackcall) {
-                       if (option_verbose > 2)
+                  ast_stopstream(p->chan);                                            
                                            
+                  res = ast_streamfile(p->chan, "all-your-base", p->chan->language);  
                                                           
+                  if (!res)                                                           
                                         
+                    res = ast_waitstream(p->chan, "");                                
                                      
+                  else 
+                    {
+                       
+                       ast_verbose(VERBOSE_PREFIX_3 "ast_streamfile failed on %s\n", 
p->chan->name);              
+                       res = 0;                                                       
                                      
+                    }
+                  ast_stopstream(p->chan);                                            
                                            
+                  
+                  if (option_verbose > 2)
                                ast_verbose(VERBOSE_PREFIX_3 "%s answered, waiting for 
'#' to acknowledge\n", p->chan->name);
                        /* Don't pass answer along */
                        ast_frfree(f);

_______________________________________________
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to