Extension mobility
Extension mobility on Asterisk
Откуда: Kyiv
Сообщений: 7
|
Extension mobility
Привет All,
Вот захотелось мне сделать для пользователей такую штуку как Extension mobility(в Cisco именуется так, в других системах может както иначе?). Сделал небольшой поиск, в найденном предлогается сделать через Агентов но тут смущает то что в 1.4 AgentCallBackLogin объявлен устаревшим, а в 1.6 уже удален. Решения предлогаемое разработчиками как замена данной команды пригодно для обработки очередей но не для Extension mobility.
Может кто-то знает другие пути и варианты решения вопроса?
Спасибо.
|
Откуда: Уфа
Сообщений: 5856
|
Re: Extension mobility
думаю что сделать самому не сложно диалпланом.
например, в БД записывать список абонентов и соответствующий абоненту канал когда абонент регистрируется, и вытаскивать эту информацию при вызове.
телефоны thomson st2030 в прошивке 1.56 имеют такую функцию штатно. с 1.58 до 1.66 ввели изменение, в настройках нужно указывать сервер регистрации. для чего - непонятно, но не работает без него.
|
Откуда: Kyiv
Сообщений: 7
|
Re: Extension mobility
Если я правильно понял то в таком случае функция ввода логина и пароля ложится на телефон. Хотелось бы решение не зависящее от телефона или софтфона. Идеальный вариант это: Звоним на номер после чего регистрируемся и получаем звонки. В конце рабочего дня звоним на номер и выходим из цепи.
Или я не совсем верно понял предлогаемую идею?
|
Откуда: Уфа
Сообщений: 5856
|
Re: Extension mobility
может я неверно выразился:
вариант 1:
БД записывать список абонентов и соответствующий абоненту канал когда абонент регистрируется, и вытаскивать эту информацию при вызове.
вариант2:
телефоны thomson st2030 в прошивке 1.56 имеют такую функцию штатно. с 1.58 до 1.66 ввели изменение, в настройках нужно указывать сервер регистрации. для чего - непонятно, но не работает без него.
|
Откуда: Kyiv
Сообщений: 7
|
Re: Extension mobility
А каким образом в случае "1" происходит регистрация(логон/логоф)?
Идея в том чтобы телефоны подключить к системе с какимто экстеншеном в контексте скажем default. В этом контексте разрешается звонить только на эмерженси номера. А когда человек логинится то ему уже разрешаются звонки во всех направлениях. Хотелось реализовать на агентах. При исходящем звонке смотрим на статус Агента на заданном канале(Если я правильно понимаю то эту информацию можно получить командой Agent)Если на канале есть Агент то разрешаем ему звонок. А на самих агентов звоним Dial(Agent/${EXTEN}) а если Агент не доступен то отправляем звонок на войсмейл.
Надеюсь описал понятно :)
|
Откуда: Kiev
Сообщений: 801
|
Re: Extension mobility
Если без привязки к физическому телефону, а только экстеншену, то только как вы говорите через звонок на номер регистрации. Юзер, дозвонившись на такой номер, вводит уникальный для него passwd (по паролю можно в дальнейшем определить какой юзер).После успешной регистрации писать в базу с юзерами параметр (on/off) и экстеншен этого пользователя. А при звонках с уже зарегистрированного номера/пользователя, в макросе проверять для связки "зарегистрированный экстеншен/on" возможность попадать в другой контекст (см. GotoIf). ИМХО. Может мутновато описал, просто спешу домой ;)
Лучший способ предвидеть будущее - изобрести его (Алан Кей, "Apple")
|
Откуда: Москва
Сообщений: 3421
|
Re: Extension mobility
billy, реализуется просто и разными способами, Go ahead!
|
Откуда: Уфа
Сообщений: 5856
|
Re: Extension mobility
яж говорю что можно сделать самостоятельно, без использования всяких агентов. что-то типа того:
[ext-mobil]
exten => _X.,1,Dial(SIP/${DB(device/${EXTEN})}),30)
;регистрация
exten => _44X.,1,Set(DB(device/${EXTEN:2})=${CALLERID(num))}))
;разрегистрация
exten => _45X.,1,Set(DB(device/${EXTEN:2})='unreg')})
написал от балды, работоспособность не проверял
|
Откуда: Kyiv
Сообщений: 7
|
Re: Extension mobility
Всем огромное спасибо за наводку :)
Получилось нечто такое:
;Login
exten => 6092,1,Answer()
exten => 6092,n,VMAuthenticate(@default|)
exten => 6092,n,Set(DB(device/${AUTH_MAILBOX})=${CALLERID(num)})
exten => 6092,n,Playback(agent-loginok)
exten => 6092,n,HangUp
;Logout
exten => 6093,1,Answer()
exten => 6093,n,VMAuthenticate(@default|)
exten => 6093,n,Set(DB(device/${AUTH_MAILBOX})='unreg')
exten => 6093,n,Playback(agent-loggedoff)
exten => 6093,n,Playback(vm-goodbye)
exten => 6093,n,HangUp
;Dialing
exten => _61XX,1,Dial(SIP/${DB(device/${EXTEN})},200,Tt)
Может что-то можно и убрать, а что-то добавить, но вроде работает :).
|
Сообщений: 6521
|
Re: Extension mobility
Ох-ох!
А во freePBX просто бери готовое
*11 Logon
*12 Logoff
|
|