Страница 1 из 1
					
				Хитрая стратегия очереди
				Добавлено: 24 янв 2014, 11:23
				 anthrax
				Всем доброго!
Столкнулся с хитрой (для меня) задачей. есть очередь из двух телефонов и стратегия ringall. Необходимо сделать так, чтобы при поднятии одной из трубок - вторая перестала принимать звонки, которые валятся в очередь. Как только разговор закончится - звонок снова поступает на Рингол. Ну и так далее. 
Для чего мне это нужно - это линия секретаря, которая имеет два телефона, радио и стационарник. Секретарь постоянно бегает туда-сюда, но иногда и сидит на месте, именно по этой причине такая стратегия будет наиболее удобной.
Вот и вопрос: можно ли и как?
			 
			
					
				Re: Хитрая стратегия очереди
				Добавлено: 24 янв 2014, 14:45
				 SVoy
				вместо очереди на 2 аппарата используйте переадресацию со стационара на радиотелефон, если секретарь не снимает трубку 10-20 сек.
			 
			
					
				Re: Хитрая стратегия очереди
				Добавлено: 24 янв 2014, 15:16
				 april22
				я бы решил вопрос по другому .
если на стационарном  есть клавиши которые можно запрограмить ... или  научить секретаршу  логинется в очередь  по коммандам , на стационарном телефоне,  тогда логика проста получится :
пришла - на место  - нажала кнопочку - вошла в очередь - звонки приходят на стационарный , ушла  отжала кнопочку  звонки по недоступности агентов  в очереди - идут на трубку ( можно там ж е сделать очередь с одним статичным агентом) тогда все будут толпится во второй очереди  и ни чего не потеряется .
получится примерно что надо .
			 
			
					
				Re: Хитрая стратегия очереди
				Добавлено: 24 янв 2014, 17:02
				 Glukinho
				Отберите у секретаря стационарник, пусть всё принимает на радиотрубку, даже если сидит на месте. Проблема уйдет сама по себе. Заодно она сможет легко уходить с рабочего места в процессе приема "стационарного" звонка.
			 
			
					
				Re: Хитрая стратегия очереди
				Добавлено: 24 янв 2014, 17:02
				 Glukinho
				Отберите у секретаря стационарник, пусть всё принимает на радиотрубку, даже если сидит на месте. Проблема уйдет сама по себе. Заодно она сможет легко уходить с рабочего места в процессе приема "стационарного" звонка.
			 
			
					
				Re: Хитрая стратегия очереди
				Добавлено: 24 янв 2014, 18:47
				 anthrax
				Ребят, спасибо за советы!
Отобрать стационарник не могу, так как там настроены blf, плюс много кнопок донабора. Короче она меня поймает и набьёт =)
А вот про быстрые клавиши и динамическая очередь это мысль, спасибо, подумаю..
			 
			
					
				Re: Хитрая стратегия очереди
				Добавлено: 24 янв 2014, 19:53
				 ded
				Подумайте тогда ещё над датчиком присутствия/движения, который если ушла - переключает вызовы на радиотрубу 

 
			 
			
					
				Re: Хитрая стратегия очереди
				Добавлено: 24 янв 2014, 20:38
				 april22
				смех смехом , а я видел реализацию такой идеи ....
в гос. структуре пасли одного из руководящих работников , так вот в стул был вмонтирован датчик (сухой контакт) и когда садился человек, то включался таймер и камера на запись - тем самым отслеживали рабочее время . и еще за спиной висели большие часы - и не дай Бог не сойдется время на таймере и на часах видеозаписи .
а реализовать датчик присутствия - не проблема 

 
			 
			
					
				Re: Хитрая стратегия очереди
				Добавлено: 24 янв 2014, 23:16
				 Samael28
				Можно написать, но очереди - не выход. Разве что через chan_local и DevState смотреть
			 
			
					
				Re: Хитрая стратегия очереди
				Добавлено: 26 янв 2014, 09:59
				 virus_net
				Согласен с 
Samael28.
Можно просто набирать оба номера одновременно в Dial:
Код: Выделить всё
exten => s,n,Dial(SIP/111&SIP/222,35,tim(ownmoh))
так оба звонят одновременно, а при поднятии трубки одним, второй звонить перестанет
а 
до Dial смотреть и анализировать состояние номеров секретаря
Например при помощи 
DEVICE_STATE :
Код: Выделить всё
exten => s,n,NoOp(=========== DEVICE_STATE: ${DEVICE_STATE(SIP/111)} ===========)
или при помощи 
ChanIsAvail:
Код: Выделить всё
exten => s,n,ChanIsAvail(SIP/111,s)
exten => s,n,NoOp(=========== ChanIsAvail for 111: ${AVAILSTATUS} ===========)
и в зависимости от состояния уже либо выполнять Dial (если линии свободны) или проигрывать "Все заняты", или направлять в очередь для ожидания 
(где по выходе по timeout снова перенаправлять вызов на номер секретаря) или иное.
так обеспечишь что при занятой линии на одном номере, второй номер звонить не будет.