AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Очереди. Вопросик.

Newbies/FAQ Forum 9 сообщений -
#1

Asterisk 1.8

файл agents.conf
agent => 101,1,Oleg
agent => 102,1,Sergey
agent => 103,1,Sveta

Обязательно ли назначать пароли и имена? Если нет, но просто не пишем:
agent => 101,, или проще:
agent => 101 ?

В файле queues.conf
...
[office]
member => SIP/101
member => SIP/102
member => SIP/103
...
или нужно так написать:
member => Agent/101
member => Agent/102
member => Agent/103

В экстеншене так:
...
exten=> 700,1,AgentCallbackLogin(||${CALLERIDNUM}@callcenter)
...
exten => s,1,Answer()
exten => s,n,SetMusicOnHold(default)
exten => s,n,DigitTimeout,5
exten => s,n,ResponseTimeout,10
exten => s,n,Queue(office,t)
exten => s,n,HangUp()
...

Вопросы: Можно ли прописать авторегистрацию агента? И куда её прописывать?
И желательно что бы вообще эти три номера всегда были зарегистрированы как агенты.
Или им нужно всегда регистрироваться? А как снять регистрацию в качестве агента?
#2

Вы надергали примеры для астериска 1.2 или 1.4, для начала, команды AgentCallbackLogin уже нет и не будет...

И если, как вы пишите "И желательно что бы вообще эти три номера всегда были зарегистрированы как агенты. " , делайте просто очередь с агентами:

Цитата:
[office]
...
member => SIP/101
member => SIP/102
member => SIP/103
#3

В этом случае как прописать регистрацию?
Так exten => 700,1,AgentLogin(101) ?
В таком случае агенты смогут звонить как во внутрь, так и во вне?
#4

Вас нужны команды QueueAddMember и QueueRemoveMember. А куда могут или нет звонить агенты - это решается другими, не относящемся к очередям, вещами.
_________________
Asterisk 1.4.30 @ Ubuntu 9.04 + Cisco MC3810 + NEC NEAX 2000IPS + Polycom IP Phones
#5

Стоп, стоп, стоп...

Вы в первом посте хотите убрать регистрацию агентов, значит вам нужно описать очередь и направить на нее звонки, все как я указал своим ответом.

А разрешения, звонить или запретить звонки и другое, это уже как захотите.

Из практики, обычно агенты все же динамичны, так как если один заболел, например, постоянные звонки на его номер не создадут никому радости.
#6

Окончательно запутался:
extention.conf
...
exten = > 700,1,AgentLogin(101)
...
[Обработка входящего вызова с городской линии]
exten => s,1,Answer
exten => s,n,Ringing
exten => s,n,Wait(1)
exten => s,n,Queue(office,t)
exten => s,n,HangUp()
...
Пользователь набирает 700 и ему выдается сообщение что он зарегистрирован
вывод в консоли
-- Executing [700@phones] AgentLogin("SIP/101-00000002", "101") in new stack
-- Playing 'agent-loginok.ulaw' (language 'ru')
-- Started music on hold, class 'default', on SIP/101-00000002
== Agent '101' logged in (format ulaw/ulaw)
Далее у него проигрывается музыка.

Звоним на АТС
вывод в консоли
-- Starting simple switch on 'DAHDI/1-1'
-- Executing [s@pstn] Queue("DAHDI/1-1", "office,t") in new stack
-- Started music on hold, class 'default', on DAHDI/1-1
-- Stopped music on hold on SIP/101-00000000
Member agent/101 is busy, cannot dial -- Couldn't call agent/101
-- Started music on hold, class 'default', on SIP/101-00000000
-- Stopped music on hold on SIP/101-00000000

Если сделать без регистрации по номеру 700 так exten => s,1,AddQueueMember(office|SIP/101)
Консоль
-- Executing [s@pstn] AddQueueMember("DAHDI/1-1", "office|SIP/101") in new stack
-- Executing [s@pstn] Queue("DAHDI/1-1", "office,t") in new stack
-- Started music on hold, class 'default', on DAHDI/1-1
Звонка нет ни в том, ни в другом случаях.

Где порыть ещё?

Added after 37 minutes:

Добился следующего: при замене "|" на "," в AddQueueMember(office|SIP/101) получаем

-- Starting simple switch on 'DAHDI/1-1'
-- Executing [s@pstn:1] AddQueueMember("DAHDI/1-1", "office,SIP/101") in new stack
-- Executing [s@pstn:2] AddQueueMember("DAHDI/1-1", "office,SIP/116") in new stack
-- Executing [s@pstn:3] Ringing("DAHDI/1-1", "") in new stack
-- Executing [s@pstn:4] Wait("DAHDI/1-1", "1") in new stack
-- Executing [s@pstn:5] Queue("DAHDI/1-1", "office,t") in new stack
-- Started music on hold, class 'default', on DAHDI/1-1
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- SIP/116-00000001 connected line has changed. Saving it until answer for DAHDI/1-1
-- SIP/101-00000000 connected line has changed. Saving it until answer for DAHDI/1-1
-- SIP/101-00000000 is ringing
-- SIP/116-00000001 is ringing
-- SIP/116-00000001 connected line has changed. Saving it until answer for DAHDI/1-1
-- SIP/116-00000001 answered DAHDI/1-1
-- Stopped music on hold on DAHDI/1-1
-- Hanging up on 'DAHDI/1-1'
-- Hungup 'DAHDI/1-1'
Но при попытке позвонить на занятый номер в трубке "Занято". Звонок в очередь не встает.
#7

вы опять все смешиваете в одну кучу.

забудьте пока о логине, он работает для других целей, для классического колл центра, где агенты и висят на активном канале.

просто создайте очередь с агентами в ней:
[my_queue]
...
member => SIP/111

заведите в дайлплане команду:
exten = 74951112222,1,Answer
exten = 74951112222,n,Queue(my_queue)

и это все
#8

Это работает для sip. А как сделать для одной телефонной линии и города. Т.е. позвонили на городской номер 777-777. В конторе сняли трубку. В это же время на этот же номер поступает второй звонок. И по этой линии надо позвонившего поставить в очередь. А второй звонок в очередь не встает сразу в трубке занято. Канал городской один - DAHDI/1. Я его тоже прописал как members.

Проверял так - позвонил по сипу с внутр.телефона на внутр.телефон, снял трубку. Т.е. оба телефона, зарегистрированные как members заняты.
Звоню из города, в трубе играет музыка. Сообщений о постановке в очередь нет. Если кто то положит трубку на внутр. телефоне, то с города приходит звонок.
Может я чего то не допонимаю. Или вообще для одного номера с городской АТС такое невозможно и будет всегда "занято" ?
#9

Цитата:
Это работает для sip. А как сделать для одной телефонной линии и города. Т.е. позвонили на городской номер 777-777. В конторе сняли трубку. В это же время на этот же номер поступает второй звонок. И по этой линии надо позвонившего поставить в очередь. А второй звонок в очередь не встает сразу в трубке занято.
Занято - емкости нет.
Цитата:
Канал городской один - DAHDI/1. Я его тоже прописал как members.

members - это те, кому очередь ЗВОНИТ. А не тот кто делает звонок в нее. Уберите.
Цитата:
Проверял так - позвонил по сипу с внутр.телефона на внутр.телефон, снял трубку. Т.е. оба телефона, зарегистрированные как members заняты.
Звоню из города, в трубе играет музыка. Сообщений о постановке в очередь нет.
А почему должно быть такое сообщение? Вы его настроили? НЕТ.
exten => 111,1,Answer
exten => 111,n,Playback(welcome-to-our-company-wait)
exten => 111,n,Queue(helpdesk-line)
Цитата:
Если кто то положит трубку на внутр. телефоне, то с города приходит звонок.
Да, агент освободился, а так музыка играет - такова настройка очереди.
Цитата:
Может я чего то не допонимаю. Или вообще для одного номера с городской АТС такое невозможно и будет всегда "занято" ?
У вас наверное вообще аналоговая линия и возможен один звонок. На Е1 - 30 возможно. Проверьте, какая ваша емкость, сколько линий вам дает оператор, многоканальные ли ваши номера и т.д.