Звездочка 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)
.
.
.

Итак, моя процедура испытаний была:

  1. Телефон 1007 на телефоне 3997 (1007 - см. Мой исходный пост - это расширение моего логина агента, которое вызывает AgentLogin на добавочном номере.) Это регистрирует меня в очереди 'testq' как агент 3997.

  2. Звоните по номеру 1007 по номеру 3998. Это приведет меня в очередь testq как агент 3998.

  3. Телефон 48 с любого другого телефона, который вызывает приложение Queue на testq, который определен в queues.conf как состоящий из агентов / телефонов 3997 и 3998.

  4. Из-за того, что моя очередь была установлена ​​на "Strategy = наименьший процент" при повторных вызовах на добавочный номер 48, либо 3997, либо 3998 будут принимать сделанные вызовы.

Это именно та функциональность, которая нужна, и теперь у меня есть рабочая модель очередей агентов в Asterisk 13, использующая новый (для меня) интерфейс app_agent_pool через AgentRequest вместо того, чтобы пытаться использовать "chan_agent", который больше не существует после Asterisk 12.

Все, что сейчас нужно - это перейти из моего входящего внутреннего номера в локальный,48,1 или просто выполнить очередь (testq,trhc) из моего входящего внутреннего номера напрямую. Если я вошел в систему агентов в очереди testq, самый последний набранный агент будет подключен к вызывающей стороне.

Может быть, это поможет кому-то перейти с Астериска 12 на Астериск 12 или выше.

С уважением,

Стефан

Другие вопросы по тегам