W dniu 01/15/2016 o 08:51 AM, Arturz
pisze:
W dniu 2016-01-15 o 08:19, Ernest
pisze:
W dniu 01/14/2016 o 10:13 PM, Rafał
Z. pisze:
Może nie jedyny - zawsze można jeszcze w prosty
sposób generować pliki konfiguracyjne, tworzyć własne cdrki
np per user itd. Co myślisz/myślicie o takim pomyśle?
Konfiguracja statyczna vs realtime(z bazy)?
Każdy szyje system tak jak lubi/potrafi ;)
ja jednak stawiam na konfigurację mieszaną (użytkownicy z bazy,
dialplan statyczny) ze względu na brak przeładowań bazy
użytkowników.
Asterisk co prawda pozwala również na konfigurację dialplanów w
bazie, ale mechanizm wybierania rekordów do dialplanu jest tam
strasznie pogmatwany (jakieś dziwne skoki po priorytetach) .
Możesz podrzucić jakiś link na ten temat??
Nie pamiętam już jak to było z tymi skokami po bazie,
ale generalnie asterisk na dzień dobry próbuje znaleźć rekord
dokładnie pasujący do wybieranego numeru a potem kombinuje
http://www.voip-info.org/wiki/view/Asterisk+RealTime+Extensions
Przy niewielkiej liczbie często zmieniających się wpisów może być to
opłacalne, ale jeśli mamy kilka-set/tyś
wpisów to już nie jest tak różowo (każde zapytanie to połączenie z
baza i wykonanie sql`a == spory narzut czasowy)
IMHO lepiej zrobić "inteligentny" statyczny dialplan oparty o konta
w bazie i w dodatkowych makrach sprawdzać np. uprawnienia klienta
dopisać mu jakieś zmienne.
Mój "core" dialplanu ma raptem 4 wpisy i chyba z 10 makr
Co do CDRów to pakując je do bazy nie musisz się bawić w
rozdzielanie ich per user bo może ci to załatwić dialplan(w
sensie dodatkowych znacznikówrekordu) i/lub odpowiednie
zapytanie SQL.
Rozdzielenie CDRów na pliki per user tylko komplikuje
taryfikację.
Ernes tma rację.
Lepiej dodać pole do bazy <numer_klienta> i to pole
wypełniać podczas preanalizy.
Potem możesz pracować na takim zestawie.
Nie sprawdzałem, ale czy CDR mają pola/rekordy łacze wejściowe /
wyjsciowe ??
Potem jakby ktoś chciał dorobić raporty między operatorskie będzie
jak znalazł.
CDRy możesz składować w kilku rożnych miejscach (pliki, baza1,
baza2) równolegle
i nie ma to jakiegoś szczególnego narzutu na wydajność.
U siebie mam składowanie w plikach /tak na zapas ;)/ + sqlite (
cdr-mysql wtedy jeszcze raczkował ) i jakoś nie bardzo mam chęci
przerabiać cały system na MySQL tylko dla siebie ;)
Co do łączy WE/WY to trzeba sobie to samemu ogarnąć. Asterisk
zapisuje tylko pola
AcctId, clid, src, dst, dcontext, channel, dstchannel, lastapp,
lastdata, start, answer, end, duration, billsec, disposition,
amaflags, accountcode, uniqueid, userfield
Ja robię to zapisując accountcode w postaci
src_klient_id:dst_klient_id
w przypadku wiązek "zewnętrznych" podstawiając wirtualnego klienta
zależnego od wiązki wejściowej.
Można też samemu przejąć zapisywanie CDRów( zmienne są dostępne z
poziomu dialplanu) i wtedy można zapisać wszystko co się wymyśli ;).
--
Art
_______________________________________________
lms mailing list
lms@lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms
--
Pozdrawiam
Michał Szmigielski
/ernesttar/