ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

ограничение длительности разговора в очереди

Проблемы и их решения Asterisk как такового

Модераторы: april22, Zavr2008

ограничение длительности разговора в очереди

Сообщение lpn672 » 08 дек 2021, 15:12

Всем привет.

Читал читал и никак нет ответа. Как ограничить длительности звонка принятого из очереди? Для Dial() есть параметр, а с Queue() тишина.
Суть вопроса - оператор обрабатывает входящий звонок из очереди и нужно ограничить такой звонок, например, 5 минут. Это чтобы сбрасывать умалишенных с линии, ведь оператор не имеет права первым положить трубу.

Как или никак?
lpn672
 
Сообщений: 11
Зарегистрирован: 08 дек 2021, 15:01

Re: ограничение длительности разговора в очереди

Сообщение Wapo » 08 дек 2021, 17:08

Например, оператора прописать типа Local/ с указанием контекста, где в dial выставить нужное значение
Аватар пользователя
Wapo
 
Сообщений: 795
Зарегистрирован: 02 мар 2011, 18:53

Re: ограничение длительности разговора в очереди

Сообщение lpn672 » 08 дек 2021, 19:52

Wapo писал(а):Например, оператора прописать типа Local/ с указанием контекста, где в dial выставить нужное значение


Хм... Я что-то не понимаю. В контексте кол-центра Dial() вообще нет. Вот весь контекст. Что куда пишем?

Код: выделить все
exten => _X.,1,Noop(Incoming CALL channel: ${CHANNEL} context: ${CONTEXT} number: ${CALLERID(num)})
same => n,Answer()
same => n,Set(VOLUME(TX)=2) ; operator voice level
same => n,Playback(callcenter-privet)
same => n,Wait(2)
same => n,GoSub(sub-monitor,s,1(${CALLERID(num)},${EXTEN}))
same => n,Queue(call-center,tT,,,120)
same => n,Set(CDR(queuestatus)=${QUEUESTATUS})
same => n,Dumpchan()
same => n,Wait(2)
same => n,Playback(all-operator-busy)
same => n,Wait(1)
same => n(end),Hangup()
lpn672
 
Сообщений: 11
Зарегистрирован: 08 дек 2021, 15:01

Re: ограничение длительности разговора в очереди

Сообщение Wapo » 09 дек 2021, 11:06

Агент очереди типа Local/111@call-agent

[call-agent]
exten => XXX,1,Dial(SIP/${EXTEN}..........
Аватар пользователя
Wapo
 
Сообщений: 795
Зарегистрирован: 02 мар 2011, 18:53

Re: ограничение длительности разговора в очереди

Сообщение ded » 09 дек 2021, 12:16

Код: выделить все
[call-agent]
exten => _XXX,1,Dial(SIP/${EXTEN}.
Признак шаблона!
ded
 
Сообщений: 15821
Зарегистрирован: 26 авг 2010, 19:00

Re: ограничение длительности разговора в очереди

Сообщение lpn672 » 09 дек 2021, 13:20

Wapo писал(а):Агент очереди типа Local/111@call-agent

[call-agent]
exten => XXX,1,Dial(SIP/${EXTEN}..........


Так-с... Понял схему, сделал (дошло так сказать), но... Но статус очереди отображает такого оператора как "инвалид"
Код: выделить все
ast1*CLI> queue show call-center
call-center has 0 calls (max 25) in 'rrmemory' strategy (7s holdtime, 156s talktime), W:0, C:202, A:65, SL:90.6%, SL2:72.3% within 45s
   Members:
      VLASENKO (Local/102@from-call-center-queue) with penalty 1 (ringinuse disabled) (Invalid) has taken no calls yet


Почитал все вокруг это проблемы. И пока тупик нариcовался.

Что имеем:

Код: выделить все
CLI>core show version
Asterisk 16.20.0 built by root @ ast1 on a x86_64 running Linux on 2021-09-15 07:03:50 UTC

#cat /etc/asterisk/modules.conf
preload => pbx_config.so
preload => chan_local.so

#cat /etc/asterisk/queue.conf
[call-center]
    announce-frequency=60
    announce-position=yes
    autopause=no
    autopausebusy=no
    joinempty = yes
    leavewhenempty = no
    periodic-announce-frequency = 45
    queue-callswaiting = queue-callswaiting
    queue-thankyou = queue-thankyou
    queue-thereare = queue-thereare
    queue-youarenext = queue-youarenext
    setqueueentryvar=yes
    setqueuevar=yes
    strategy=rrmemory
    timeout=15
    retry=5
    timeoutpriority=app
    musicclass = moh-custom
    autofill=yes
    maxlen=25
    memberdelay=0
    servicelevel=45
    wrapuptime=30
    ringinuse=no
member => SIP/101,2,MAMIEDOV
member => SIP/102,1,VLASENKO
member => Local/102@from-call-center-queue,1,VLASENKO
member => SIP/103,1,OSAD



Вызовы просто в диалплане на local идут. Нажимаем "4", вызываем - соединяет, всё ОК.
Код: выделить все
[test-local-dial]
exten => 4,1,Dial(Local/4@services

[services]
exten => 4,1,Dial(SIP/604)

И я знаю, что эта проблема уже не относится к теме, но все же...
lpn672
 
Сообщений: 11
Зарегистрирован: 08 дек 2021, 15:01

Re: ограничение длительности разговора в очереди

Сообщение lpn672 » 09 дек 2021, 16:40

В догонку по оффтопику.

Чтобы member в очереди записанный через Local небыл Invalid следует указывать сигнальный интерфейс (state_interface).

Так у меня работает:
Код: выделить все
#cat /etc/asterisk/queue.conf
[call-center]
БЫЛО
; syntax: member => interface,[,penalty][,membername][,state_interface][,ringinuse][,wrapuptime]
member => SIP/101,2,MAMIEDOV
member => SIP/102,1,VLASENKO
member => SIP/103,1,OSAD

СТАЛО
; syntax: member => interface,[,penalty][,membername][,state_interface][,ringinuse][,wrapuptime]
member => Local/101@from-call-center-queue/n,2,MAMIEDOV,SIP/101
member => Local/102@from-call-center-queue/n,1,VLASENKO,SIP/102
member => Local/103@from-call-center-queue/n,1,OSAD,SIP/103

#CLI dialplan show from-call-center-queue
  '_XXX' =>         1. Dial(SIP/${EXTEN},15,rtTL(300000,240000,30000))                  [extensions.conf:346]

-= 1 extension (1 priority) in 1 context. =-



ded писал(а):
Код: выделить все
[call-agent]
exten => _XXX,1,Dial(SIP/${EXTEN}.
Признак шаблона!


Всем ответившим спасибо. Работает.
Тему закрываем.
lpn672
 
Сообщений: 11
Зарегистрирован: 08 дек 2021, 15:01


Вернуться в Конфигурация и настройка Asterisk

Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 23

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH