Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

ответил 2022-08-22 12:21:49 +0400

tesak89 Gravatar tesak89 flag of Russian Federation

Опции B и b отрабатывают ПЕРЕД ПОПЫТКОЙ ВЫЗОВА агента, то есть перед тем, как уже зазвонит телефон. Если у Вас есть свободный агент -- фактически это произойдет сразу перед постановкой в очередь. Но если свободных агентов нет, придется ждать, пока кто-то освободится. Ну либо лепить костыль с фейковым агентом в очереди через Local :) Я бы рекомендовал все-таки выполнять необходимые действия сразу перед постановкой в очередь.

pbx*CLI> core show application Queue


  -= Info about application 'Queue' =-

[Synopsis]
Queue a call for a call queue.

[Description]
In addition to transferring the call, a call may be parked and then picked up
by another user.
This application will return to the dialplan if the queue does not exist, or
any of the join options cause the caller to not enter the queue.
This application does not automatically answer and should be preceeded by an
application such as Answer(), Progress(), or Ringing().
This application sets the following channel variables upon completion:
${QUEUESTATUS}: The status of the call as a text string.
    TIMEOUT
    FULL
    JOINEMPTY
    LEAVEEMPTY
    JOINUNAVAIL
    LEAVEUNAVAIL
    CONTINUE
${ABANDONED}: If the call was not answered by an agent this variable will be
TRUE.
    TRUE

[Syntax]
Queue(queuename[,options[,URL[,filename[&filename2[&...]][,timeout[,AGI[,macro[,gosub[,rule[,position]]]]]]]]])

[Arguments]
options
    b([[context^]exten^]priority[(arg1[^...][^argN])]): Before initiating an
    outgoing call, 'Gosub' to the specified location using the newly created
    channel.  The 'Gosub' will be executed for each destination channel.

    B([[context^]exten^]priority[(arg1[^...][^argN])]): Before initiating the
    outgoing call(s), 'Gosub' to the specified location using the current
    channel.

    C: Mark all calls as "answered elsewhere" when cancelled.

    c: Continue in the dialplan if the callee hangs up.

    d: data-quality (modem) call (minimum delay).

    F([[context^]exten^]priority): When the caller hangs up, transfer the
    *called member* to the specified destination and *start* execution at that
    location.
    NOTE: Any channel variables you want the called channel to inherit from the
    caller channel must be prefixed with one or two underbars ('_').

    F: When the caller hangs up, transfer the *called member* to the next
    priority of the current extension and *start* execution at that location.
    NOTE: Any channel variables you want the called channel to inherit from the
    caller channel must be prefixed with one or two underbars ('_').
    NOTE: Using this option from a Macro() or GoSub() might not make sense as
    there would be no return points.

    h: Allow *callee* to hang up by pressing '*'.

    H: Allow *caller* to hang up by pressing '*'.

    n: No retries on the timeout; will exit this application and go to the next
    step.

    i: Ignore call forward requests from queue members and do nothing when they
    are requested.

    I: Asterisk will ignore any connected line update requests or any
    redirecting party update requests it may receive on this dial attempt.

    r: Ring instead of playing MOH. Periodic Announcements are still made, if
    applicable.

    R: Ring instead of playing MOH when a member channel is actually ringing.

    t: Allow the *called* user to transfer the calling user.

    T: Allow the *calling* user to transfer the call.

    w: Allow the *called* user to write the conversation to disk via Monitor.

    W: Allow the *calling* user to write the conversation to disk via Monitor.

    k: Allow the *called* party to enable parking of the call by sending the
    DTMF sequence defined for call parking in "features.conf".

    K: Allow the *calling* party to enable parking of the call by sending the
    DTMF sequence defined for call parking in "features.conf".

    x: Allow the *called* user to write the conversation to disk via
    MixMonitor.

    X: Allow the *calling* user to write the conversation to disk via
    MixMonitor.

URL
    <URL> will be sent to the called party if the channel supports it.
filename
    Announcement file(s) to play to agent before bridging call, overriding the
    announcement(s) configured in "queues.conf", if any.
timeout
    Will cause the queue to fail out after a specified number of seconds,
    checked between each "queues.conf" <timeout> and <retry> cycle.
AGI
    Will setup an AGI script to be executed on the calling party's channel once
    they are connected to a queue member.
macro
    Will run a macro on the called party's channel (the queue member) once the
    parties are connected.
    NOTE: Macros are deprecated, GoSub should be used instead.
gosub
    Will run a gosub on the called party's channel (the queue member) once the
    parties are connected.  The subroutine execution starts in the named
    context at the s exten and priority 1.
rule
    Will cause the queue's defaultrule to be overridden by the rule specified.
position
    Attempt to enter the caller into the queue at the numerical position
    specified. '1' would attempt to enter the caller at the head of the queue,
    and '3' would attempt to place the caller third in the queue.

[See Also]
Queue(), QueueLog(), AddQueueMember(), RemoveQueueMember(), PauseQueueMember(),
UnpauseQueueMember(), QUEUE_VARIABLES, QUEUE_MEMBER, QUEUE_MEMBER_COUNT,
QUEUE_EXISTS, QUEUE_GET_CHANNEL, QUEUE_WAITING_COUNT, QUEUE_MEMBER_LIST,
QUEUE_MEMBER_PENALTY

Опции B и b отрабатывают ПЕРЕД ПОПЫТКОЙ ВЫЗОВА агента, то есть перед тем, как уже зазвонит телефон. Если у Вас есть свободный агент -- фактически это произойдет сразу перед постановкой после постановки в очередь. Но если свободных агентов нет, придется ждать, пока кто-то освободится. Ну либо лепить костыль с фейковым агентом в очереди через Local :) Я бы рекомендовал все-таки выполнять необходимые действия сразу перед постановкой в очередь.

pbx*CLI> core show application Queue


  -= Info about application 'Queue' =-

[Synopsis]
Queue a call for a call queue.

[Description]
In addition to transferring the call, a call may be parked and then picked up
by another user.
This application will return to the dialplan if the queue does not exist, or
any of the join options cause the caller to not enter the queue.
This application does not automatically answer and should be preceeded by an
application such as Answer(), Progress(), or Ringing().
This application sets the following channel variables upon completion:
${QUEUESTATUS}: The status of the call as a text string.
    TIMEOUT
    FULL
    JOINEMPTY
    LEAVEEMPTY
    JOINUNAVAIL
    LEAVEUNAVAIL
    CONTINUE
${ABANDONED}: If the call was not answered by an agent this variable will be
TRUE.
    TRUE

[Syntax]
Queue(queuename[,options[,URL[,filename[&filename2[&...]][,timeout[,AGI[,macro[,gosub[,rule[,position]]]]]]]]])

[Arguments]
options
    b([[context^]exten^]priority[(arg1[^...][^argN])]): Before initiating an
    outgoing call, 'Gosub' to the specified location using the newly created
    channel.  The 'Gosub' will be executed for each destination channel.

    B([[context^]exten^]priority[(arg1[^...][^argN])]): Before initiating the
    outgoing call(s), 'Gosub' to the specified location using the current
    channel.

    C: Mark all calls as "answered elsewhere" when cancelled.

    c: Continue in the dialplan if the callee hangs up.

    d: data-quality (modem) call (minimum delay).

    F([[context^]exten^]priority): When the caller hangs up, transfer the
    *called member* to the specified destination and *start* execution at that
    location.
    NOTE: Any channel variables you want the called channel to inherit from the
    caller channel must be prefixed with one or two underbars ('_').

    F: When the caller hangs up, transfer the *called member* to the next
    priority of the current extension and *start* execution at that location.
    NOTE: Any channel variables you want the called channel to inherit from the
    caller channel must be prefixed with one or two underbars ('_').
    NOTE: Using this option from a Macro() or GoSub() might not make sense as
    there would be no return points.

    h: Allow *callee* to hang up by pressing '*'.

    H: Allow *caller* to hang up by pressing '*'.

    n: No retries on the timeout; will exit this application and go to the next
    step.

    i: Ignore call forward requests from queue members and do nothing when they
    are requested.

    I: Asterisk will ignore any connected line update requests or any
    redirecting party update requests it may receive on this dial attempt.

    r: Ring instead of playing MOH. Periodic Announcements are still made, if
    applicable.

    R: Ring instead of playing MOH when a member channel is actually ringing.

    t: Allow the *called* user to transfer the calling user.

    T: Allow the *calling* user to transfer the call.

    w: Allow the *called* user to write the conversation to disk via Monitor.

    W: Allow the *calling* user to write the conversation to disk via Monitor.

    k: Allow the *called* party to enable parking of the call by sending the
    DTMF sequence defined for call parking in "features.conf".

    K: Allow the *calling* party to enable parking of the call by sending the
    DTMF sequence defined for call parking in "features.conf".

    x: Allow the *called* user to write the conversation to disk via
    MixMonitor.

    X: Allow the *calling* user to write the conversation to disk via
    MixMonitor.

URL
    <URL> will be sent to the called party if the channel supports it.
filename
    Announcement file(s) to play to agent before bridging call, overriding the
    announcement(s) configured in "queues.conf", if any.
timeout
    Will cause the queue to fail out after a specified number of seconds,
    checked between each "queues.conf" <timeout> and <retry> cycle.
AGI
    Will setup an AGI script to be executed on the calling party's channel once
    they are connected to a queue member.
macro
    Will run a macro on the called party's channel (the queue member) once the
    parties are connected.
    NOTE: Macros are deprecated, GoSub should be used instead.
gosub
    Will run a gosub on the called party's channel (the queue member) once the
    parties are connected.  The subroutine execution starts in the named
    context at the s exten and priority 1.
rule
    Will cause the queue's defaultrule to be overridden by the rule specified.
position
    Attempt to enter the caller into the queue at the numerical position
    specified. '1' would attempt to enter the caller at the head of the queue,
    and '3' would attempt to place the caller third in the queue.

[See Also]
Queue(), QueueLog(), AddQueueMember(), RemoveQueueMember(), PauseQueueMember(),
UnpauseQueueMember(), QUEUE_VARIABLES, QUEUE_MEMBER, QUEUE_MEMBER_COUNT,
QUEUE_EXISTS, QUEUE_GET_CHANNEL, QUEUE_WAITING_COUNT, QUEUE_MEMBER_LIST,
QUEUE_MEMBER_PENALTY

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.