All Oracle Features in Action Mobiltel Mediation Platform Georgi Hristov Integration & Service Enabling Department
Page 2 What is Mediation? Files transfers Decodes data that has been encoded by the ASN.1 into the internal standard format. Validate, formatting and conversion data by mapping rule. Aggregates partial CDR belonging to the same session by the CDR type. Correlates different CDRs belonging to the same session. Filters CDRs and their fields according to the systems that need charging data. Create flexible and wide CDR for Business System Software NE 1NE 2NE n... Mediation Validation Formatting & Conversion Aggregation Correlation Filtering Create custom CDR Business Systems BS 1BS 2BS n... ftp Network Elements ASN.1 Parser
Page 3 What is CDR? IMSI CALLINGNUMBER CALLINGIMEI TIMEDATE25/10/ :00:23 CALLDURATION16 CALLEDNUMBER SEQUENCENUMBER LOCATION
Page 4 Old Mediation ■ CDR Files ■ No Database ■ Perl scripts ■ Hard to make statistics ■ Hard to make new features ■ Slow flexibility
Page 5 Mediation Needs Flexibility Performance Real-time processing Searching Statistics Archive Guiding
Page 6 Mediation Platform
Page 7 Mediation Platform in Numbers 60M Input CDRs per Day 120M Output CDRs per Day More than 5M subscribers More than 200 interfaces 45 days History More than 600GB Table space Call Durations and Call Count
Page 8 Mediation Platform Indexing Partitions Statistics Compression Fast access REG_EXP Logic Into Database Oracle GRID Control Monitoring Oracle GRID Control Managing Oracle Clustering Mediation MNP SWAT
Page 9 CDR Database Storage Indexing Partitions Compression Processing CDR Repository 64 Billion records; All CDRs since TB uncompressed 4.3 TB compresses 65% speedup < 1 sec to find a call
Page 10 Box Services (HomeBox VoiceBox OfficeBox) Guiding Processing Fraud Preventing
Page 11 HomeBox Architecture
Page 12 Home Fraud
Page 13 SWAT is not Subscribers Wild Attribute Transformations Real-Time Processing Subscribers information Real-Time Guiding Always in Memory *Oracle Coherence, Oracle TimesTen
Page 14 Oracle Standard useful features used in Mediation Platform Lag SELECT last_name, hire_date, salary,LAG(salary, 1, 0) OVER (ORDER BY hire_date) AS PREV_SAL FROM employees Partition by SELECT manager_id, last_name, salary, MAX(salary) OVER (PARTITION BY manager_id) AS rmax_sal FROM employees XML object Nested tables Partition Management Interval Partitioning
Page 15 Example (1) select imschargingidentifier, accountingrecordtype calltype,eventtimestamp, LAG(eventtimestamp) OVER (Partition by imschargingidentifier ORDER BY eventtimestamp) b_time,LAG(call_type) OVER (Partition by imschargingidentifier ORDER BY eventtimestamp) call_type, max(calledpartyoriginaladdress) OVER (Partition by imschargingidentifier) calledpartyoriginaladdress, max(subscriptioniddata) OVER (Partition by imschargingidentifier) subscriptioniddata from (select * from ( select i.eventtimestamp,i.imschargingidentifier,i.accountingrecordtype, case when (instr(sdpmedianame,'m=video')>0) then 'V' when (instr(sdpmedianame,'m=audio')>0) then 'A' else '_' end call_type, i.causecode,i.calledpartyoriginaladdress,i.originhost,i.serverpartyipaddress, i.callingpartyaddress,i.subscriptioniddata,i.destinationrealm FROM ims_table_records I WHERE FILE_ID = 7 AND ((i.accountingrecordtype = 2 and i.roleofnode = 0) or (i.accountingrecordtype in (3,4) and (i.roleofnode =0 or i.roleofnode is null))) and imschargingidentifier in (select imschargingidentifier from ( select count(imschargingidentifier),imschargingidentifier from ims_table_records where FILE_ID = 7 group by imschargingidentifier having count(imschargingidentifier) >1 )) )x where not (accountingrecordtype =3 and call_type = '_')) SCHARGINGIDENTIFIERcallEVENTTIMESTAMPB_TIMEcallCalledNumberCallingNumber 1"3f07db0902fbd60866df " :37:12 2"3f07db0902fbd60866df " :37: "47af208f de8c7350dc4" :26:36 4"47af208f de8c7350dc4" :27:
Page 16 Example (2) select a.chargingID,a.servedIMSI,a.servedMSISDN, a.AccessPointNameNI,a.recordOpeningTime start_rectime,nvl(extractValue(value(s1), '/ContentTypeIDSequence/ContentTypeID'),'102') ContentTypeID,nvl(extractValue(value(s1), '/ContentTypeIDSequence/UplinkCount'), gx.dataVolumeGPRSUplink) Up,nvl(extractValue(value(s1), '/ContentTypeIDSequence/DownlinkCount'),gx.dataVolumeGPRSDownlink) Down,file_id,a.localsequencenumber,min(mn.column_value) over (partition by a.localsequencenumber) sgsnaddress from ipc_table_ggsn a,table(XMLSequence( extract(a.RECORDEXTENSIONS, '/ExtensionXML/ExtensionSequence/informationSequence/ContainerSequence/ContentTypeIDSequence')))(+) s1,table(a.listoftrafficvolumes) gx,table(a.sgsnaddress) mn
Page 17 What’s New HP Oracle Exadata Storage Server
Page 18 A Q &