Adding user-configurable TCP timeout settings to IMAP voicemail. This could

go a long way towards preventing unexplainable hangs experienced by people. In the
case of MWI hangs, this also will mean that the SIP port isn't blocked anymore.

(closes issue #11665, reported by yehavi)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@96934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Michelson
2008-01-07 21:04:09 +00:00
parent ef0dd2e184
commit 905fc559d1
2 changed files with 29 additions and 0 deletions

View File

@@ -8213,6 +8213,31 @@ static int load_config(int reload)
ast_copy_string(greetingfolder, imapfolder, sizeof(greetingfolder)); ast_copy_string(greetingfolder, imapfolder, sizeof(greetingfolder));
} }
/* Handle the timeouts */
if ((val = ast_variable_retrieve(cfg, "general", "imapreadtimeout"))) {
mail_parameters(NIL, SET_READTIMEOUT, (void *) (atol(val)));
} else {
mail_parameters(NIL, SET_READTIMEOUT, (void *) 60);
}
if ((val = ast_variable_retrieve(cfg, "general", "imapwritetimeout"))) {
mail_parameters(NIL, SET_WRITETIMEOUT, (void *) (atol(val)));
} else {
mail_parameters(NIL, SET_WRITETIMEOUT, (void *) 60);
}
if ((val = ast_variable_retrieve(cfg, "general", "imapopentimeout"))) {
mail_parameters(NIL, SET_OPENTIMEOUT, (void *) (atol(val)));
} else {
mail_parameters(NIL, SET_OPENTIMEOUT, (void *) 60);
}
if ((val = ast_variable_retrieve(cfg, "general", "imapclosetimeout"))) {
mail_parameters(NIL, SET_CLOSETIMEOUT, (void *) (atol(val)));
} else {
mail_parameters(NIL, SET_CLOSETIMEOUT, (void *) 60);
}
#endif #endif
/* External voicemail notify application */ /* External voicemail notify application */
if ((val = ast_variable_retrieve(cfg, "general", "externnotify"))) { if ((val = ast_variable_retrieve(cfg, "general", "externnotify"))) {

View File

@@ -80,6 +80,10 @@ greetingsfolder=<IMAP folder to store greetings in if imapgreetings is enabled>
expungeonhangup=<yes or no> expungeonhangup=<yes or no>
authuser=<username> authuser=<username>
authpassword=<password> authpassword=<password>
opentimeout=<TCP open timeout in seconds>
closetimeout=<TCP close timeout in seconds>
readtimeout=<TCP read timeout in seconds>
writetimeout=<TCP write timeout in seconds>
\end{verbatim} \end{verbatim}
\end{astlisting} \end{astlisting}