Calom - Cisco Call Manager

Sběr dat

Sbírané informace

Sběrný modul CCM gatherer sbírá data o hovorech z Cisco Call Manageru. Připojuje se přímo na CCM databázi a data ukládá do systému Calom do databáze společné pro všechny sběrače. Data mapuje na odpovídající položky databáze Calomu. Sbíraná data jsou:

CDR.dateTimeDisconnect

Údaj o konci hovoru.
Mapuje se na položku when.

CDR.duration

Délka hovoru v sekundách.
Mapuje se na položku duration.

CDR.callingPartyNumber

Volající číslo.
Mapuje se na položku anum.

CDR.finalCalledPartyNumber

Původně volané číslo.
Mapuje se na položku bnum.

CDR.originalCalledPartyNumber

Číslo, na které byl hovor nakonec spojen.
Mapuje se na položku cnum.

CMR.numberOctetsSent + CMR.numberOctetsReceived

Údaj o přeneseném množství dat. Ukládá se pouze součet odchozích a příchozích.
Mapuje se na položku pulses.

CDR.authCodeDescription

Autorizační kód.
Mapuje se na položku authcode.

CDR.clientMatterCode

Uživatelský kód.
Mapuje se na položku auxcode.

Data, která jsou sbírána a používána, ale ukládají se pouze údaje vypočtené na jejich základě:

CDR.globalCallID_callId, CDR.globalCallID_callManagerId

Tyto údaje se používají pro jednoznačnou identifikaci hovoru, např. pro zjištění, zda daný hovor již byl stáhnut.

CDR.dateTimeConnect

Používá se pro kontrolu konzistence dat.

CDR.OrigCause_value, CDR.DestCause_value

Používají se pro určení, zda má být hovor ignorován nebo přidán do databáze.

CDR.callingPartyNumberPartition

V současné době se nepoužívá, ale je možné tento údaj mapovat na položku adom nebo acat.

CDR.finalCalledPartyNumberPartition

V současné době se nepoužívá, ale je možné tento údaj mapovat na položku bdom nebo bcat.

CDR.originalCalledPartyNumberPartition

V současné době se nepoužívá, ale je možné tento údaj mapovat na položku cdom nebo ccat.

CDR.lastRedirectDn

Používá se k určení, zda jde o hovor přesměrovaný.

Způsob sbírání

Calom CCM gatherer sbírá data o hovorech periodicky (s uživatelsky volitelnou periodou, min. 1 minuta). Při každém sběru se spojí s Cisco CCM databázemi CDR a CMR, a načte data. Je možné jej nastavit do režimu, kdy data z databáze po stáhnutí smaže nebo je může ponechat. Pro určování, zda daná data již stáhl, používá techniku "plovoucího okna" (s nastavitelnou délkou, defaultně 24 hodin), kdy ve svých datových strukturách uložen seznam všech hovorů od nejnovějšího načteného do velikosti okna (např. 24 hodin) dozadu. Hovory starší než je hranice okna, jsou automaticky ignorovány. Pokud je nastaveno mazání záznamů, je možné nepoužívat "plovoucí okno" a stahovat vždy všechny hovory.

Calom databáze

Calom databáze obsahuje následující základní informace o hovorech:

flags

Různé údaje o hovoru (Event, Outgoing, Incoming, Internal, Long-duration, Terminated, MCT, DISA, LCR, ECF, Route-optimization, System-reload, Transfer, Intrusion, Conference, Recall-to-route, Alt-route-select, Op-extended, Ans-diff-dial, Congestion, Test-call, FAC-rest-level, Data, Injected, Auth-code used, Acct-code-used, Soft-metering).
Podle těchto údajů se např. mohou stanovovat kritéria výběru pro reporty.

when

Údaj o čase hovoru (čas ukončení) s přesností na sekundy.

duration

Doba trvání hovoru (v sekundách).

srcid

ID zdroje dat, většinou ID ústředny.

anum, bnum, cnum, pnum

Volající účastník - "telefonní číslo", účastník, který hovor příjal (answering party), původně volaný účastník a účastník, na jehož účet byl hovor proveden (pokud byl např. použit autorizační kód). Je možné tyto údaje prefixovat a suffixovat dalšími údaji...

pulses

Počet pulzů z ústředny. Může sloužit pro tarifikaci nebo jako další informace o hovoru.

op-queue-time

Doba strávená ve frontě operátorky.

queue-time

Doba strávená v ostatních frontách.

outgoing-trunk

Odchozí trunk (typ string). Podle něj je možné rozlišit, přes jaký trunk z ústředny odešly.

auth-code

Autorizační kód. Používá se pro tarifikaci a určení pnum.

account-code

Kód účtu. Používá se pro tarifikaci a určení pnum.

aux-code

Doplňkový přístupový kód.

Následující údaje jsou systémem k hovoru dynamicky přidávány:

adomain, bdomain, cdomain, pdomain

Doména účastníků anum, bnum, cnum, pnum. Jedná se o záznam v hierarchické stromové struktuře domén (dirdb). Název může mít tvar např. "Prodejny.Mlada_Boleslav.financni".

aname, bname, cname, pname

Uživatelsky definovaná jména přiřazená anum, bnum, cnum, pnum.

acomment, bcomment, ccomment, pcomment

Uživatelsky definované komentáře přiřazené anum, bnum, cnum, pnum.

acat, bcat, ccat, pcat

Kategorie uživatelů anum, bnum, cnum, pnum. Tyto kategorie jsou číselné hodnoty a používají se pro tarifikaci. Jako kategorie může být např. "Mexiko", kam budou spadat všechna mexická čísla nebo "Finanční", kam budou spadat čísla z finančního oddělení. Systém kategorií je provázán se systémem hierarchické struktury domén.

pulsecost

Cena za 1 pulz hovoru. U některých operátorů může sloužit pro tarifikaci, dnes je však nejčastěji nevyužívaná.

cost

Výsledná vypočtená cena hovoru. Výpočet probíhá v modulu tarifikace, který je popsán níže.

Přidávání doplňujících údajů se provádí v době generování reportu. Přiřazení "telefonního čísla" (např. anum) ke jménu, do domény, do kategorie, apod. se provádí v modulu dirdb, což je databáze hierarchické struktury domén, kde jsou uloženy informace o účastnících. Tento systém odpovídá systému partitions u Cisco Call Manageru, ale navíc podporuje stromovou hierarchii.
Existuje několik programů pro synchronizaci dirdb s různými informačními systémy (např. DNA).

Poznámky:

Calom reporty

Reporty jsou strukturované výstupy dat o hovorech ze systému Calom. Každý report je řízen definicí reportu, což je textový soubor popisující formát výstupu, a omezeními na výběr hovorů zahrnutých do reportu.

Výběr hovorů

Výběr hovorů se řídí nejprve časovým rozsahem (jako např. "minulý měsíc" nebo "dnes 12:35 - 15:00") a následně dalšími atributy, např. výběr dnů v týdnu, typ hovoru (odchozí, příchozí, konferenční, ...), interval pro délku nebo cenu hovoru, zroj a cíl hovoru, na koho byl účtován, autorizační a account-kódy, apod. Je možné sestavit si další podmínky na hovor pomocí filtračního modulu, kde se zadává seznam predikátů, které hovor musí nebo naopak nesmí splňovat.

Definice reportu

Samotný formát reportu je určen data-flow popisem - definicí reportu. Zde se určuje (fiktivní) tok dat o hovorech, s tím že v určitých uzlech se dělají součty/minima/maxima, hovory se podle určitých kritérií řadí nebo se do toku vybere jen určitá podmnožina. Jiné druhy uzlů rozvětvují toky dat nebo tisknou výstup.

Všechny položky z informací o hovorech je možné v reportu zobrazit, u položek jako datum je možné nadefinovat formáty výstupu (aby se např. pondělí zobrazovalo jako "Po", "Pondělí", "Mon", atp.).

Reporty je možné zadávat přes konzolového Calom klienta, klienta WebCalom, speciální program na příkazovou řádku creport nebo přímou komunikací s Calom serverem přes TCP/IP.

Poznámky:

Výstupy reportu

Výstup reportu je určen definicí reportu. Může to být textový soubor, HTML, CSV, XML nebo PDF.

Poznámky:

Tarifikační skripty

Výpočet ceny hovoru (příp. i dalších vlastností) je prováděn tarifikačními skripty. Tyto skripty jsou napsány ve zjednodušeném jazyce C s rozšířeními pro tarifikaci (jako např. přímá podpora stringů nebo data a času). Tyto skripty běží na Calom serveru a je možné je za běhu systému přidávat nebo měnit (změna se projeví při dalším spuštění reportu).

Tarifikační skripty se nespouštějí už při sběru dat, ale až při generování reportu (skript se aplikuje na každý hovor). Díky tomu je možné zvolit jiný tarifikační skript a vyzkoušet vygenerovat report s jinou tarifikací.

Tarifikační skripty mohou pracovat se všemi údaji o hovoru, mohou tedy (kromě výpočtu ceny) měnit i telefonní čísla, názvy nebo přidávat komentáře.

Tarifikační skripty se mohou skládat z mnoha souborů. Toto je používáno např. pro uložení tarifikačních tabulek zvlášť, mimo ostatní kód, (což umožňuje pružnější změnu tabulek).

Poznámky: