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/