Update of /usr/cvsroot/asterisk/apps
In directory mongoose.digium.com:/tmp/cvs-serv5016/apps

Modified Files:
        app_voicemail.c 
Log Message:
allow channel receive gain to be adjusted while recording messages/greetings in 
voicemail (workaround for issue #2023 from the ancient past)


Index: app_voicemail.c
===================================================================
RCS file: /usr/cvsroot/asterisk/apps/app_voicemail.c,v
retrieving revision 1.246
retrieving revision 1.247
diff -u -d -r1.246 -r1.247
--- app_voicemail.c     9 Sep 2005 21:13:42 -0000       1.246
+++ app_voicemail.c     14 Sep 2005 20:00:54 -0000      1.247
@@ -97,6 +97,23 @@
 
 #define ERROR_LOCK_PATH                -100
 
+#define OPT_SILENT             (1 << 0)
+#define OPT_BUSY_GREETING      (1 << 1)
+#define OPT_UNAVAIL_GREETING   (1 << 2)
+#define OPT_RECORDGAIN         (1 << 3)
+#define OPT_PREPEND_MAILBOX    (1 << 4)
+
+#define OPT_ARG_RECORDGAIN     0
+#define OPT_ARG_ARRAY_SIZE     1
[...1591 lines suppressed...]
@@ -6431,6 +6477,7 @@
        int attempts = 0;
        int recorded = 0;
        int message_exists = 0;
+       signed char zero_gain = 0;
        /* Note that urgent and private are for flagging messages as such in 
the future */
  
        /* barf if no pointer passed to store duration in */
@@ -6477,7 +6524,11 @@
                        }
                        recorded = 1;
                        /* After an attempt has been made to record message, we 
have to take care of INTRO and beep for incoming messages, but not for 
greetings */
+                       if (record_gain)
+                               ast_channel_setoption(chan, AST_OPTION_RXGAIN, 
&record_gain, sizeof(record_gain), 0);
                        cmd = ast_play_and_record(chan, playfile, recordfile, 
maxtime, fmt, duration, silencethreshold, maxsilence, unlockdir);
+                       if (record_gain)
+                               ast_channel_setoption(chan, AST_OPTION_RXGAIN, 
&zero_gain, sizeof(zero_gain), 0);
                        if (cmd == -1) {
                        /* User has hung up, no options to give */
                                return cmd;

_______________________________________________
Asterisk-Cvs mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-cvs

Reply via email to