Index: apps/app_followme.c =================================================================== --- apps/app_followme.c (revision 425984) +++ apps/app_followme.c (working copy) @@ -173,6 +173,7 @@ char plsholdprompt[PATH_MAX]; /*!< Sound prompt name and path */ char statusprompt[PATH_MAX]; /*!< Sound prompt name and path */ char sorryprompt[PATH_MAX]; /*!< Sound prompt name and path */ + char connprompt[PATH_MAX]; /*!< Sound prompt name and path */ AST_LIST_HEAD_NOLOCK(numbers, number) numbers; /*!< Head of the list of follow-me numbers */ AST_LIST_HEAD_NOLOCK(blnumbers, number) blnumbers; /*!< Head of the list of black-listed numbers */ @@ -207,6 +208,7 @@ char plsholdprompt[PATH_MAX]; /*!< Sound prompt name and path */ char statusprompt[PATH_MAX]; /*!< Sound prompt name and path */ char sorryprompt[PATH_MAX]; /*!< Sound prompt name and path */ + char connprompt[PATH_MAX]; /*!< Sound prompt name and path */ struct ast_flags followmeflags; }; @@ -271,6 +273,7 @@ static char plsholdprompt[PATH_MAX] = "followme/pls-hold-while-try"; static char statusprompt[PATH_MAX] = "followme/status"; static char sorryprompt[PATH_MAX] = "followme/sorry"; +static char connprompt[PATH_MAX] = "silence/0"; static AST_RWLIST_HEAD_STATIC(followmes, call_followme); @@ -318,6 +321,7 @@ ast_copy_string(f->plsholdprompt, plsholdprompt, sizeof(f->plsholdprompt)); ast_copy_string(f->statusprompt, statusprompt, sizeof(f->statusprompt)); ast_copy_string(f->sorryprompt, sorryprompt, sizeof(f->sorryprompt)); + ast_copy_string(f->connprompt, connprompt, sizeof(f->connprompt)); AST_LIST_HEAD_INIT_NOLOCK(&f->numbers); AST_LIST_HEAD_INIT_NOLOCK(&f->blnumbers); AST_LIST_HEAD_INIT_NOLOCK(&f->wlnumbers); @@ -356,6 +360,8 @@ ast_copy_string(f->statusprompt, val, sizeof(f->statusprompt)); else if (!strcasecmp(param, "followme-sorry-prompt") || !strcasecmp(param, "sorry_prompt")) ast_copy_string(f->sorryprompt, val, sizeof(f->sorryprompt)); + else if (!strcasecmp(param, "followme-connecting-prompt") || !strcasecmp(param, "connecting_prompt")) + ast_copy_string(f->connprompt, val, sizeof(f->connprompt)); else if (failunknown) { if (linenum >= 0) ast_log(LOG_WARNING, "Unknown keyword in profile '%s': %s at line %d of followme.conf\n", f->name, param, linenum); @@ -472,6 +478,12 @@ ast_copy_string(sorryprompt, tmpstr, sizeof(sorryprompt)); } + if ((tmpstr = ast_variable_retrieve(cfg, "general", "connecting-prompt")) && !ast_strlen_zero(tmpstr)) { + ast_copy_string(connprompt, tmpstr, sizeof(connprompt)); + } else if ((tmpstr = ast_variable_retrieve(cfg, "general", "connecting_prompt")) && !ast_strlen_zero(tmpstr)) { + ast_copy_string(connprompt, tmpstr, sizeof(connprompt)); + } + /* Chug through config file */ while ((cat = ast_category_browse(cfg, cat))) { int new = 0; @@ -1360,6 +1372,7 @@ ast_copy_string(targs->plsholdprompt, f->plsholdprompt, sizeof(targs->plsholdprompt)); ast_copy_string(targs->statusprompt, f->statusprompt, sizeof(targs->statusprompt)); ast_copy_string(targs->sorryprompt, f->sorryprompt, sizeof(targs->sorryprompt)); + ast_copy_string(targs->connprompt, f->connprompt, sizeof(targs->connprompt)); /* Copy the numbers we're going to use into another list in case the master list should get modified (and locked) while we're trying to do a follow-me */ AST_LIST_HEAD_INIT_NOLOCK(&targs->cnumbers); @@ -1447,6 +1460,10 @@ res = 0; } else { caller = chan; + + /* Play "connecting" message to the winner. */ + ast_stream_and_wait(outbound, targs->connprompt, ""); + /* Bridge the two channels. */ memset(&config, 0, sizeof(config)); Index: configs/samples/followme.conf.sample =================================================================== --- configs/samples/followme.conf.sample (revision 425984) +++ configs/samples/followme.conf.sample (working copy) @@ -34,7 +34,10 @@ sorry_prompt=>followme/sorry ; The global default for 'I'm sorry, but we were unable to locate your party' message. ; +conn_prompt=>silence/0 +; The global default for 'Please say hello to the caller' message. Silence by default. ; +; [default] musicclass=>default ; The moh class that should be used for the caller while they are waiting to be connected. @@ -87,5 +90,8 @@ sorry_prompt=>followme/sorry ; The 'I'm sorry, but we were unable to locate your party' message prompt. Default ; is the global default. - - +; +conn_prompt=>silence/0 +; The 'Please say hello to the caller' message prompt. Default is the global +; default. +;