mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-25 07:01:09 +00:00
Play periodic prompts for first call in a call queue
Review: https://reviewboard.asterisk.org/r/2263/ ........ Merged revisions 386792 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 386794 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
5
CHANGES
5
CHANGES
@@ -157,6 +157,8 @@ Sorcery
|
|||||||
--- Functionality changes from Asterisk 10 to Asterisk 11 --------------------
|
--- Functionality changes from Asterisk 10 to Asterisk 11 --------------------
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Build System
|
Build System
|
||||||
-------------------
|
-------------------
|
||||||
* The Asterisk build system will now build and install a shared library
|
* The Asterisk build system will now build and install a shared library
|
||||||
@@ -301,6 +303,9 @@ Queue
|
|||||||
|
|
||||||
* Add queue monitoring hints. exten => 8501,hint,Queue:markq.
|
* Add queue monitoring hints. exten => 8501,hint,Queue:markq.
|
||||||
|
|
||||||
|
* App_queue will now play periodic announcements for the caller that
|
||||||
|
holds the first position in the queue while waiting for answer.
|
||||||
|
|
||||||
SayUnixTime
|
SayUnixTime
|
||||||
------------------
|
------------------
|
||||||
* Added 'j' option to SayUnixTime. SayUnixTime no longer auto jumps to extension
|
* Added 'j' option to SayUnixTime. SayUnixTime no longer auto jumps to extension
|
||||||
|
@@ -4071,7 +4071,7 @@ static void rna(int rnatime, struct queue_ent *qe, char *interface, char *member
|
|||||||
*
|
*
|
||||||
* \todo eventually all call forward logic should be intergerated into and replaced by ast_call_forward()
|
* \todo eventually all call forward logic should be intergerated into and replaced by ast_call_forward()
|
||||||
*/
|
*/
|
||||||
static struct callattempt *wait_for_answer(struct queue_ent *qe, struct callattempt *outgoing, int *to, char *digit, int prebusies, int caller_disconnect, int forwardsallowed)
|
static struct callattempt *wait_for_answer(struct queue_ent *qe, struct callattempt *outgoing, int *to, char *digit, int prebusies, int caller_disconnect, int forwardsallowed, int ringing)
|
||||||
{
|
{
|
||||||
const char *queue = qe->parent->name;
|
const char *queue = qe->parent->name;
|
||||||
struct callattempt *o, *start = NULL, *prev = NULL;
|
struct callattempt *o, *start = NULL, *prev = NULL;
|
||||||
@@ -4582,6 +4582,16 @@ skip_frame:;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Make a position announcement, if enabled */
|
||||||
|
if (qe->parent->announcefrequency) {
|
||||||
|
say_position(qe, ringing);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Make a periodic announcement, if enabled */
|
||||||
|
if (qe->parent->periodicannouncefrequency) {
|
||||||
|
say_periodic_announcement(qe, ringing);
|
||||||
|
}
|
||||||
|
|
||||||
if (!*to) {
|
if (!*to) {
|
||||||
for (o = start; o; o = o->call_next) {
|
for (o = start; o; o = o->call_next) {
|
||||||
rna(orig, qe, o->interface, o->member->membername, 1);
|
rna(orig, qe, o->interface, o->member->membername, 1);
|
||||||
@@ -5378,7 +5388,7 @@ static int try_calling(struct queue_ent *qe, const struct ast_flags opts, char *
|
|||||||
ring_one(qe, outgoing, &numbusies);
|
ring_one(qe, outgoing, &numbusies);
|
||||||
lpeer = wait_for_answer(qe, outgoing, &to, &digit, numbusies,
|
lpeer = wait_for_answer(qe, outgoing, &to, &digit, numbusies,
|
||||||
ast_test_flag(&(bridge_config.features_caller), AST_FEATURE_DISCONNECT),
|
ast_test_flag(&(bridge_config.features_caller), AST_FEATURE_DISCONNECT),
|
||||||
forwardsallowed);
|
forwardsallowed, ringing);
|
||||||
/* The ast_channel_datastore_remove() function could fail here if the
|
/* The ast_channel_datastore_remove() function could fail here if the
|
||||||
* datastore was moved to another channel during a masquerade. If this is
|
* datastore was moved to another channel during a masquerade. If this is
|
||||||
* the case, don't free the datastore here because later, when the channel
|
* the case, don't free the datastore here because later, when the channel
|
||||||
|
Reference in New Issue
Block a user