]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
MODAPP-365
authorAnthony Minessale <anthony.minessale@gmail.com>
Sat, 14 Nov 2009 20:31:53 +0000 (20:31 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Sat, 14 Nov 2009 20:31:53 +0000 (20:31 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15471 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/applications/mod_voicemail/mod_voicemail.c

index 2e5b4d1bdee3ec685083fc6399b94ee139886438..854a55f9536e1737325e4ee67f99fc852155fdac 100644 (file)
@@ -1737,7 +1737,7 @@ static void voicemail_check_main(switch_core_session_t *session, vm_profile_t *p
        char pass_buf[80] = "", *mypass = NULL, id_buf[80] = "", *myfolder = NULL;
        const char *thepass = NULL, *myid = id, *thehash = NULL, *vmhash = NULL;
        char term = 0;
-       uint32_t timeout, attempts = 0;
+       uint32_t timeout, attempts = 0, retries = 0;
        int failed = 0;
        msg_type_t play_msg_type = MSG_NONE;
        char *dir_path = NULL, *file_path = NULL;
@@ -1782,6 +1782,7 @@ static void voicemail_check_main(switch_core_session_t *session, vm_profile_t *p
                                heard_auto_new = 0;
                                play_msg_type = MSG_NONE;
                                attempts = profile->max_login_attempts;
+                               retries = profile->max_retries;
                                myid = id;
                                mypass = NULL;
                                myfolder = "inbox";
@@ -2049,6 +2050,13 @@ static void voicemail_check_main(switch_core_session_t *session, vm_profile_t *p
                                char input[10] = "";
                                char key_buf[80] = "";
                                play_msg_type = MSG_NONE;
+
+                               if (!retries) {
+                                       goto end;
+                               }
+
+                               retries--;
+
                                if (!zstr_buf(global_buf)) {
                                        switch_set_string(input, global_buf);
                                        *global_buf = '\0';
@@ -2076,6 +2084,7 @@ static void voicemail_check_main(switch_core_session_t *session, vm_profile_t *p
 
                                if (play_msg_type) {
                                        vm_check_state = VM_CHECK_PLAY_MESSAGES;
+                                       retries = profile->max_retries;
                                }
 
                                continue;