Страница 1 из 2
Follow me и Realtime (mysql)
Добавлено: 24 мар 2011, 17:55
BellLabs
Кто-нибудь реализовывал? Какие таблицы использовали и как указать, что follow me формируется динамически?
Re: Follow me и Realtime (mysql)
Добавлено: 25 мар 2011, 13:53
BellLabs
кажись разобрался, все просто, но не прозрачно в extconfig.conf добавляем 2 строчки
Код: Выделить всё
followme => mysql,general,followme
followme_numbers => mysql,general,followme_numbers
в этом файле followme не упоминается, об это и споткнулся.
Далее добавляем две таблицы в mysql
Код: Выделить всё
CREATE TABLE `followme` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(100) default NULL,
`musicclass` char(100) NOT NULL default 'default',
`context` char(100) default NULL,
`takecall` int(11) default '1',
`declinecall` int(11) default '2',
`call_from_prompt` char(100) NOT NULL default 'followme/call-from',
`norecording_prompt` char(100) NOT NULL default 'followme/no-recording',
`options_prompt` char(100) NOT NULL default 'followme/options',
`pls_hold_prompt` char(100) NOT NULL default 'followme/pls-hold-while-try',
`status_from_prompt` char(100) NOT NULL default 'followme/status',
`sorry_prompt` char(100) NOT NULL default 'followme/sorry',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
);
CREATE TABLE `followme_numbers` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`name` char(100) default NULL,
`ordinal` int(4) DEFAULT '1',
`phonenumber` char(250) default NULL,
`timeout` int(4) default '15',
PRIMARY KEY (`id`)
);
И теперь с веб морды можно каждому юзеру прописывать переадресации разного вида, хоть одновременный вызов на домашний и сотовый.
Re: Follow me и Realtime (mysql)
Добавлено: 25 мар 2011, 14:53
ded
Дык, эта, с веб морды можно каждому юзеру прописывать и без механизма realtime.
Или это вынесли в юзерский менеджмент? Чтобы каждый сам себе?
Порядку не будет.
Re: Follow me и Realtime (mysql)
Добавлено: 25 мар 2011, 16:01
BellLabs
Мне удобно было использовать mysql, а какие вы предложили бы способы?
Насчет порядка пока не знаю, посмотрим какие проблемы возникнут потом.
Возникла проблема с followme: когда вызов переадресуется, то другому абоненту, чтобы принять нужно ввести код (цифра 1 по умолчанию), а это не всегда удобно, особенно если абонент принимает вызов на смартфон без кнопок. Было бы здорого найти "галку", которая бы отключала эту фичу и вызов приходил бы без всяких аннонсментов.
Re: Follow me и Realtime (mysql)
Добавлено: 25 мар 2011, 16:54
ded
Я не совсем видимо понял в чём трудность.
Стандартно followme реализуется, например, средствами вэб менеджмента freePBX.
Для каждого внутреннего номера она представляет собой как-бы микро ринг-группу, с различными сценариями дозвона.
Предположим, что офисные стационарные телефоны имеют вид
11
12
13
Предположим, что у всех в кармане ещё и смартфоны, зарегистрированные на том же Астериске
21
22
23
Ну и для разнообразия - у всех домашние номера, также зарегистрированные на том же Астериске.
31
32
33
Тогда абонент у которого не включена опция followme будет иметь мини-ринг-группу из одного номера 11.
Второму включим followme и добавим и смартфон, и рабочий, сделаем сценарий ring all
12
22
32
А третьему - последовательный обзвон
13
23
9012345678#
В таком варианте ему не надо нажимать никакую единицу. И если смартфон выключен, свонок перейдёт на мобильный его жены - 9012345678.
Re: Follow me и Realtime (mysql)
Добавлено: 26 мар 2011, 22:43
BellLabs
Я использую * без надстроек. Не знаю как реализовано в freePBX. Но в * есть аппликация followme, которая работает вот таким образом, что при звонке абоненту предлагает ему ввести цифры. Вопрос в том, есть ли пути изменить такой сценарий этого приложения, или нужно лезть в код приложения и в нем разбираться? Хотя можно реализовать переадресации и средствами диалплана.
Re: Follow me и Realtime (mysql)
Добавлено: 27 мар 2011, 07:24
IgorG
У штатного приложения нет возможности изменить сценарий так, чтобы отключить запрос подтверждения. Нужно смотреть в исходном коде, либо при соединении вызова изощряться с SendDTMF
Re: Follow me и Realtime (mysql)
Добавлено: 29 мар 2011, 11:21
BellLabs
Спасибо IgorG. Разбираться в коде приложения пока нет времени, тем более я с СИ не знаком. Но было бы хорошо, если бы в конфиге followme.conf была опция включения/выключения запроса подтверждения. Я реализовал переадресации средствами диалплана:
Сделал БД с полями: тип переадресации, диал строка для переадресации 1 типа (безусловная), диал строка для переадресации 2 типа (по занято), диал строка для переадресации 3 типа (по неответу), диал строка для переадресации 4 типа (по неответу/занято), строка для почтового ящика. Тип переадресации: 0 - нет переадресаций, 1 - безусловная, 2 - переадресация по занято, 3 - переадресация по неответу, 4 - по занято и неответу, 5 - на почтовый ящик.
В extensions.conf
Код: Выделить всё
exten=>_3XX,1,Set(__DYNAMIC_FEATURES=tefe)
exten=>_3XX,n,Set(__CHANNEL(language)=ru)
exten=>_3XX,n,MYSQL(Connect connid 127.0.0.1 myuser mypassword mybase)
exten=>_3XX,n,MYSQL(Query resultid ${connid} SELECT type, dialstr1, dialstr2, dialstr3, dialstr4, vm FROM `forward` WHERE `ext`=${EXTEN})
exten=>_3XX,n,MYSQL(Fetch fetchid ${resultid} type dialstr1 dialstr2 dialstr3 dialstr4 vm)
exten=>_3XX,n,MYSQL(Clear ${resultid})
exten=>_3XX,n,MYSQL(Disconnect ${connid})
exten=>_3XX,n,Macro(fordial,${type},${dialstr1},${dialstr2},${dialstr3},${dialstr4},${vm})
Ну и макрос
Код: Выделить всё
[macro-fordial]
exten=>s,1,Goto(s-${ARG1},1)
exten=>s-0,1,Dial(SIP/${MACRO_EXTEN},120,TthHKkmw)
exten=>s-0,n,Hangup()
exten=>s-1,1,Dial(SIP/${ARG2},120,Tt)
exten=>s-1,n,Hangup()
exten=>s-2,1,Dial(SIP/${MACRO_EXTEN},10,TthHKkmw)
exten=>s-2,n,GotoIf($["${DIALSTATUS}"="BUSY"]?:end)
exten=>s-2,n,Dial(SIP/${ARG3},120,Tt)
exten=>s-2,n(end),Hangup()
exten=>s-3,1,Dial(SIP/${MACRO_EXTEN},10,TthHKkmw)
exten=>s-3,n,GotoIf($["${DIALSTATUS}"="NOANSWER"]?:end)
exten=>s-3,n,Dial(SIP/${ARG4},120,Tt)
exten=>s-3,n(end),Hangup()
exten=>s-4,1,Dial(SIP/${MACRO_EXTEN},10,TthHKkmw)
exten=>s-4,n,Dial(SIP/${ARG5},120,Tt)
exten=>s-5,1,Dial(SIP/${MACRO_EXTEN},10,TthHKkmw)
exten=>s-5,n,Voicemail(${MACRO_EXTEN},${ARG6})
Все работает, проверено. Если будут идеи по оптимизации, пишите. Написал на скорую руку. С followme было бы изящнее.
Re: Follow me и Realtime (mysql)
Добавлено: 29 мар 2011, 14:18
Obi Van
BellLabs
Читаю и улыбаюсь, т.к сам реализовал практически 100% схожую систему с пол-годика назад. Просто отталкивался от логики работы этого функционала в нашей офисной Samsung OS500. Далее всё как у вас. Единственного чего нет, так это голосовой почты и реализация в рингплане сделана немного по другому. Ну а так тоже самое. Работает очень хорошо. Посему и непонятно. стоит ли вообще ковырять приложение FollowMe?
И мне кажется можно вполне себе сделать очень круто и дальше развивая эту концепцию.
Re: Follow me и Realtime (mysql)
Добавлено: 29 мар 2011, 14:50
BellLabs
Obi Van, я тоже от самсунговской логики отталкивался, единственно я тут проверку на пустые dialstr не вставил, от чего * может загнуться, когда увидит Dial(SIP/,120). Позже напишу код для активации и внесения переадресаций разных типов с телефонных аппаратв, а то как-то не полно выходит. В итоге получим в плане переадресаций функционал АТС + возможность изменять параметры с веб морды.