mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-04 05:15:22 +00:00 
			
		
		
		
	app_voicemail: Fix phantom voicemail bug on rerecord
If users are able to press # for options while leaving a message and then press 3 to rerecord the message, if the caller hangs up during the rerecord prompt but before Asterisk starts recording a message, then an "empty" voicemail gets processed whereby an email gets sent out notifying the user of a 0:00 duration message. The file doesn't actually exist, so playback will fail since there was no message to begin with. This adds a check after the streaming of the rerecord announcement to see if the caller has hung up. If so, we bail out early so that we can clean up properly. ASTERISK-29391 #close Change-Id: Id965d72759a2fd3b39afb76fec08aaebebe75c31
This commit is contained in:
		
				
					committed by
					
						
						George Joseph
					
				
			
			
				
	
			
			
			
						parent
						
							530e89655e
						
					
				
				
					commit
					54b41fcfd2
				
			@@ -15862,6 +15862,12 @@ static int play_record_review(struct ast_channel *chan, char *playfile, char *re
 | 
			
		||||
				}
 | 
			
		||||
				cmd = ast_play_and_wait(chan, "beep");
 | 
			
		||||
			}
 | 
			
		||||
			if (cmd == -1) {
 | 
			
		||||
				/* User has hung up, no options to give */
 | 
			
		||||
				ast_debug(1, "User hung up before message could be rerecorded\n");
 | 
			
		||||
				ast_filedelete(tempfile, NULL);
 | 
			
		||||
				return cmd;
 | 
			
		||||
			}
 | 
			
		||||
			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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user