1 | изначальная версия редактировать | |
Здравствуйте. У меня есть очередь внутри 6 агентов. Всё работает. Проблема в том, что агенты болтают по полчаса. И человек, даже первый в очереди, ждет по 10-20 минут на мелодии IVR-а. Хотелось бы сделать следующим образом.
Если все агенты заняты или недоступны, то звонящий человек слышыт короткие гудки (занято), и деньги за звонок не берутся. Чтобы такое получилось, астериск перед тем как брать трубку и переводить звонок в очеред, должен проверить наличие свободных агентов. Далее, астериск поднимает канал с агентом, и только потом подключает канал с транка.
То есть вот что мне надо: 1. входящий звонок приходит с транка провайдера, астериск не отвечает, звонящий человек слышит длинные гудки дозвона (мелодия провайдера, не нашего астериска) 2. астериск проверяет наличие агентов. Если агентов нет - то астериск сбрасывает дозвон, а звонящий человек слышит короткие гудки (неотвеченный вызов сбрасывается) 3. Если есть доступный агент, то астериск поднимает канал до агента, у агента звонит телефон, а звонящий человек всё еще слышит длинные гудки дозвона. 4. Хочу заметить, до сих пор у звонящего человека не снимают деньги с телефона, так как астериск еще не взял трубку. 5. Астериск перебирает агентов по заданному мной времени, тогда как общее время дозвона я не в силах изменить - это настраивается у провайдера. 6. Только после того как один из агентов берет трубку, астериск поднимает канал с провайдером (отвечает на звонок), соединяя их бриджем.
Возможно ли этого добиться стандартными средствами астериска? Или нужно что-то докупать или дописывать?
2 | No.2 Revision редактировать |
Здравствуйте. У меня есть очередь внутри 6 агентов. Всё работает. Проблема в том, что агенты болтают по полчаса. И человек, даже первый в очереди, ждет по 10-20 минут на мелодии IVR-а. Хотелось бы сделать следующим образом.
Если все агенты заняты или недоступны, то звонящий человек слышыт короткие гудки (занято), и деньги за звонок не берутся. Чтобы такое получилось, астериск перед тем как брать трубку и переводить звонок в очеред, должен проверить наличие свободных агентов. Далее, астериск поднимает канал с агентом, и только потом подключает канал с транка.
То есть вот что мне надо:
1.
Возможно ли этого добиться стандартными средствами астериска? Или нужно что-то докупать или дописывать?
3 | No.3 Revision редактировать |
Здравствуйте. У меня есть очередь внутри 6 агентов. Всё работает. Проблема в том, что агенты болтают по полчаса. И человек, даже первый в очереди, ждет по 10-20 минут на мелодии IVR-а. Хотелось бы сделать следующим образом.
Если все агенты заняты или недоступны, то звонящий человек слышыт короткие гудки (занято), и деньги за звонок не берутся. Чтобы такое получилось, астериск перед тем как брать трубку и переводить звонок в очеред, должен проверить наличие свободных агентов. Далее, астериск поднимает канал с агентом, и только потом подключает канал с транка.
То есть вот что мне надо:
Возможно ли этого добиться стандартными средствами астериска? Или нужно что-то докупать или дописывать?Убрал 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", как своодного агента для того чтобы впустить в очередь. А после того как впустил, не соединяет с агентом, так как он занят.
4 | No.4 Revision редактировать |
Здравствуйте. У меня есть очередь внутри 6 агентов. Всё работает. Проблема в том, что агенты болтают по полчаса. И человек, даже первый в очереди, ждет по 10-20 минут на мелодии IVR-а. Хотелось бы сделать следующим образом.
Если все агенты заняты или недоступны, то звонящий человек слышыт короткие гудки (занято), и деньги за звонок не берутся. Чтобы такое получилось, астериск перед тем как брать трубку и переводить звонок в очеред, должен проверить наличие свободных агентов. Далее, астериск поднимает канал с агентом, и только потом подключает канал с транка.
То есть вот что мне надо:
Убрал 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.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.