у мну завал. не появляюсь на этом форуме =) насчет версий - нужно пробовать сборки из гит на твоем функционале. бывало какие то api работали не так, были изменены (и изменения не отражены в документации, помогало тока чтение соурсов, чтобы выяснить что же отдавать в аргументах) ну и прочие плюшки.
вообще можно взять последний релиз, по нему хоть документация актуальна =) наврядли что то потеряешь, при желании иметь определенные фишки - собирай из гит. хотя я так понимаю последний релиз всеравно прийдется собирать - так что сразу проще из git.
пысы - я не обновляюсь в период с конца осени по начало весны - боюсь в этот период что то ломать и останавливать нет возможности =)
Пока на тестовом стенде, функционал нужен простенькой офисной АТС:
Внутренняя коммутация
Стандартные функции (трансвер, пикап, парковка, BLF, moh)
Звонок в PSTN через VOIP
CDR
Я конечно не fr_butch, но всё-равно отвечу. Использую FS в качестве очень маленькой офисной АТС. На данный момент на коммите db5f5046781a4754dabe79f6854d2ba35842ef6c (ЕМНИП это лето прошлого года). Всё-никак не соберусь свежую версию собрать и потестить...
По идее, здесь только багфиксы и новые фичи, но и от regression багов никто не застрахован. Но комьюнити быстро их ловит, как я посмотрю. Да и вообще сами разработчики рекомендуют гит-версию.
/me поставил билдится на стенде. кстати, приобрел cookbook. на первый взгляд мало чего смогу почерпнуть из книги, всетаки уже больше 2х лет использую, но все же это лучше чем в вики искать, буду перечитывать потихоньку
Я тоже купил, уже прочитал. Честно, не совсем понравилось, хотя, безусловно, есть что почерпнуть.
Кстати, хотел спросить, а как у тебя реализовано CDR? Ведь, по-сути, FS в реалтайме может писать толь в csv и sqlite. По крону дампится cdr_csv в базу?
cdr сам по себе не совсем риалтайм же - данные только после окончания сессии падают. риалтайм - это через eventsocket данные собирать. но так ли это нужно? =)
после последнего обновления сильно изменился высер у fifo, да и думаю на mod_callcenter переезжать, так что буду это пересматривать и переписывать. это щас одна из приоретеных задач.
sqlite не попрет 100%
mysql> select count(*) from freeswitch.cdr; +----------+ | count(*) | +----------+ | 3226022 | +----------+ 1 row in set (0.00 sec)
сейчас да, все собирается в csv, который загружается раз в n минут. есть собственная заточенная под свои задачи веб морда со статой, прослушкой разговров и тд.
вообще сильно расстраивает то что высер fifo меняется регулярно =(
Да, имел в виду нативную запись. А все твои наработки это чисто in-house софт. Или по фрилансу можешь что-то подобное написать? Кстати, я правильно заметил, что записи в базе больше трёх миллионов? При небольших инсталяциях sqlite подходит для базы?
наработки в общем гибкие, можно применить и к другим задачам, но если честно, нужно серьезно чистить код, ибо большая часть была написана больше года назад, когда я с python был только чуть чуть знаком =)
записей и правда больше трех миллионов, это за два года почти. основной поставщик строк - fifo =)
не знаю как себя sqlite поведет и что значит «небольшая инсталяция» =)
Для просмотра CDR ты используешь допиленный Asterisk CDR (видел у тебя в блоге)? fifo это что-то типа очередей, как queue в asterisk? Как работает? С выходом стабильного 1.2 должно быть проще с обновлениями и поломками API.
А что конкретно веб-морда делает в двух словах можно, если не секрет.
По поводу sqlite, имелось ввиду mod_cdr_sqlite. Под небольшими инсталяциями я понимал, там, где не так много звонков, там, где нет смысла городить огород с mysql для cdr.
fifo - mod_fifo http://wiki.freeswitch.org/wiki/Mod_fifo обычная очередь, входящий звонок долбит операторов по кругу, пока кто нить не возьмет. начинает долбить с рандомного оператора, в зависимости от того, когда последний раз говорил оператор. плюс еще висит демон, который хитро добавляет юзеров в fifo (на основе статуса jabber\xmpp)
mod_callcenter вроде как более прокачанный вариант, с большим функционалом. а то щас приходится отслеживать, не пусто ли в fifo ( 0 операторов) и не нужно ли переадресовывать входящие куда в другое место.