mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	Code cleanup
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2919 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		
							
								
								
									
										81
									
								
								app.c
									
									
									
									
									
								
							
							
						
						
									
										81
									
								
								app.c
									
									
									
									
									
								
							| @@ -260,47 +260,46 @@ int ast_app_messagecount(const char *mailbox, int *newmsgs, int *oldmsgs) | ||||
| 	return 0; | ||||
| } | ||||
|  | ||||
| int ast_dtmf_stream(struct ast_channel *chan,struct ast_channel *peer,char *digits,int between) { | ||||
|   char *ptr=NULL; | ||||
|   int res=0; | ||||
|   struct ast_frame f; | ||||
|   if(!between) | ||||
|     between = 100; | ||||
|    | ||||
|   if(peer) | ||||
|     res = ast_autoservice_start(peer); | ||||
| int ast_dtmf_stream(struct ast_channel *chan,struct ast_channel *peer,char *digits,int between)  | ||||
| { | ||||
| 	char *ptr=NULL; | ||||
| 	int res=0; | ||||
| 	struct ast_frame f; | ||||
| 	if (!between) | ||||
| 		between = 100; | ||||
|  | ||||
|   if (!res) { | ||||
|     res = ast_waitfor(chan,100); | ||||
|     if(res > -1) { | ||||
|       for(ptr=digits;*ptr;*ptr++) { | ||||
| 	if(*ptr == 'w') { | ||||
| 	  res = ast_safe_sleep(chan, 500); | ||||
| 	  if(res)  | ||||
| 	    break; | ||||
| 	  continue; | ||||
| 	} | ||||
| 	memset(&f, 0, sizeof(f)); | ||||
| 	f.frametype = AST_FRAME_DTMF; | ||||
| 	f.subclass = *ptr; | ||||
| 	f.src = "ast_dtmf_stream"; | ||||
| 	if (strchr("0123456789*#abcdABCD",*ptr)==NULL) { | ||||
| 	  ast_log(LOG_WARNING, "Illegal DTMF character '%c' in string. (0-9*#aAbBcCdD allowed)\n",*ptr); | ||||
| 	}  | ||||
| 	else { | ||||
| 	  res = ast_write(chan, &f); | ||||
| 	  if (res)  | ||||
| 	    break; | ||||
| 	  /* pause between digits */ | ||||
| 	  res = ast_safe_sleep(chan,between); | ||||
| 	  if (res)  | ||||
| 	    break; | ||||
| 	} | ||||
|       } | ||||
|     } | ||||
|     if(peer) | ||||
|       res = ast_autoservice_stop(peer); | ||||
|   } | ||||
| 	if (peer) | ||||
| 		res = ast_autoservice_start(peer); | ||||
|  | ||||
|   return res; | ||||
| 	if (!res) { | ||||
| 		res = ast_waitfor(chan,100); | ||||
| 		if (res > -1) { | ||||
| 			for (ptr=digits;*ptr;*ptr++) { | ||||
| 				if (*ptr == 'w') { | ||||
| 					res = ast_safe_sleep(chan, 500); | ||||
| 					if (res)  | ||||
| 						break; | ||||
| 					continue; | ||||
| 				} | ||||
| 				memset(&f, 0, sizeof(f)); | ||||
| 				f.frametype = AST_FRAME_DTMF; | ||||
| 				f.subclass = *ptr; | ||||
| 				f.src = "ast_dtmf_stream"; | ||||
| 				if (strchr("0123456789*#abcdABCD",*ptr)==NULL) { | ||||
| 					ast_log(LOG_WARNING, "Illegal DTMF character '%c' in string. (0-9*#aAbBcCdD allowed)\n",*ptr); | ||||
| 				} else { | ||||
| 					res = ast_write(chan, &f); | ||||
| 					if (res)  | ||||
| 						break; | ||||
| 					/* pause between digits */ | ||||
| 					res = ast_safe_sleep(chan,between); | ||||
| 					if (res)  | ||||
| 						break; | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 		if (peer) | ||||
| 			res = ast_autoservice_stop(peer); | ||||
| 	} | ||||
| 	return res; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user