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

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

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

спросил 2016-11-04 09:56:31 +0400

aldar Gravatar aldar

Задержать "ответ" транка до поднятия трубки агента очереди

Здравствуйте. У меня есть очередь внутри 6 агентов. Всё работает. Проблема в том, что агенты болтают по полчаса. И человек, даже первый в очереди, ждет по 10-20 минут на мелодии IVR-а. Хотелось бы сделать следующим образом.

Если все агенты заняты или недоступны, то звонящий человек слышыт короткие гудки (занято), и деньги за звонок не берутся. Чтобы такое получилось, астериск перед тем как брать трубку и переводить звонок в очеред, должен проверить наличие свободных агентов. Далее, астериск поднимает канал с агентом, и только потом подключает канал с транка.

То есть вот что мне надо: 1. входящий звонок приходит с транка провайдера, астериск не отвечает, звонящий человек слышит длинные гудки дозвона (мелодия провайдера, не нашего астериска) 2. астериск проверяет наличие агентов. Если агентов нет - то астериск сбрасывает дозвон, а звонящий человек слышит короткие гудки (неотвеченный вызов сбрасывается) 3. Если есть доступный агент, то астериск поднимает канал до агента, у агента звонит телефон, а звонящий человек всё еще слышит длинные гудки дозвона. 4. Хочу заметить, до сих пор у звонящего человека не снимают деньги с телефона, так как астериск еще не взял трубку. 5. Астериск перебирает агентов по заданному мной времени, тогда как общее время дозвона я не в силах изменить - это настраивается у провайдера. 6. Только после того как один из агентов берет трубку, астериск поднимает канал с провайдером (отвечает на звонок), соединяя их бриджем.

Возможно ли этого добиться стандартными средствами астериска? Или нужно что-то докупать или дописывать?

Задержать "ответ" транка до поднятия трубки агента очереди

Здравствуйте. У меня есть очередь внутри 6 агентов. Всё работает. Проблема в том, что агенты болтают по полчаса. И человек, даже первый в очереди, ждет по 10-20 минут на мелодии IVR-а. Хотелось бы сделать следующим образом.

Если все агенты заняты или недоступны, то звонящий человек слышыт короткие гудки (занято), и деньги за звонок не берутся. Чтобы такое получилось, астериск перед тем как брать трубку и переводить звонок в очеред, должен проверить наличие свободных агентов. Далее, астериск поднимает канал с агентом, и только потом подключает канал с транка.

То есть вот что мне надо: 1.

  1. входящий звонок приходит с транка провайдера, астериск не отвечает, звонящий человек слышит длинные гудки дозвона (мелодия провайдера, не нашего астериска) 2. астериска)
  2. астериск проверяет наличие агентов. Если агентов нет - то астериск сбрасывает дозвон, а звонящий человек слышит короткие гудки (неотвеченный вызов сбрасывается) 3. сбрасывается)
  3. Если есть доступный агент, то астериск поднимает канал до агента, у агента звонит телефон, а звонящий человек всё еще слышит длинные гудки дозвона. 4. дозвона.
  4. Хочу заметить, до сих пор у звонящего человека не снимают деньги с телефона, так как астериск еще не взял трубку. 5. трубку.
  5. Астериск перебирает агентов по заданному мной времени, тогда как общее время дозвона я не в силах изменить - это настраивается у провайдера. 6.
  6. Только после того как один из агентов берет трубку, астериск поднимает канал с провайдером (отвечает на звонок), соединяя их бриджем.

Возможно ли этого добиться стандартными средствами астериска? Или нужно что-то докупать или дописывать?

Задержать "ответ" транка до поднятия трубки агента очереди

Здравствуйте. У меня есть очередь внутри 6 агентов. Всё работает. Проблема в том, что агенты болтают по полчаса. И человек, даже первый в очереди, ждет по 10-20 минут на мелодии IVR-а. Хотелось бы сделать следующим образом.

Если все агенты заняты или недоступны, то звонящий человек слышыт короткие гудки (занято), и деньги за звонок не берутся. Чтобы такое получилось, астериск перед тем как брать трубку и переводить звонок в очеред, должен проверить наличие свободных агентов. Далее, астериск поднимает канал с агентом, и только потом подключает канал с транка.

То есть вот что мне надо:

  1. входящий звонок приходит с транка провайдера, астериск не отвечает, звонящий человек слышит длинные гудки дозвона (мелодия провайдера, не нашего астериска)
  2. астериск проверяет наличие агентов. Если агентов нет - то астериск сбрасывает дозвон, а звонящий человек слышит короткие гудки (неотвеченный вызов сбрасывается)
  3. Если есть доступный агент, то астериск поднимает канал до агента, у агента звонит телефон, а звонящий человек всё еще слышит длинные гудки дозвона.
  4. Хочу заметить, до сих пор у звонящего человека не снимают деньги с телефона, так как астериск еще не взял трубку.
  5. Астериск перебирает агентов по заданному мной времени, тогда как общее время дозвона я не в силах изменить - это настраивается у провайдера.
  6. Только после того как один из агентов берет трубку, астериск поднимает канал с провайдером (отвечает на звонок), соединяя их бриджем.

Возможно ли этого добиться стандартными средствами астериска? Или нужно что-то докупать или дописывать?Убрал answer перед queue. У звонящего не снимают деньги с телефона. Но очередь все равно впускает звонки несмотря на joinempty=no.

очередь вызывается так: exten => XXXXXXXX,1,Queue(call-center,Ttr) queue.conf выглядет так:

[call-center] strategy = random timeout = 12 retry = 1 joinempty = no leavewhenempty = yes member => SIP/11 member => SIP/12 member => SIP/13 member => SIP/14 member => SIP/15 member => SIP/16

в sip.conf прописан callcounter=yes. show queue: SIP/13 (ringinuse enabled) (paused) (Not in use) SIP/16 (ringinuse enabled) (paused) (Not in use) SIP/12 (ringinuse enabled) (in call) (Busy) SIP/15 (ringinuse enabled) (paused) (Not in use) SIP/11 (ringinuse enabled) (paused) (Busy) SIP/14 (ringinuse enabled) (paused) (Not in use) Тут я запаузил всех кроме одного. Этот один Busy. В то время когда он занят я позвонил, меня закинуло в очередь. А не должно! А астериск выдал: chansip.c:6836 updatecall_counter: Call to peer '12' rejected due to usage limit of 1 Хотя, если запаузить всех, тогда меня не впустит в очередь. То есть все как надо. То есть астериск воспринимает "Busy", как своодного агента для того чтобы впустить в очередь. А после того как впустил, не соединяет с агентом, так как он занят.

Задержать "ответ" транка до поднятия трубки агента очереди

Здравствуйте. У меня есть очередь внутри 6 агентов. Всё работает. Проблема в том, что агенты болтают по полчаса. И человек, даже первый в очереди, ждет по 10-20 минут на мелодии IVR-а. Хотелось бы сделать следующим образом.

Если все агенты заняты или недоступны, то звонящий человек слышыт короткие гудки (занято), и деньги за звонок не берутся. Чтобы такое получилось, астериск перед тем как брать трубку и переводить звонок в очеред, должен проверить наличие свободных агентов. Далее, астериск поднимает канал с агентом, и только потом подключает канал с транка.

То есть вот что мне надо:

  1. входящий звонок приходит с транка провайдера, астериск не отвечает, звонящий человек слышит длинные гудки дозвона (мелодия провайдера, не нашего астериска)
  2. астериск проверяет наличие агентов. Если агентов нет - то астериск сбрасывает дозвон, а звонящий человек слышит короткие гудки (неотвеченный вызов сбрасывается)
  3. Если есть доступный агент, то астериск поднимает канал до агента, у агента звонит телефон, а звонящий человек всё еще слышит длинные гудки дозвона.
  4. Хочу заметить, до сих пор у звонящего человека не снимают деньги с телефона, так как астериск еще не взял трубку.
  5. Астериск перебирает агентов по заданному мной времени, тогда как общее время дозвона я не в силах изменить - это настраивается у провайдера.
  6. Только после того как один из агентов берет трубку, астериск поднимает канал с провайдером (отвечает на звонок), соединяя их бриджем.

Убрал answer перед queue. У звонящего не снимают деньги с телефона. Но очередь все равно впускает звонки несмотря на joinempty=no.

очередь вызывается так: так:

exten => XXXXXXXX,1,Queue(call-center,Ttr)

queue.conf выглядет так:

[call-center]
strategy = random
timeout = 12
retry = 1
joinempty = no
leavewhenempty = yes
member => SIP/11
member => SIP/12
member => SIP/13
member => SIP/14
member => SIP/15
member => SIP/16

SIP/16

в sip.conf прописан callcounter=yes. show queue: queue:

SIP/13 (ringinuse enabled) (paused) (Not in use)
 SIP/16 (ringinuse enabled) (paused) (Not in use)
 SIP/12 (ringinuse enabled) (in call) (Busy)
 SIP/15 (ringinuse enabled) (paused) (Not in use) 
 SIP/11 (ringinuse enabled) (paused) (Busy) 
 SIP/14 (ringinuse enabled) (paused) (Not in use) 
use)

Тут я запаузил всех кроме одного. Этот один Busy. В то время когда он занят я позвонил, меня закинуло в очередь. А не должно! А астериск выдал: chansip.c:6836 updatecall_counter: выдал:

chan_sip.c:6836 update_call_counter: Call to peer '12' rejected due to usage limit of 1

Хотя, если запаузить всех, тогда меня не впустит в очередь. То есть все как надо. То есть астериск воспринимает "Busy", как своодного агента для того чтобы впустить в очередь. А после того как впустил, не соединяет с агентом, так как он занят.

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