Звездочка 13.22.0 - нет типа канала, зарегистрированного для "Агента", когда очередь звонит
С помощью приведенного ниже конфига я просто продолжаю получать это в CLI Asterisk 13.22.0:
WARNING[15872][C-00000051]: channel.c:6343 ast_request: No channel type registered for 'Agent'
всякий раз, когда звонящий отправляется в очередь этого оператора, когда вошедшие в систему операторы ожидают вызовов на Asterisk 13.
3997 и 3998 - мои два агента. Они могут звонить друг другу и принимать звонки с других добавочных номеров. Они могут позвонить из моей АТС, никаких проблем.
Мои агенты.conf:
[agents](!)
autologoff=15
wrapuptime=5000
custom_beep=beep
[3997](agents)
fullname=>AGENT 1
[3998](agents)
fullname=>AGENT 2
Мои queues.conf:
[testq]
musicclass = default
strategy = leastrecent
timeout = 10
retry = 5
autofill = yes
member => Agent/3997,0,3997,hint:3997@default,no
member => Agent/3998,0,3998,hint:3998@default,no
Кроме того, установка ringinuse на (изменение строки члена выше, чтобы иметь "да" в конце) не имеет никакого эффекта, за исключением того, что ошибка "Нет типа канала..." появляется дважды в CLI 13.22.0 для каждого внешнего звонка, слышимого вызывающим абонентом, вместо одного раза на внешнее кольцо, если в двух строках выше для ringinuse установлено значение "no".
Вход в агент в extensions.conf осуществляется с помощью:
exten=>1007,1,NoOp(Login agent from ${CALLERID(num)})
same=>n,Set(MONITOR_OPTIONS=b)
same=>n,UnpauseQueueMember(,Agent/${CALLERID(num)})
same=>n,AgentLogin(${CALLERID(num)},s)
Показ очереди с агентами, вошедшими в систему:
localhost*CLI> queue show
testq has 0 calls (max unlimited) in 'leastrecent' strategy (0s holdtime, 0s talktime), W:0, C:0, A:16, SL:0.0% within 0s
Members:
3997 (Agent/3997 from hint:3997@default) (ringinuse disabled) (In use) has taken no calls yet
3998 (Agent/3998 from hint:3998@default) (ringinuse disabled) (In use) has taken no calls yet
No Callers
localhost*CLI>
Затем, если очередь вызывается извне:
localhost*CLI> queue show
testq has 1 calls (max unlimited) in 'leastrecent' strategy (0s holdtime, 0s talktime), W:0, C:0, A:16, SL:0.0% within 0s
Members:
3997 (Agent/3997 from hint:3997@default) (ringinuse disabled) (In use) has taken no calls yet
3998 (Agent/3998 from hint:3998@default) (ringinuse disabled) (In use) has taken no calls yet
Callers:
1. SIP/3916-00000055 (wait: 0:08, prio: 0)
3916 никогда не отвечает, и ни 3997, ни 3998 не получают вызов, оба продолжают с МЗ бесконечно.
Постоянно в CLI это происходит, приурочено к каждому звонку 3916 ("внешний" телефон):
taken no calls yet
Callers:
1. SIP/3916-00000055 (wait: 0:08, prio: 0)
localhost*CLI>
[Aug 2 10:37:39] WARNING[16925][C-00000056]: channel.c:6343 ast_request: No channel type registered for 'Agent'
[Aug 2 10:37:44] WARNING[16925][C-00000056]: channel.c:6343 ast_request: No channel type registered for 'Agent'
[Aug 2 10:37:49] WARNING[16925][C-00000056]: channel.c:6343 ast_request: No channel type registered for 'Agent'
Что я делаю неправильно?
Ожидается, что либо 3997, либо 3998 получат входящий вызов, сделанный SIP/3916. На данный момент 3916 звонков навсегда, а 3997 и 3998 просто играют MOH вечно, с вышеупомянутой ошибкой, излучаемой при каждом звонке, слышимом по 3916 / извне.
Спасибо!
Стефан
1 ответ
Нашел решение для этого...!
https://wiki.asterisk.org/wiki/display/AST/New+in+12
а также
https://reviewboard.asterisk.org/r/2657/diff/1/
а также
https://blogs.asterisk.org/2016/02/10/converting-from-chan_agent-to-app_agent_pool/
проясняет ситуацию. После Звездочки 12 chan_agent был удален из Звездочки.
Он был заменен приложением AgentRequest.
Поэтому мне пришлось адаптировать мои ранее опубликованные конфигурации следующим образом, чтобы заставить работающих в очереди агентов и отвечать на входящие вызовы в очередь.
Мой agent.conf остался неизменным с моего первоначального поста.
Мой queues.conf должен был измениться с моего исходного поста на:
member=>Local/3997@internal,,3997,Agent:3997
member=>Local/3998@internal,,3998,Agent:3998
с остальными настройками очереди, остающимися прежними.
Расширение логина агента должно было измениться на:
exten=>1007,1,NoOp(Login agent from ${CALLERID(num)})
same=>n,Set(MONITOR_OPTIONS=b)
same=>n,UnpauseQueueMember(,Local/${CALLERID(num)}@internal)
same=>n,AgentLogin(${CALLERID(num)},s)
В моем [внутреннем] контексте (где живут мои телефоны - включая мои тестовые телефоны 3997 и 3998) я должен был добавить расширения, которые будут вызывать приложение плана набора AgentRequest() для каждого из них, если этот номер был набран. Это эффективно, как очередь отвечает:
[internal]
.
.
.
exten=>3997,1,AgentRequest(3997)
same=>n,Hangup()
exten=>3998,1,AgentRequest(3998)
same=>n,Hangup()
.
.
.
Затем я установил тестовое расширение в [internal] под названием '48', которое будет запускать очередь и позволить мне тестировать:
[internal]
.
.
.
exten=>48,1,NoOp(Sending test call to testq)
same=>n,Queue(testq,trhc)
.
.
.
Итак, моя процедура испытаний была:
Телефон 1007 на телефоне 3997 (1007 - см. Мой исходный пост - это расширение моего логина агента, которое вызывает AgentLogin на добавочном номере.) Это регистрирует меня в очереди 'testq' как агент 3997.
Звоните по номеру 1007 по номеру 3998. Это приведет меня в очередь testq как агент 3998.
Телефон 48 с любого другого телефона, который вызывает приложение Queue на testq, который определен в queues.conf как состоящий из агентов / телефонов 3997 и 3998.
Из-за того, что моя очередь была установлена на "Strategy = наименьший процент" при повторных вызовах на добавочный номер 48, либо 3997, либо 3998 будут принимать сделанные вызовы.
Это именно та функциональность, которая нужна, и теперь у меня есть рабочая модель очередей агентов в Asterisk 13, использующая новый (для меня) интерфейс app_agent_pool через AgentRequest вместо того, чтобы пытаться использовать "chan_agent", который больше не существует после Asterisk 12.
Все, что сейчас нужно - это перейти из моего входящего внутреннего номера в локальный,48,1 или просто выполнить очередь (testq,trhc) из моего входящего внутреннего номера напрямую. Если я вошел в систему агентов в очереди testq, самый последний набранный агент будет подключен к вызывающей стороне.
Может быть, это поможет кому-то перейти с Астериска 12 на Астериск 12 или выше.
С уважением,
Стефан