WO2006009929A2 - METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS FOR SELECTING OR GENERATING A SINGLE CALL DETAIL RECORD (CDR) FROM A PLURALITY OF CDRs ASSOCIATED WITH A CALL HAVING A PLURALITY OF LEGS - Google Patents

METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS FOR SELECTING OR GENERATING A SINGLE CALL DETAIL RECORD (CDR) FROM A PLURALITY OF CDRs ASSOCIATED WITH A CALL HAVING A PLURALITY OF LEGS Download PDF

Info

Publication number
WO2006009929A2
WO2006009929A2 PCT/US2005/021623 US2005021623W WO2006009929A2 WO 2006009929 A2 WO2006009929 A2 WO 2006009929A2 US 2005021623 W US2005021623 W US 2005021623W WO 2006009929 A2 WO2006009929 A2 WO 2006009929A2
Authority
WO
WIPO (PCT)
Prior art keywords
cdr
cdrs
call
office
selecting
Prior art date
Application number
PCT/US2005/021623
Other languages
French (fr)
Other versions
WO2006009929B1 (en
WO2006009929A3 (en
Inventor
Kenneth A. Moisey
Clifton D. Petteway
Peter J. Marsico
Original Assignee
Tekelec
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tekelec filed Critical Tekelec
Priority to EP05762688A priority Critical patent/EP1766955A2/en
Publication of WO2006009929A2 publication Critical patent/WO2006009929A2/en
Publication of WO2006009929A3 publication Critical patent/WO2006009929A3/en
Publication of WO2006009929B1 publication Critical patent/WO2006009929B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/41Billing record details, i.e. parameters, identifiers, structure of call data record [CDR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/43Billing software details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/47Fraud detection or prevention means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/49Connection to several service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/58Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP based on statistics of usage or network monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/62Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP based on trigger specification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/70Administration or customization aspects; Counter-checking correct charges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/70Administration or customization aspects; Counter-checking correct charges
    • H04M15/73Validating charges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/01Details of billing arrangements
    • H04M2215/0148Fraud detection or prevention means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/01Details of billing arrangements
    • H04M2215/0164Billing record, e.g. Call Data Record [CDR], Toll Ticket[TT], Automatic Message Accounting [AMA], Call Line Identifier [CLI], details, i.e. parameters, identifiers, structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/01Details of billing arrangements
    • H04M2215/0188Network monitoring; statistics on usage on called/calling number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/46Connection to several service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/70Administration aspects, modify settings or limits or counter-check correct charges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/70Administration aspects, modify settings or limits or counter-check correct charges
    • H04M2215/7072Validate charges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • H04M3/2218Call detail recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1313Metering, billing

Definitions

  • the subject matter described herein includes methods, systems, and computer program products for generating and correlating call detail record (CDRs) associated with a call in a communications network. More particularly, the subject matter described herein includes methods, systems, and computer program products for methods, systems, and computer program products for selecting or generating a single call detail record
  • CDR from a plurality of CDRs associated with a call having a plurality of legs.
  • MSU message signaling unit
  • IAM ISDN user part
  • MTP message transfer part
  • MTP information may include an origination point code (OPC) value, a destination point code (DPC) value, and a trunk circuit identification code (CIC) value.
  • OPC origination point code
  • DPC destination point code
  • CIC trunk circuit identification code
  • FIG. 1 illustrates an exemplary SS7 network environment 100, which includes a first end office (EO) 102, a first tandem office 104, a second tandem office 106, and a second EO 108.
  • First EO 102 serves a calling party subscriber B.
  • EO 108 serves a called party subscriber A.
  • Network environment 100 includes a monitoring system 110, which is receives CDR information from several signaling link monitoring probes, 112, 114, and 116. More particularly, monitoring probe 112 monitors SS7 MSU traffic between EO 102 and tandem 104 and generates associated CDR information. Likewise, probe 114 generates CDR information associated with monitored SS7 MSU traffic between tandem 104 and tandem 106, and monitoring probe 116 generates CDR information associated with monitored SS7 MSU traffic between tandem 106 and EO 108. Monitoring system 110 receives and stores the CDR information from each remote monitoring probe and provides the CDR information to other applications that require such CDR information (e.g., billing applications, fraud detection applications, etc.).
  • CDR information e.g., billing applications, fraud detection applications, etc.
  • originating EO 102 signals tandem office 104 with ISUP IAM message 1.
  • Tandem office 104 in turn signals tandem office 106 with IAM message 2, and tandem office 106 signals the terminating EO 108 with IAM message 3.
  • Remote monitor 112 generates a CDR associated with IAM message 1
  • remote monitor 114 generates a CDR associated with IAM message 2
  • remote monitor 116 generates a CDR associated with IAM message 3.
  • a call detail record (CDR) selection/consolidation function analyzes a plurality of CDRs, including CDRs associated with multi-leg calls, and, for each multi-leg call, selects a representative CDR for the call.
  • the term "leg” refers to a bearer channel connection between two switching offices for a call.
  • the CDR may be provided to network services applications including billing applications, billing verification applications, usage measurements applications, fraud detection applications, or presence service applications, where these applications require or expect a single CDR per call.
  • a group of CDRs associated with a multi-leg call is identified and a single member of the group is selected.
  • a single-CDR selection algorithm may be executed for a database of CDRs that include multiple CDRs for multi-leg calls and single CDRs for single-leg calls.
  • the single CDR selection algorithm may select a single, representative CDR for each multi-leg call and eliminate or ignore the remaining CDRs for the multi-leg calls.
  • the result of applying the single-CDR selection algorithm to a database of uncorrelated CDRs is a database with one CDR per call. Such a database may be useful A- to downstream applications, such as billing applications, that require a single CDR per call.
  • a CDR selection/consolidation function may identify a plurality of CDRs associated with a multi-leg call and produce a single consolidated or "blended" CDR that is representative of the call.
  • the consolidated CDR may contain information from some or all of the CDRs.
  • a consolidated CDR may contain some or all of the information contained in one of the CDRs, as well as origination point code (OPC), destination point code (DPC), circuit identification code (CIC), generic address parameter (GAP), and jurisdiction information parameter (JIP) information associated with some or all of the remaining multiple CDRs.
  • OPC origination point code
  • DPC destination point code
  • CIC circuit identification code
  • GAP generic address parameter
  • JIP jurisdiction information parameter
  • multiple CDRs associated with the same call may be tagged or linked with a correlation parameter to indicate that they belong to the same call. For example, a hexadecimal value or ASCII text value may be inserted in each of the related CDR records to indicate their correlation to the same multi-leg call.
  • the tagged or linked CDRs may be consolidated into a single "super" CDR record, which is then communicated to those applications that can receive and process such a consolidated multi-leg CDR record.
  • each tagged CDR may be communicated to those applications that can receive and process tagged or linked multi-leg CDR sequences.
  • the subject matter described herein may be implemented using a computer program product comprising computer executable instructions embodied in a computer readable medium.
  • Exemplary computer readable media suitable for implementing the subject matter described herein include disk memory devices, chip memory devices, application specific integrated circuits, programmable logic devices and downloadable electrical signals.
  • a computer program product that implements the subject matter described herein may be located on a single physical device or may be distributed across a plurality of physical devices or computing platforms.
  • FIG. 1 is a network diagram illustrating a conventional network monitoring system that generates and reports multiple call detail records (CDRs) associated with a multi-leg call
  • Figure 2 is a flow chart illustrating an exemplary single-CDR selection algorithm according to an embodiment of the subject matter described herein;
  • Figure 3 is a network diagram illustrating an exemplary single-CDR selection scenario associated with a multi-leg, intra-network call according to an embodiment of the subject matter described herein;
  • Figure 4 is a network diagram illustrating an exemplary single-CDR selection scenario associated with an inbound multi-leg, inter-network call according to an embodiment of the subject matter described herein;
  • Figure 5 is a network diagram illustrating an exemplary single-CDR selection scenario associated with an outbound multi-leg, inter-network call
  • Figure 6 is a flow chart illustrating an exemplary consolidated CDR generation algorithm according to an embodiment of the subject matter described herein;
  • Figure 7 is a network diagram illustrating an exemplary blended or consolidated CDR generation scenario associated with a multi-leg call according to an embodiment of the subject matter described herein;
  • Figure 8 is a network diagram illustrating an exemplary blended or consolidated CDR generation scenario associated with a multi-leg call that involves number portability translation processing according to an embodiment of the subject matter described herein;
  • Figure 9 is a network diagram illustrating an exemplary single-CDR generation scenario associated with a multi-leg call that involves number portability translation processing according to an embodiment of the subject matter described herein;
  • Figure 10 is a network diagram illustrating an exemplary system architecture for a monitoring system that includes CDR selection and consolidation functionality according to an embodiment of the subject matter described herein;
  • Figure 11 is a network diagram illustrating a probeless network monitoring system architecture that includes CDR selection and consolidation functionality according to an embodiment of the subject matter described herein.
  • the subject matter described herein includes methods, systems, and computer program products for selecting a single, representative CDR from a plurality of CDRs to a network services application (e.g., billing application, billing verification application, fraud application, presence service application, etc.) that requires a single CDR per call.
  • a network services application e.g., billing application, billing verification application, fraud application, presence service application, etc.
  • a single-CDR selection or generation algorithm associates an office type attribute each signaling system 7 (SS7) point code in a monitored network.
  • SS7 signaling system 7
  • Exemplary office type attribute values may include End Office (EO) and Tandem Office (TO), as illustrated in Table
  • Table 1 Exemplary Office Type and Carrier ID Mapping
  • switching offices are assigned type attributes that correspond to their functions.
  • office type attributes may be assigned or applied to both circuit-switched offices (e.g., Class 5 end offices, Class 4 tandem offices, Class 4/5 offices, etc.) and packet-based nodes (e.g., media gateway, media gateway controller, softswitches, session initiation protocol servers, IP multimedia subsystem nodes, radio access network nodes, VoIP servers, etc.).
  • a carrier identifier may also be associated with each switching office point code.
  • carrier identification information may be used (e.g., incorporated within a CDR) in the event that signaling messages received from a foreign network (e.g., interconnect carrier network, other service provider network, etc.) do not include carrier identification information, such as SS7 ISDN user part (ISUP) transit network selection (TNS) or carrier identification parameter (CIP) information.
  • ISUP ISDN user part
  • TMS transit network selection
  • CIP carrier identification parameter
  • the monitored network includes a combined local/tandem office (e.g., Class 4/5 office)
  • the NPA-NXX identifiers associated with those subscribers that are served by the combined local/tandem office are included in a Tandem-NPA-NXX list.
  • An exemplary Tandem-NPA-NXX list is illustrated below in Table 2.
  • FIG. 2 is a flow chart associated with an exemplary single-CDR selection method.
  • the single-CDR selection method may be used to select a single CDR for a multi-CDR, multi-leg call from a database or buffer that contains CDR records collected from a number of sites in a communications network.
  • the CDR records can be correlated (i.e., CDRs associated with the same call are grouped together) or uncorrelated.
  • Communication networks from which the CDRs are collected may include wireline and mobile networks, which are either circuit-switched or packet-based, while CDR generation and collection may be accomplished via various probe- based or integrated probeless network monitoring system architectures, as will be described in detail below.
  • a CDR entry is obtained from a CDR database or buffer that contains correlated or uncorrelated CDR records.
  • An OPC parameter contained in the CDR is examined to obtain an origination point code value.
  • a lookup is performed in a data structure similar to that presented above in Table 1 , in order to determine the office type attribute associated with the OPC value (A2). If carrier identification information is missing from the CDR, then carrier ID information obtained from the lookup may be inserted into the CDR.
  • the CDR is selected as a representative CDR, as indicated in step A7.
  • a copy of the CDR may be generated and communicated to a network services application.
  • a check is made to determine if the OPC is associated with a combined Class 4/5 switching office, as indicated in step A3. Information, such as that illustrated above in Table 2, may be used in making the Class 4/5 switching office determination. If it is determined that the OPC is not associated with a combined Class 4/5 office, then the CDR is ignored or excluded from further CDR selection processing, as indicated in step A6.
  • a called party number (CdPN) value is extracted from the CDR and used, along with the OPC value, to search an Tandem-NPA-NXX listing, such as that presented in Table 2 (A4). If a matching entry is located in the Tandem-NPA-NXX listing, then the CDR is selected as a representative CDR, as indicated in step A7. A copy of the CDR may be generated and communicated to a network services application.
  • CdPN called party number
  • a calling party number (CgPN) value is extracted from the CDR and used, along with the OPC value, to search the Tandem-NPA-NXX listing, as indicated in step A5. If a matching entry is located in the Tandem-NPA-NXX listing, then the CDR is selected as a representative CDR, as indicated in step A7. A copy of the CDR may be generated and communicated to a network services application. If a matching entry is not located in the Tandem-NPA-NXX listing, then the CDR is ignored, as indicated in step A6.
  • CgPN calling party number
  • the single-CDR selection method described above may be repeated for each CDR in the CDR database or buffer, resulting in the selection of a single CDR associated with each call detected/recorded by a monitoring system. Copies of these selected, representative CDRs may be provided to network service applications that require a single CDR for each monitored call.
  • One advantage of the single CDR selection method illustrated in Figure 2 is that it does not require that the CDRs being processed be correlated. Correlating CDRs can be processor intensive.
  • the CDR selection steps illustrated in Figure 2 can be executed on a database of uncorrelated CDRs. For calls that include multiple legs and consequently multiple CDRs, the CDR selection algorithm will select a single CDR. For single leg, single CDR calls, the single CDR will be selected.
  • the result of executing the single CDR selection algorithm in Figure 2 on a database that includes CDRs for multiple calls is a set of CDRs where one CDR is present for each call. Such a set or group of CDRs may useful for billing purposes, for example to reduce the likelihood of duplicate billing caused by multiple CDRs being present for the same call.
  • the algorithm illustrated in Figure 2 is capable of processing CDRs in a database of uncorrelated CDRs
  • the subject matter described herein is not limited to using the single CDR selection algorithm to process uncorrelated CDRs.
  • the algorithm in Figure 2 may be used on a database of correlated CDRs or a database that includes both correlated and uncorrelated CDRs without departing from the scope of the subject matter described herein.
  • FIG. 3 illustrates communications network 100 that includes a monitoring system 200 and associated CDR selection and consolidation function 202.
  • network 100 includes a first end office (EO) 102 with a point code address 1-1-1 , a first tandem office 104 with a point code address 2-2-2, a second tandem office 106 with a point code address 3-3-3, and a second EO 108 with a point code address 4-4-4.
  • EO 102 serves calling party subscriber B
  • EO 108 serves called party subscriber A.
  • Monitoring system 200 may receive CDR information from several signaling link monitoring probes, 112, 114, and 116.
  • monitoring probe 112 may monitor and copy SS7 MSU traffic between EO 102 and tandem 104 and generate associated CDR information.
  • probe 114 may generate CDR information associated with monitored SS7 MSU traffic between tandem 104 and tandem 106
  • monitoring probe 116 may generate CDR information associated with monitored SS7 MSU traffic between tandem 106 and EO 108.
  • Monitoring system 200 receives and stores the CDR information from each remote monitoring probe.
  • Selection and consolidation function 202 processes the stored CDR information using a CDR selection algorithm, such as the single- CDR selection algorithm described above with respect to Figure 2.
  • a set of CDRs with a single CDR being present for each call may then be provided to other applications that require one CDR per call (e.g., billing applications, fraud detection applications, presence service applications, etc.).
  • each monitoring probe may generate a CDR record based on the observed IAM message and communicate the CDR information to monitoring system 200 via a communication link, such as an IP wide area network (WAN) connection.
  • WAN IP wide area network
  • probe 112 may generate CDR1
  • probe 114 may generate CDR2
  • probe 116 may generate CDR3.
  • Monitoring system 200 may receive and store CDR1 , CDR2, and CDR3.
  • Selection consolidation function 202 may process some or all of the CDR records stored at monitoring system 200 using the single-CDR correlation method described above.
  • CDR3 is not selected as the representative CDR for the call (step A6).
  • tandem office 104 is not a combined local/tandem office
  • CDR2 is not selected as the representative CDR for the call (step A6).
  • Selection/consolidation function 202 next selects CDR1 from the monitoring system CDR storage buffer (step A1), and repeats the remaining processing steps illustrated in Figure 2.
  • CDR1 is the chosen representative CDR for the call between calling party B and called party A, a copy of CDR1 is generated as CDR 122, and this copy is provided to network service applications that require a single CDR per call, as described above.
  • the subject matter described herein is not limited to any specific order for selecting and processing the three CDRs described above. That is, the three CDRs could have been selected from monitoring system storage in any order and processed with the same outcome (i.e., the selection of CDR1 as the representative CDR for the call).
  • the example described with respect to Figure 3 included only CDRs for a single call, it is understood that the processing steps of Figure 2 can be applied to a database or databases that store CDRs associated with a plurality of different calls.
  • Figure 3 The scenario described above and illustrated in Figure 3 is exemplary of single-CDR selection for an intra-network call. That is, Figure 2 illustrates a call between two subscribers that reside within the same network or that are served by the same service provider.
  • Figure 4 illustrates a scenario that is exemplary of single-CDR correlation and consolidation processing associated with an inter-network call. That is, Figure 4 illustrates a call between two subscribers that reside in different networks or that are served by the different service providers. More particularly, in Figure 4, a call is received by a subscriber in a first monitored network, and the call is originated from a second, different network.
  • Network environment 140 depicted in Figure 4 includes network 100, which is operated by service provider A.
  • network 100 includes a monitoring system 200 and associated CDR selection/consolidation function 202.
  • network 100 further includes an end office (EO) 102 with a point code of 1-1-1 and a tandem office 104 with a point code of 2-2- 2.
  • Monitoring system 200 may receive CDR information from signaling link monitoring probes 112 and 152. More particularly, monitoring probe 112 may monitor SS7 MSU traffic between EO 102 and tandem 104 and generate associated CDR information. Likewise, probe 152 may generate CDR information associated with monitored SS7 MSU traffic between tandem 104 and an interconnect tandem 150 that is associated with an interconnect carrier network 144.
  • Interconnect tandem 150 is further connected to one or more nodes in another public switched telephone network (PSTN) 160, which in this example is where the calling party resides.
  • Interconnect tandem office 150 is assigned a point code of 5-5-5.
  • a call is placed by a calling party X from a network that is not operated by service provider A.
  • the call from calling party X is placed to called party B, where called party B is served by service provider A. Consequently, a sequence of SS7 ISUP IAM messages is generated and communicated between the switching offices that comprise networks 100, 144 and 160. At least some of these IAM messages are detected by monitoring probes 112 and 152 in a manner similar to that described in the previous examples.
  • Each monitoring probe may generate a CDR record based on the observed IAM message and communicate the CDR information to monitoring system 200 via a communication link, such as an IP wide area network (WAN) connection. Accordingly, probe 152 may generate CDR1 and probe 112 may generate CDR2.
  • Monitoring system 200 may receive and store CDR1 and CDR2, while selection/consolidation function 202 may process some or all of the CDR records stored at monitoring system 200 using the single-CDR selection method described above.
  • CDR1 is selected as the representative CDR for the call (step A7).
  • EO office type attribute
  • CDR1 is selected as the representative CDR for the call (step A7).
  • CDR 154 is generated as CDR 154, and this copy is provided to network service applications that require a single CDR per call, as described above.
  • the subject matter described herein allows the interconnect carrier to be identified, via the carrier mapping information, such as that shown in Table 1 , in the event that a CDR associated with the call does not contain sufficient interconnect carrier identification information.
  • the single-CDR selection method achieves this objective by selecting the CDR associated with the interconnect carrier tandem as the representative CDR for the call, regardless of the total number of CDRs generated for the call.
  • FIG. 5 The scenario illustrated in Figure 5 is exemplary of single-CDR selection processing associated with an inter-network outbound call. That is, in Figure 5, a call is originated by a subscriber in a first monitored network, where the call is terminated in a second, non-monitored network. Network environment 140 described above is used once again to illustrate this scenario. In this case, subscriber B originates a call to subscriber X, thereby making subscriber B the calling party.
  • probe 112 may generate CDR1 and probe 152 may generate CDR2.
  • Monitoring system 200 may receive and store CDR1 and CDR2, while selection/consolidation function 202 may process some or all of the CDR records stored at monitoring system 200 using the single-CDR correlation method described above.
  • CDR1 is selected as the representative CDR for the call (step A7).
  • EO office type attribute
  • CDR1 is selected as the representative CDR for the call (step A7).
  • a copy of CDR1 is generated as CDR 156, and this copy is provided to network service applications that require a single CDR per call, as described above.
  • the subject matter described herein is adapted to allow the interconnect carrier to be identified.
  • the single-CDR selection algorithm achieves this objective by selecting the CDR associated with the originating end office as the representative CDR for the call, regardless of the total number of CDRs generated for the call. Since this CDR is typically generated by the same network operator that is monitoring the network, this CDR will generally contain information (e.g., a TNS parameter, a CIP parameter, etc.) which identifies the interconnect carrier that has been chosen to transport the call.
  • the subject matter described herein includes a method for processing a plurality of CDRs associated with a multi- leg call and producing a consolidated or "blended" CDR that is representative of the call and includes information obtained from some or all of the multiple CDRs.
  • Correlated CDR records associated with a multi-leg call may be tagged or linked to the same call, thereby effectively providing a link-consolidated CDR.
  • the consolidated CDR is made available to network applications including billing, billing verification, and fraud detection applications that require a consolidated CDR per call.
  • a CDR consolidation algorithm associates an office type attribute with each SS7 point code in a monitored network.
  • Exemplary office type attribute values may include End Office (EO) and Tandem Office (TO), as illustrated in Table 1.
  • EO End Office
  • TO Tandem Office
  • the monitored network includes a combined local/tandem office (e.g., Class 4/5 office)
  • the NPA- NXX identifiers associated with those subscribers that are served by the combined local/tandem office are included in a Tandem-N PA-NXX list, such as the list illustrated above in Table 2.
  • FIG. 6 is a flow chart associated with an exemplary CDR consolidation algorithm.
  • the CDR consolidation algorithm may be used to perform correlation processing operations on a database or buffer that contains CDR records collected from a number of sites in a communications network.
  • Communication networks may include wireline and mobile networks, which are either circuit-switched or packet-based, while CDR generation and collection may be accomplished via various probe-based or integrated probeless network monitoring system architectures, which will be described in detail below.
  • step B1 a CDR entry is obtained from a CDR database or buffer that contains many uncorrelated CDR records.
  • An OPC parameter contained in the CDR is examined to obtain an origination point code value.
  • a lookup is performed in a data structure similar to that presented above in Table 1 in order to determine the office type attribute associated with the OPC value (B2). If carrier identification information is missing from the CDR, then carrier ID information obtained from the lookup may be inserted into the CDR.
  • step B5 If it is determined that the office type of the OPC value is not equal to tandem office (TO), then a subsequent check is performed to determine whether the office type associated with the DPC value is equal to TO, as indicated in step B5. If it is determined that the office type of the DPC value is not equal to TO, then the call associated with the CDR is not a multi-leg call, and no further correlation processing is required (B8). If it is determined that the office type of the DPC value is equal to TO, then a check is performed to determine if the DPC is associated with a combined Class 4/5 switching office, as indicated in step B6.
  • TO tandem office
  • CdPN party number
  • CgPN calling party number
  • a ⁇ v0 values are extracted from the CDR (B9).
  • the CDR database is then searched for all records with matching CgPN and CdPN values, as indicated in step B10.
  • the search may be limited to those CDR records in the database that include a IAM timestamp value that is within a predetermined time window relative to ti AM -
  • An exemplary time window is ⁇ 400 milliseconds from t
  • Those CDRs that are located in the B10 search may then be consolidated into a single "blended" or "super" CDR, or the individual matching CDR records may be tagged or linked with a correlation identifier value (B11).
  • the correlation identifier value may be included in an existing CDR record data field (e.g., post- or pre-pended to data in an existing CDR data field).
  • a new field may be added to each of the matching CDR records, and the correlation identifier value may be stored in this new field.
  • the particular CDR consolidation format may be customized by a network operator to satisfy the data input requirements of various network service applications. If, in step B6, it is determined that the DPC is associated with a combined Class 4/5 switching office, then called party number (CdPN) and calling party number (CgPN) values are extracted from the CDR and used, along with the OPC value, to search an Tandem-NPA-NXX listing, such as that presented in Table 2 (B7).
  • CdPN called party number
  • CgPN calling party number
  • step B2 If it is determined that the office type of the OPC value is equal to tandem office (TO), then a subsequent check is performed to determine if the OPC is associated with a combined Class 4/5 switching office, as indicated in step B3. Information such as that presented above in Table 2 may be used in making the Class 4/5 switching office determination. If it is determined that the OPC is associated with a combined Class 4/5 office, then called party number (CdPN) and calling party number (CgPN) values are extracted from the CDR and used, along with the OPC value, to search an Tandem-NPA-NXX listing, such as that presented in Table 2 (B4).
  • CdPN called party number
  • CgPN calling party number
  • step B5 If a matching entry is located in the Tandem-NPA-NXX listing for either the CdPN or CgPN, then processing branches to step B5 (and subsequent steps), as described above. If a matching entry is not located in the Tandem-NPA-NXX listing, then steps B9 - B11 are repeated, as described above. Returning to step B3, if it is determined that the OPC is not associated with a combined Class 4/5 switching office, then steps B9 - B11 are repeated.
  • the consolidated CDR generation method described above may be repeated for each uncorrelated CDR in the CDR database or buffer, thereby resulting in the generation of a single consolidated CDR associated with each call detected/recorded by a monitoring system or a chain of link- consolidated CDR records associated with each call detected/recorded by a monitoring system. Copies of these consolidated CDRs may be provided to network service applications that require a single consolidated CDR record or chain of link-consolidated CDR records for each monitored multi-leg call.
  • Figure 7 is communications network 100 that includes a monitoring system 200 and associated CDR correlation and consolidation function 202.
  • network 100 includes a first end office (EO) 102 with a point code 1-1-1 , a first tandem office 104 with a point code 2-2-2, a second tandem office 106 with a point code 3-3-3, and a second EO 108 with a point code 4-4-4.
  • EO 102 serves a calling party subscriber B, while EO 108 serves called party subscriber A.
  • Monitoring system 200 may receive CDR information from several signaling link monitoring probes, 112, 114, and 116. More particularly, monitoring probe 112 may monitor SS7 MSU traffic between EO 102 and tandem 104 and generate associated CDR information.
  • probe 114 may generate CDR information associated with monitored SS7 MSU traffic between tandem 104 and tandem 106
  • monitoring probe 116 may generate CDR information associated with monitored SS7 MSU traffic between tandem 106 and EO 108.
  • Monitoring system 200 receives and stores the CDR information from each remote monitoring probe.
  • Selection/consolidation function 202 processes the stored CDR information using a CDR consolidation algorithm, such as the CDR consolidation algorithm illustrated in Figure 6. Consolidated CDR information is then provided to other applications that require a single consolidated CDR per multi-leg call, or a linked chain of CDR records per multi-leg call.
  • each monitoring probe may generate a CDR record based on the observed IAM message and communicate the CDR information to monitoring system 200 via a communication link, such as an IP wide area network (WAN) connection.
  • WAN IP wide area network
  • probe 112 may generate CDR1
  • probe 114 may generate CDR2
  • probe 116 may generate CDR3.
  • Monitoring system 200 may receive and store CDR1 , CDR2, and CDR3.
  • Selection/consolidation function 202 may process some or all of the CDR records stored at monitoring system 200 using the consolidated CDR generation method illustrated in Figure 6.
  • the CDR database is searched for all CDRs that contain matching CdPN and CgPN values within ⁇ 400 milliseconds of the extracted timestamp value.
  • CDR1 and CDR2 would be located since they would be within the 800-millisecond search window, and since they have matching CdPN and CgPN values.
  • a super CDR may be created which contains some or all of the information carried in the three individual CDR records.
  • An example consolidated CDR that combines CDR1 , CDR2 and CDR3 from the preceding example is presented below in Table 3. It will be appreciated that the parameters presented in Table 3 are merely illustrative of the type of signaling message/CDR information that may be included in a consolidated CDR record.
  • the three CDR records may be modified to include a tag identifier, which effectively links or associates the CDR records with the same multi-leg call.
  • selection/consolidation function 202 may generate a linking message, which identifies the three
  • the linking message, along with copies of the three CDR records, may be provided to network service applications.
  • each switching office is assigned at least one location routing number (LRN).
  • the originating switch determines whether the called party NPA-NXX is associated with an exchange that is known to contain ported subscribers.
  • the originating switch formulates a number portability query that is sent to a number portability database. If the called party NPA-NXX has been ported, the number portability database returns the LRN value associated with the terminating switching office that is currently serving the ported subscriber. The originating switch then generates an ISUP IAM message. The originally dialed called party telephone number is placed in a generic address parameter (GAP) and the terminating switch LRN value is placed in the CdPN field of the IAM message. A translated called number parameter in a forward call indicator (FCI) field of the IAM message is set, so as to indicate to other switches/nodes in the network that NP translation processing has been performed.
  • GAP generic address parameter
  • FCI forward call indicator
  • the originating switching office may not perform or initiate an NP translation, and instead, an intermediate switching office (e.g., tandem office) may perform the NP translation.
  • an intermediate switching office e.g., tandem office
  • all ISUP IAM messages associated with a multi-leg call may not contain the same value in the CdPN field of the message.
  • the original CdPN value is placed in the GAP parameter, and an LRN associated with the terminating switching office is placed in the CdPN field following NP translation.
  • network 100 includes several switching offices, including tandem office 106.
  • tandem office 106 performs number portability translation processing during a multi-leg call setup between a calling party subscriber A and a called party subscriber C.
  • Called party subscriber C has been ported to switching end office 108 from another office.
  • switching office 108 has been assigned a location routing number (LRN) value of 9194600000.
  • LRN location routing number
  • IAM messages IAM 1 and IAM 2 are generated and communicated through the network as described above.
  • tandem office 106 queries an NP service control point (SCP) or database 204, and, in response, receives the LRN value 9194600000, which is the routing number associated with "ported-to" or terminating end office 108.
  • SCP NP service control point
  • tandem office uses the NP translation information to generate IAM 3, which includes a CdPN value of 9194600000, a GAP value with the originally dialed called party C telephone number, and an FCl translated called number indicator value of 1 (which indicates that NP translation has been performed).
  • monitoring system 200 may detect the three IAM messages via monitoring probes 112, 114 and 116.
  • CDR records CDR1 , CDR2 and CDR3 are subsequently generated by monitoring system 200, based on the detected IAM messages.
  • CDR3 includes a CdPN value of 9194600000, a GAP value with the originally dialed called party C telephone number, and an FCI translated called number indicator value of 1.
  • the other CDR records associated with the multi-leg call, CDR1 and CDR2 include a CdPN value that is equal to the originally dialed called party C telephone number. No GAP parameters and no FCI translated called number indicator (or an FCI translated called number value of 0) are contained in CDR1 and CDR2.
  • Steps B4 and B7 of the flow chart illustrated in Figure 6 may be modified to accommodate NP translation.
  • all LRN values associated with a combined Class 4/5 switching office are included in that office's Tandem-NPA-NXX listing.
  • all LRN values associated with a combined Class 4/5 switching office may be treated the same as if they were NPA-NXX identifiers associated subscribers serviced by that office.
  • a check may be performed to determine if the CDR record being processed includes an FCI translated called number indicator value of 1 (which indicates that NP translation has been performed) or if a GAP parameter is present in the CDR. If the CDR record does not include an FCI translated called number indicator value of 1 , or there is not a GAP parameter present in the CDR, then the Tandem-NPA-NXX listing may be searched using the CdPN value. If, however, the CDR record does include an FCI translated called number indicator value of 1 or a GAP parameter is determined to be present in the CDR, then the Tandem-NPA-NXX listing may be searched using the GAP value.
  • steps B9 and B10 additional logic or processing steps may be added to check the CDR record that is being processed for the presence of NP translation information. For example, a check may be performed to determine if the CDR record being processed includes an FCI translated called number indicator value of 1 (which indicates that NP translation has been performed) or if a GAP parameter is present in the CDR.
  • the CDR database may be searched for all CDR records within ⁇ 500 milliseconds of the W/i that include matching CgPN and/or CdPN values, where a matching CdPN value may include a searched CDR record GAP parameter value that matches the CdPN search value.
  • the CDR database may be searched for all CDR records within ⁇ 500 milliseconds of the ti AM that include matching CgPN and/or GAP values, where a matching GAP value may include a searched CDR record CdPN parameter value that matches the GAP search value.
  • a consolidated CDR produced by the present invention may contain GAP and jurisdiction information parameter (JIP) that otherwise would not be present in each individual CDR associated with a multi-leg call.
  • JIP jurisdiction information parameter
  • a number portability enhanced single-CDR selection algorithm includes selecting one of many CDR records associated with a multi-leg call in a number portability environment.
  • a single CDR must be selected to be representative of a multi-leg call, it may be advantageous to select a CDR that contains number portability translation information relevant to the multi-leg call. For example, as illustrated in Figure 9, when NP translation processing has been preformed during the course of a multi-leg call setup, it may be desirable to select the one-of-many CDR records associated with the call that includes GAP and JIP information.
  • correlation processing similar to that described above with respect to the NP-enhanced consolidated CDR generation may be performed to locate all individual CDR records associated with a multi-leg call.
  • a single CDR may be selected from the correlated group of CDR records associated with the multi-leg call, where the single CDR record contains GAP and/or JIP parameter information.
  • tandem office 104 performs NP translation and inserts LRN and GAP information in an IAM message that is sent between tandem 104 and terminating end office 102.
  • Monitoring system 200 generates CDR1 and CDR2, as illustrated in Figure 9, where CDR2 includes LRN and GAP information associated with the NP translation.
  • selection/consolidation function 202 may examine the two CDR records that were identified via the NP enhanced correlation algorithm described above and select CDR2 as the representative CDR for the multi- leg call, since CDR2 contains LRN, GAP, and JIP information.
  • a copy of CDR2 is generated as CDR 158, and this copy is provided to network service applications that require a single CDR per call, as described above.
  • FIGs 10 and 11 illustrate exemplary monitoring system architectures that are based on the SentinelTM platform available from Tekelec of Calabasas, California.
  • Figure 10 illustrates a monitoring system architecture that collects signaling information from either discrete communication link probes or from an integrated signal transfer point/signaling gateway message copying interface.
  • a pair of site collectors 400 collects and temporarily buffers monitored signaling messages.
  • Site collectors 400 may be connected to external signaling link probes that passively copy signaling messages from SS7 signaling links or to network monitoring processors (NMPs) that receive and store signaling messages copied from signaling links within a routing node, such as an STP.
  • NMPs network monitoring processors
  • Each site collector 400 may be a general purpose computing platform including a microprocessor and one or more applications executing thereon.
  • each site collector includes a filter application 402, a data capture application 404, and an MSU database 406.
  • Filter application 402 filters received signaling messages based on filter criteria received from a SentinelTM server 408.
  • the filter criteria are preferably structured that the data captured by site collectors 400 is the superset of data required by billing application 410, fraud application 412, usage measurements application 414, and other network service applications that may be resident on data gateway server 416, or located elsewhere in the network.
  • Data capture applications 404 capture raw MSU data copied by the link monitors or NMPs.
  • MSU databases 406 store MSUs captured by data capture application 404 and filtered by filter application 402.
  • Data gateway server 416 receives MSU data from the site collectors, generates CDRs based on the MSU data, and stores or buffers the CDRs.
  • DGS 416 is adapted to produce and store a separate CDR for each monitored leg of the call.
  • multiple, uncorrelated CDR records associated with the same call may be generated and stored by DGS 416.
  • a correlation and consolidation function 202 associated with DGS 416 processes the stored CDRs using either single-CDR selection or consolidated CDR generation methods described above. The selected or generated CDR may then provided to network service applications that require a single CDR for a multi-leg call.
  • FIG 11 is a block diagram illustrating a network monitoring system in which monitoring system 200 may be incorporated in more detail.
  • site collector 400 is connected to network monitoring processors 500 that receive signaling messages copied from a routing node 502.
  • routing node 502 is a signaling transfer point with a plurality of link interface modules 504, a data communications module 506, and a network monitoring transport card 508.
  • Each module may include a printed circuit board with an application processor and a communications processor mounted thereon.
  • Modules 504, 506, and 508 are connected to each other via a counter rotating dual ring bus 510.
  • Link interface modules 504 send and receive SS7 signaling messages over SS7 signaling links and perform MTP3 routing functions.
  • Link interface modules 504 also include MSU copy functions 512 for copying SS7 signaling messages received over SS7 signaling links for network monitoring purposes.
  • DCM 506 sends and receives signaling messages over IP signaling links.
  • DCM 506 may also include a message copy function 514 copying signaling messages received over IP signaling links.
  • message copy function 514 may copy SS7 signaling messages sent over IP signaling links or IP telephony signaling messages sent over IP signaling links for network monitoring purposes.
  • Network monitoring transport card 508 communicates messages copied from signaling links to network monitoring processors 500.
  • the message copy function broadcasts a service request to network monitoring processors 500 via network monitoring transport card 508.
  • the network monitoring processor provisioned to service the particular copy function establishes a TCP/IP connection with the message copy function via network monitoring transport card 508.
  • the message copy function then sends copied MSUs to the network monitoring processor over the TCP/IP connection.
  • Network monitoring processors 500 store signaling message copies and forward the copies to site collector 400.
  • Site collector 400 filters the messages and transmits the messages to data gateway server 416 as described above.
  • Data gateway server 416 receives MSU data from the site collectors, generates CDRs based on the MSU data, and stores or buffers the CDRs.
  • DGS 416 may produce and store a separate CDR for each monitored leg of the call.
  • multiple, uncorrelated CDR records associated with the same call may be generated and stored by DGS 416.
  • correlation and consolidation function 202 associated with DGS 416 may process the stored CDRs using either single- CDR selection method or consolidated CDR generation method. The selected or generated CDR may then be provided to network service applications that require a single CDR for a multi-leg call.
  • the subject matter described herein is not limited to processing CDRs located in a single database.
  • the subject matter described herein may select a single CDR or generate a consolidated CDR from a plurality of different databases, or a single distributed database with data located in different geographic locations.
  • some network monitoring systems may generate and store CDRs at the link probes.
  • single CDR selection or consolidated CDR generation may be performed by analyzing the data located at each of the link probes.

Abstract

A communication network (100) includes a monitoring system (200) and associated CDR selection and consolidation function (202). Network (100) includes a first end office (EO) (102) with a point code address 1-1-1, a first tandem office (104) with a point code address 2-2-2, a second tandem office (106) with a point code address 3-3-3, a second EO (108) with a code point address 4-4-4. EO (102) serves calling party subscriber B, and EO (108) serves called party subscriber A. Monitoring system (200) may receive CDR information from several signaling link monitoring probes (112-116). Each monitoring probes (112-116) monitors and copy SS7 MSU traffic between each leg and generate associated CDR information. Monitoring system (200) receives and stores the CDR information from each remote monitoring probe. Selection and consolidation function (202) processes the stored CDR information using single-CDR selection algorithm to generate a single CDR for the call.

Description

DESCRIPTION
METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS FOR SELECTING OR GENERATING A SINGLE CALL DETAIL RECORD (CDR) FROM A PLURALITY OF CDRs ASSOCIATED WITH A CALL HAVING A PLURALITY OF LEGS
RELATED APPLICATIONS
This application claims the benefit of U.S. provisional patent application no. 60/581 ,218, filed June 18, 2004, the disclosure of which is incorporated herein by reference in its entirety.
TECHNICAL FIELD
The subject matter described herein includes methods, systems, and computer program products for generating and correlating call detail record (CDRs) associated with a call in a communications network. More particularly, the subject matter described herein includes methods, systems, and computer program products for methods, systems, and computer program products for selecting or generating a single call detail record
(CDR) from a plurality of CDRs associated with a call having a plurality of legs.
RELATED ART
Monitoring systems have been deployed in telecommunications networks to produce call detail records (CDRs) which may be used by applications such as billing, billing verification, fraud detection, etc. In a signaling system 7 (SS7) environment, a CDR is typically generated based on one or more SS7 message signaling units (MSUs). An MSU, such as an ISDN user part (ISUP) initial address message (IAM), contains message transfer part (MTP) information. MTP information may include an origination point code (OPC) value, a destination point code (DPC) value, and a trunk circuit identification code (CIC) value. When monitoring a network environment involving multiple switches, including tandem switches, a monitoring system will produce CDRs for each unique OPC-DPC-CIC encountered (e.g., via ISUP IAM messages) in the underlying network environment. As such, a CDR will be produced for each "leg" of a multi-leg call in the monitored network environment, as indicated in Figure 1. Figure 1 illustrates an exemplary SS7 network environment 100, which includes a first end office (EO) 102, a first tandem office 104, a second tandem office 106, and a second EO 108. First EO 102 serves a calling party subscriber B. EO 108 serves a called party subscriber A. Network environment 100 includes a monitoring system 110, which is receives CDR information from several signaling link monitoring probes, 112, 114, and 116. More particularly, monitoring probe 112 monitors SS7 MSU traffic between EO 102 and tandem 104 and generates associated CDR information. Likewise, probe 114 generates CDR information associated with monitored SS7 MSU traffic between tandem 104 and tandem 106, and monitoring probe 116 generates CDR information associated with monitored SS7 MSU traffic between tandem 106 and EO 108. Monitoring system 110 receives and stores the CDR information from each remote monitoring probe and provides the CDR information to other applications that require such CDR information (e.g., billing applications, fraud detection applications, etc.). In the example illustrated in Figure 1 , when calling party B dials the telephone number associated with called party A, originating EO 102 signals tandem office 104 with ISUP IAM message 1. Tandem office 104 in turn signals tandem office 106 with IAM message 2, and tandem office 106 signals the terminating EO 108 with IAM message 3. Remote monitor 112 generates a CDR associated with IAM message 1 , remote monitor 114 generates a CDR associated with IAM message 2, and remote monitor 116 generates a CDR associated with IAM message 3. These three CDRs are communicated to central monitoring system 110, which in turn provides the three CDRs associated with the call from party B to party A to other applications that require such CDR information.
While the conveyance of multiple CDRs associated with the same call is required for some applications (e.g., QoS applications that report trunk group activity and need to receive each CDR associated with a multi-leg call setup/teardown), the presence of multiple CDRs for the same call presents a problem for those applications that require one and only one CDR per call. For example, in the case of billing and billing-related applications that require only one CDR per call, the presentation of multiple CDRs associated with a multi-leg call to these applications often results in over-reported network usage and/or erroneous billing. Accordingly, there exists a long-felt need for improved methods, systems, and computer program products for generating CDR information for a multi-leg call.
SUMMARY
According to one aspect of the subject matter described herein, a call detail record (CDR) selection/consolidation function analyzes a plurality of CDRs, including CDRs associated with multi-leg calls, and, for each multi-leg call, selects a representative CDR for the call. As used herein, the term "leg" refers to a bearer channel connection between two switching offices for a call. The CDR may be provided to network services applications including billing applications, billing verification applications, usage measurements applications, fraud detection applications, or presence service applications, where these applications require or expect a single CDR per call. In one implementation, a group of CDRs associated with a multi-leg call is identified and a single member of the group is selected. The single, retained CDR associated with the multi-leg call is then communicated to those applications that require a single CDR for each call. In an alternate implementation, it is not necessary to identify CDRs associated with a multi-leg call. A single-CDR selection algorithm may be executed for a database of CDRs that include multiple CDRs for multi-leg calls and single CDRs for single-leg calls. The single CDR selection algorithm may select a single, representative CDR for each multi-leg call and eliminate or ignore the remaining CDRs for the multi-leg calls. The result of applying the single-CDR selection algorithm to a database of uncorrelated CDRs is a database with one CDR per call. Such a database may be useful A- to downstream applications, such as billing applications, that require a single CDR per call.
According to another aspect of the subject matter described herein, a CDR selection/consolidation function may identify a plurality of CDRs associated with a multi-leg call and produce a single consolidated or "blended" CDR that is representative of the call. The consolidated CDR may contain information from some or all of the CDRs. For example, a consolidated CDR may contain some or all of the information contained in one of the CDRs, as well as origination point code (OPC), destination point code (DPC), circuit identification code (CIC), generic address parameter (GAP), and jurisdiction information parameter (JIP) information associated with some or all of the remaining multiple CDRs. The single, consolidated CDR is then communicated to those applications that require a single CDR for each call. Alternatively, multiple CDRs associated with the same call may be tagged or linked with a correlation parameter to indicate that they belong to the same call. For example, a hexadecimal value or ASCII text value may be inserted in each of the related CDR records to indicate their correlation to the same multi-leg call. The tagged or linked CDRs may be consolidated into a single "super" CDR record, which is then communicated to those applications that can receive and process such a consolidated multi-leg CDR record. Alternatively, each tagged CDR may be communicated to those applications that can receive and process tagged or linked multi-leg CDR sequences. The subject matter described herein may be implemented using a computer program product comprising computer executable instructions embodied in a computer readable medium. Exemplary computer readable media suitable for implementing the subject matter described herein include disk memory devices, chip memory devices, application specific integrated circuits, programmable logic devices and downloadable electrical signals. In addition, a computer program product that implements the subject matter described herein may be located on a single physical device or may be distributed across a plurality of physical devices or computing platforms.
BRIEF DESCRIPTION OF THE DRAWINGS Preferred embodiments of the subject matter will now be described with reference to the accompanying drawings of which:
Figure 1 is a network diagram illustrating a conventional network monitoring system that generates and reports multiple call detail records (CDRs) associated with a multi-leg call; Figure 2 is a flow chart illustrating an exemplary single-CDR selection algorithm according to an embodiment of the subject matter described herein;
Figure 3 is a network diagram illustrating an exemplary single-CDR selection scenario associated with a multi-leg, intra-network call according to an embodiment of the subject matter described herein;
Figure 4 is a network diagram illustrating an exemplary single-CDR selection scenario associated with an inbound multi-leg, inter-network call according to an embodiment of the subject matter described herein;
Figure 5 is a network diagram illustrating an exemplary single-CDR selection scenario associated with an outbound multi-leg, inter-network call;
Figure 6 is a flow chart illustrating an exemplary consolidated CDR generation algorithm according to an embodiment of the subject matter described herein;
Figure 7 is a network diagram illustrating an exemplary blended or consolidated CDR generation scenario associated with a multi-leg call according to an embodiment of the subject matter described herein;
Figure 8 is a network diagram illustrating an exemplary blended or consolidated CDR generation scenario associated with a multi-leg call that involves number portability translation processing according to an embodiment of the subject matter described herein;
Figure 9 is a network diagram illustrating an exemplary single-CDR generation scenario associated with a multi-leg call that involves number portability translation processing according to an embodiment of the subject matter described herein;
Figure 10 is a network diagram illustrating an exemplary system architecture for a monitoring system that includes CDR selection and consolidation functionality according to an embodiment of the subject matter described herein; and
Figure 11 is a network diagram illustrating a probeless network monitoring system architecture that includes CDR selection and consolidation functionality according to an embodiment of the subject matter described herein.
DETAILED DESCRIPTION
According to one aspect, the subject matter described herein includes methods, systems, and computer program products for selecting a single, representative CDR from a plurality of CDRs to a network services application (e.g., billing application, billing verification application, fraud application, presence service application, etc.) that requires a single CDR per call.
In one implementation, a single-CDR selection or generation algorithm associates an office type attribute each signaling system 7 (SS7) point code in a monitored network. Exemplary office type attribute values may include End Office (EO) and Tandem Office (TO), as illustrated in Table
1.
Figure imgf000008_0001
Table 1 : Exemplary Office Type and Carrier ID Mapping In general, switching offices are assigned type attributes that correspond to their functions. For instance, in one implementation of the subject matter described herein, Class 5 offices may be assigned an office type attribute = EO, and Class 4 offices may be assigned an office type = TO. A switching office that provides both Class 5 and Class 4 services is referred to herein as a combined Class 4/5 tandem and may be assigned an office type = TO, as is the case for the sample scenarios presented herein. However, it will be appreciated that an office type = "Combined Office" may be used to achieve the same results. In one embodiment of the subject matter described herein, point codes associated with interconnecting switching offices not belonging to the monitored network (e.g., an interconnecting tandem office owned by an interconnect carrier) may be assigned an office type attribute = EO, even if the interconnecting switching office is actually a tandem office (e.g., a Class 4 office). It will be appreciated that office type attributes according to the subject matter described herein may be assigned or applied to both circuit-switched offices (e.g., Class 5 end offices, Class 4 tandem offices, Class 4/5 offices, etc.) and packet-based nodes (e.g., media gateway, media gateway controller, softswitches, session initiation protocol servers, IP multimedia subsystem nodes, radio access network nodes, VoIP servers, etc.). As indicated in Table 1 , a carrier identifier may also be associated with each switching office point code. Such carrier identification information may be used (e.g., incorporated within a CDR) in the event that signaling messages received from a foreign network (e.g., interconnect carrier network, other service provider network, etc.) do not include carrier identification information, such as SS7 ISDN user part (ISUP) transit network selection (TNS) or carrier identification parameter (CIP) information.
If the monitored network includes a combined local/tandem office (e.g., Class 4/5 office), the NPA-NXX identifiers associated with those subscribers that are served by the combined local/tandem office are included in a Tandem-NPA-NXX list. An exemplary Tandem-NPA-NXX list is illustrated below in Table 2.
Figure imgf000010_0001
Table 2: Exemplary Tandem-NPA-NXX List
Figure 2 is a flow chart associated with an exemplary single-CDR selection method. The single-CDR selection method may be used to select a single CDR for a multi-CDR, multi-leg call from a database or buffer that contains CDR records collected from a number of sites in a communications network. The CDR records can be correlated (i.e., CDRs associated with the same call are grouped together) or uncorrelated. Communication networks from which the CDRs are collected may include wireline and mobile networks, which are either circuit-switched or packet-based, while CDR generation and collection may be accomplished via various probe- based or integrated probeless network monitoring system architectures, as will be described in detail below.
Beginning with step A1, a CDR entry is obtained from a CDR database or buffer that contains correlated or uncorrelated CDR records. An OPC parameter contained in the CDR is examined to obtain an origination point code value. A lookup is performed in a data structure similar to that presented above in Table 1 , in order to determine the office type attribute associated with the OPC value (A2). If carrier identification information is missing from the CDR, then carrier ID information obtained from the lookup may be inserted into the CDR.
If it is determined that the office type of the OPC value is not equal to tandem office (TO), then the CDR is selected as a representative CDR, as indicated in step A7. A copy of the CDR may be generated and communicated to a network services application. If it is determined that the office type of the OPC value is equal to tandem office (TO), then a check is made to determine if the OPC is associated with a combined Class 4/5 switching office, as indicated in step A3. Information, such as that illustrated above in Table 2, may be used in making the Class 4/5 switching office determination. If it is determined that the OPC is not associated with a combined Class 4/5 office, then the CDR is ignored or excluded from further CDR selection processing, as indicated in step A6. If it is determined that the OPC is associated with a combined Class 4/5 office, then a called party number (CdPN) value is extracted from the CDR and used, along with the OPC value, to search an Tandem-NPA-NXX listing, such as that presented in Table 2 (A4). If a matching entry is located in the Tandem-NPA-NXX listing, then the CDR is selected as a representative CDR, as indicated in step A7. A copy of the CDR may be generated and communicated to a network services application. If a matching entry is not located in the Tandem-NPA-NXX listing, then a calling party number (CgPN) value is extracted from the CDR and used, along with the OPC value, to search the Tandem-NPA-NXX listing, as indicated in step A5. If a matching entry is located in the Tandem-NPA-NXX listing, then the CDR is selected as a representative CDR, as indicated in step A7. A copy of the CDR may be generated and communicated to a network services application. If a matching entry is not located in the Tandem-NPA-NXX listing, then the CDR is ignored, as indicated in step A6.
The single-CDR selection method described above may be repeated for each CDR in the CDR database or buffer, resulting in the selection of a single CDR associated with each call detected/recorded by a monitoring system. Copies of these selected, representative CDRs may be provided to network service applications that require a single CDR for each monitored call.
One advantage of the single CDR selection method illustrated in Figure 2 is that it does not require that the CDRs being processed be correlated. Correlating CDRs can be processor intensive. The CDR selection steps illustrated in Figure 2 can be executed on a database of uncorrelated CDRs. For calls that include multiple legs and consequently multiple CDRs, the CDR selection algorithm will select a single CDR. For single leg, single CDR calls, the single CDR will be selected. Thus, the result of executing the single CDR selection algorithm in Figure 2 on a database that includes CDRs for multiple calls is a set of CDRs where one CDR is present for each call. Such a set or group of CDRs may useful for billing purposes, for example to reduce the likelihood of duplicate billing caused by multiple CDRs being present for the same call.
Even though the algorithm illustrated in Figure 2 is capable of processing CDRs in a database of uncorrelated CDRs, the subject matter described herein is not limited to using the single CDR selection algorithm to process uncorrelated CDRs. The algorithm in Figure 2 may be used on a database of correlated CDRs or a database that includes both correlated and uncorrelated CDRs without departing from the scope of the subject matter described herein.
Intra-Network Call Scenario
Exemplary single-CDR selection scenarios are illustrated in Figures 3, 4 and 5. Figure 3 illustrates communications network 100 that includes a monitoring system 200 and associated CDR selection and consolidation function 202. As described above, network 100 includes a first end office (EO) 102 with a point code address 1-1-1 , a first tandem office 104 with a point code address 2-2-2, a second tandem office 106 with a point code address 3-3-3, and a second EO 108 with a point code address 4-4-4. EO 102 serves calling party subscriber B, and EO 108 serves called party subscriber A. Monitoring system 200 may receive CDR information from several signaling link monitoring probes, 112, 114, and 116. More particularly, monitoring probe 112 may monitor and copy SS7 MSU traffic between EO 102 and tandem 104 and generate associated CDR information. Likewise, probe 114 may generate CDR information associated with monitored SS7 MSU traffic between tandem 104 and tandem 106, and monitoring probe 116 may generate CDR information associated with monitored SS7 MSU traffic between tandem 106 and EO 108. Monitoring system 200 receives and stores the CDR information from each remote monitoring probe. Selection and consolidation function 202 processes the stored CDR information using a CDR selection algorithm, such as the single- CDR selection algorithm described above with respect to Figure 2. A set of CDRs with a single CDR being present for each call may then be provided to other applications that require one CDR per call (e.g., billing applications, fraud detection applications, presence service applications, etc.).
For the purposes of illustration, it is assumed that all switching offices in network 100 are owned and/or operated by the same service provider. In this example, the network service provider is Verizon, as indicated in Table 1. Furthermore, it is also assumed that none of the switching offices are combined Class 4/5 offices. Calling party B dials a telephone number associated with called party A, and, as a result, a sequence of three SS7 ISUP initial address messages (IAMs) is generated and communicated between the switching offices that comprise network 100, as indicated in Figure 3. These IAM messages, IAM 1 , IAM 2, and IAM 3 are detected by monitoring probes 112, 114, and 116, respectively. Those skilled in the art of telecommunication signaling will appreciate that additional ISUP signaling is required to complete a call setup operation; however, for purposes of illustration, only the IAM messages are depicted in Figure 3.
In one exemplary implementation, each monitoring probe may generate a CDR record based on the observed IAM message and communicate the CDR information to monitoring system 200 via a communication link, such as an IP wide area network (WAN) connection. Accordingly, probe 112 may generate CDR1 , probe 114 may generate CDR2, and probe 116 may generate CDR3. Monitoring system 200 may receive and store CDR1 , CDR2, and CDR3. Selection consolidation function 202 may process some or all of the CDR records stored at monitoring system 200 using the single-CDR correlation method described above.
With regard to the contents of the three CDR records in this example, it will be appreciated that CDR1 includes the following parameters and associated values: OPC = 1-1-1 , DPC = 2-2-2, CIC = 10, CdPN = A, and CgPN = B. CDR2 includes the following parameters and associated values: OPC = 2-2-2, DPC = 3-3-3, CIC = 42, CdPN = A, and CgPN = B. CDR3 includes the following parameters and associated values: OPC = 3-3-3, DPC = 4-4.4, CIC = 46, CdPN = A, and CgPN = B. Based on the attribute assignment rules described above, end office 102 is assigned an office type attribute = EO, tandem office 104 is assigned an office type attribute = TO, tandem office 106 is assigned an office type attribute = TO, and end office 108 is assigned an office type attribute = EO, as indicated in Table 1. Applying the single-CDR selection process illustrated in Figure 2, if selection/consolidation function 202 initially selects CDR3 from the monitoring system CDR storage buffer (step A1), an examination of the OPC address contained in CDR3 reveals that the switching office associated with point code 3-3-3 has an office type attribute = TO (step A2). Given this result, a check is next performed to determine whether the switching office associated with point code 3-3-3 is a combined local/tandem office (step A3). Since tandem office 106 is not a combined local/tandem office, CDR3 is not selected as the representative CDR for the call (step A6). Selection/consolidation function 202 next selects CDR2 from the monitoring system CDR storage buffer (step A1) and repeats the remaining processing steps illustrated in Figure 2. In this case, an examination of the OPC contained in CDR2 reveals that the switching office associated with point code 2-2-2 also has an office type attribute = TO (step A2), and a subsequent check is made to determine whether the switching office associated with point code 2-2-2 is a combined local/tandem office (step A3). Once again, since tandem office 104 is not a combined local/tandem office, CDR2 is not selected as the representative CDR for the call (step A6). Selection/consolidation function 202 next selects CDR1 from the monitoring system CDR storage buffer (step A1), and repeats the remaining processing steps illustrated in Figure 2. In this case, an examination of the OPC contained in CDR1 reveals that the switching office associated with point code 1-1-1 has an office type attribute = EO (step A2), and as such CDR1 is selected as the representative CDR for the call (step A7). Since CDR1 is the chosen representative CDR for the call between calling party B and called party A, a copy of CDR1 is generated as CDR 122, and this copy is provided to network service applications that require a single CDR per call, as described above.
The subject matter described herein is not limited to any specific order for selecting and processing the three CDRs described above. That is, the three CDRs could have been selected from monitoring system storage in any order and processed with the same outcome (i.e., the selection of CDR1 as the representative CDR for the call). In addition, although the example described with respect to Figure 3 included only CDRs for a single call, it is understood that the processing steps of Figure 2 can be applied to a database or databases that store CDRs associated with a plurality of different calls.
Inter-Network Inbound Call Scenario
The scenario described above and illustrated in Figure 3 is exemplary of single-CDR selection for an intra-network call. That is, Figure 2 illustrates a call between two subscribers that reside within the same network or that are served by the same service provider. Figure 4 illustrates a scenario that is exemplary of single-CDR correlation and consolidation processing associated with an inter-network call. That is, Figure 4 illustrates a call between two subscribers that reside in different networks or that are served by the different service providers. More particularly, in Figure 4, a call is received by a subscriber in a first monitored network, and the call is originated from a second, different network. Network environment 140 depicted in Figure 4 includes network 100, which is operated by service provider A. As described above, network 100 includes a monitoring system 200 and associated CDR selection/consolidation function 202. For purposes of the present example, network 100 further includes an end office (EO) 102 with a point code of 1-1-1 and a tandem office 104 with a point code of 2-2- 2. Monitoring system 200 may receive CDR information from signaling link monitoring probes 112 and 152. More particularly, monitoring probe 112 may monitor SS7 MSU traffic between EO 102 and tandem 104 and generate associated CDR information. Likewise, probe 152 may generate CDR information associated with monitored SS7 MSU traffic between tandem 104 and an interconnect tandem 150 that is associated with an interconnect carrier network 144.
Interconnect tandem 150 is further connected to one or more nodes in another public switched telephone network (PSTN) 160, which in this example is where the calling party resides. Interconnect tandem office 150 is assigned a point code of 5-5-5. In this example, a call is placed by a calling party X from a network that is not operated by service provider A. The call from calling party X is placed to called party B, where called party B is served by service provider A. Consequently, a sequence of SS7 ISUP IAM messages is generated and communicated between the switching offices that comprise networks 100, 144 and 160. At least some of these IAM messages are detected by monitoring probes 112 and 152 in a manner similar to that described in the previous examples. Each monitoring probe may generate a CDR record based on the observed IAM message and communicate the CDR information to monitoring system 200 via a communication link, such as an IP wide area network (WAN) connection. Accordingly, probe 152 may generate CDR1 and probe 112 may generate CDR2. Monitoring system 200 may receive and store CDR1 and CDR2, while selection/consolidation function 202 may process some or all of the CDR records stored at monitoring system 200 using the single-CDR selection method described above.
With regard to the contents of the two CDR records in this example, it will be appreciated that CDR1 includes the following parameters and associated values: OPC = 5-5-5, DPC = 2-2-2, CIC = 31 , CdPN = B, and CgPN = X. CDR2 includes the following parameters and associated values: OPC = 2-2-2, DPC = 1-1-1 , CIC = 12, CdPN = B, and CgPN = X. Based on the attribute assignment rules described above, end office 102 is assigned an office type attribute = EO, tandem office 104 is assigned an office type attribute = TO, and interconnect tandem office 150 is assigned an office type attribute = EO1 as indicated in Table 1.
Applying the single-CDR selection method illustrated in Figure 2, if selection/consolidation function 202 initially selects CDR2 from the monitoring system CDR storage buffer (step A1), an examination of the OPC contained in CDR2 reveals that the switching office associated with point code 2-2-2 has an office type attribute = TO (step A2). Given this result, a check is next performed to determine whether the switching office associated with point code 2-2-2 is a combined local/tandem office (step A3). Since tandem office 104 is not a combined local/tandem office, CDR2 is not selected as the representative CDR for the call (step A6). Selection/consolidation function 202 next selects CDR1 from the monitoring system CDR storage buffer (step A1) and repeats the remaining steps illustrated in Figure 2. In this case, an examination of the OPC contained in CDR1 reveals that the switching office associated with point code 5-5-5 has an office type attribute = EO (step A2), and as such CDR1 is selected as the representative CDR for the call (step A7). As the chosen representative CDR for the call between calling party X and called party B, a copy of CDR1 is generated as CDR 154, and this copy is provided to network service applications that require a single CDR per call, as described above. Again, it should be noted that the subject matter described herein is not limited to any specific order in processing the CDRs collected for the various legs of a call. The selected CDR will be the same regardless of the order in which the various CDRs are processed.
Based on the example above, it will be appreciated that for calls received into a monitored network, the subject matter described herein allows the interconnect carrier to be identified, via the carrier mapping information, such as that shown in Table 1 , in the event that a CDR associated with the call does not contain sufficient interconnect carrier identification information. The single-CDR selection method achieves this objective by selecting the CDR associated with the interconnect carrier tandem as the representative CDR for the call, regardless of the total number of CDRs generated for the call.
Inter-Network Outbound Call Scenario The scenario illustrated in Figure 5 is exemplary of single-CDR selection processing associated with an inter-network outbound call. That is, in Figure 5, a call is originated by a subscriber in a first monitored network, where the call is terminated in a second, non-monitored network. Network environment 140 described above is used once again to illustrate this scenario. In this case, subscriber B originates a call to subscriber X, thereby making subscriber B the calling party.
In this call setup scenario, probe 112 may generate CDR1 and probe 152 may generate CDR2. Monitoring system 200 may receive and store CDR1 and CDR2, while selection/consolidation function 202 may process some or all of the CDR records stored at monitoring system 200 using the single-CDR correlation method described above.
With regard to the contents of the two CDR records in this example, it will be appreciated that CDR1 includes the following parameters and associated values: OPC = 1-1-1 , DPC = 2-2-2, CIC = 17, CdPN = X, and CgPN = B. CDR2 includes the following parameters and associated values: OPC = 2-2-2, DPC = 5-5-5, CIC = 54, CdPN = X, and CgPN = B. Once again, based on the attribute assignment rules described above, end office 102 is assigned an office type attribute = EO, tandem office 104 is assigned an office type attribute = TO, and interconnect tandem office 150 is assigned an office type attribute = EO, as indicated in Table 1.
Applying the single-CDR selection method illustrated in Figure 2, if selection/consolidation function 202 initially selects CDR2 from the monitoring system CDR storage buffer (step A1), an examination of the OPC contained in CDR2 reveals that the switching office associated with point code 2-2-2 has an office type attribute = TO (step A2). Given this result, a check is next performed to determine whether the switching office associated with point code 2-2-2 is a combined local/tandem office (step A3). Since tandem office 104 is not a combined local/tandem office, CDR2 is not selected as the representative CDR for the call (step A6). Selection/consolidation function 202 next selects CDR1 from the monitoring system CDR storage buffer (step A1) and repeats the remaining steps illustrated in Figure 2. In this case, an examination of the OPC contained in CDR1 reveals that the switching office associated with point code 1-1-1 has an office type attribute = EO (step A2), and as such CDR1 is selected as the representative CDR for the call (step A7). As the chosen representative CDR for the call between calling party B and called party X, a copy of CDR1 is generated as CDR 156, and this copy is provided to network service applications that require a single CDR per call, as described above. Again, it will be appreciated that the subject matter described herein is not limited to any particular order in processing the CDRs.
Based on the example above, it will be appreciated that for calls leaving a monitored network, the subject matter described herein is adapted to allow the interconnect carrier to be identified. The single-CDR selection algorithm achieves this objective by selecting the CDR associated with the originating end office as the representative CDR for the call, regardless of the total number of CDRs generated for the call. Since this CDR is typically generated by the same network operator that is monitoring the network, this CDR will generally contain information (e.g., a TNS parameter, a CIP parameter, etc.) which identifies the interconnect carrier that has been chosen to transport the call.
Multiple CDR Consolidation Algorithm
According to another aspect, the subject matter described herein includes a method for processing a plurality of CDRs associated with a multi- leg call and producing a consolidated or "blended" CDR that is representative of the call and includes information obtained from some or all of the multiple CDRs. Correlated CDR records associated with a multi-leg call may be tagged or linked to the same call, thereby effectively providing a link-consolidated CDR. In any event, the consolidated CDR is made available to network applications including billing, billing verification, and fraud detection applications that require a consolidated CDR per call.
In one embodiment, a CDR consolidation algorithm associates an office type attribute with each SS7 point code in a monitored network. Exemplary office type attribute values may include End Office (EO) and Tandem Office (TO), as illustrated in Table 1. If the monitored network includes a combined local/tandem office (e.g., Class 4/5 office), the NPA- NXX identifiers associated with those subscribers that are served by the combined local/tandem office are included in a Tandem-N PA-NXX list, such as the list illustrated above in Table 2.
Figure 6 is a flow chart associated with an exemplary CDR consolidation algorithm. The CDR consolidation algorithm may be used to perform correlation processing operations on a database or buffer that contains CDR records collected from a number of sites in a communications network. Communication networks may include wireline and mobile networks, which are either circuit-switched or packet-based, while CDR generation and collection may be accomplished via various probe-based or integrated probeless network monitoring system architectures, which will be described in detail below. Beginning with step B1, a CDR entry is obtained from a CDR database or buffer that contains many uncorrelated CDR records. An OPC parameter contained in the CDR is examined to obtain an origination point code value. A lookup is performed in a data structure similar to that presented above in Table 1 in order to determine the office type attribute associated with the OPC value (B2). If carrier identification information is missing from the CDR, then carrier ID information obtained from the lookup may be inserted into the CDR.
If it is determined that the office type of the OPC value is not equal to tandem office (TO), then a subsequent check is performed to determine whether the office type associated with the DPC value is equal to TO, as indicated in step B5. If it is determined that the office type of the DPC value is not equal to TO, then the call associated with the CDR is not a multi-leg call, and no further correlation processing is required (B8). If it is determined that the office type of the DPC value is equal to TO, then a check is performed to determine if the DPC is associated with a combined Class 4/5 switching office, as indicated in step B6. If the DPC is not associated with a combined Class 4/5 switching office, then called party number (CdPN), calling party number (CgPN), and ISUP IAM timestamp (t|Aιv0 values are extracted from the CDR (B9). The CDR database is then searched for all records with matching CgPN and CdPN values, as indicated in step B10.
In one implementation, the search may be limited to those CDR records in the database that include a IAM timestamp value that is within a predetermined time window relative to tiAM- An exemplary time window is ±400 milliseconds from t|Aιvi- This time window may be set by a network operator depending, for instance, on average switch delay times and IN/AIN query processing times (e.g., number portability query processing times) in the network. Those CDRs that are located in the B10 search may then be consolidated into a single "blended" or "super" CDR, or the individual matching CDR records may be tagged or linked with a correlation identifier value (B11). In the latter case, the correlation identifier value may be included in an existing CDR record data field (e.g., post- or pre-pended to data in an existing CDR data field). Alternatively, a new field may be added to each of the matching CDR records, and the correlation identifier value may be stored in this new field. The particular CDR consolidation format may be customized by a network operator to satisfy the data input requirements of various network service applications. If, in step B6, it is determined that the DPC is associated with a combined Class 4/5 switching office, then called party number (CdPN) and calling party number (CgPN) values are extracted from the CDR and used, along with the OPC value, to search an Tandem-NPA-NXX listing, such as that presented in Table 2 (B7). If a matching entry is located in the Tandem- NPA-NXX listing for either the CdPN or CgPN, then the call associated with the CDR is not a multi-leg call, and no further correlation processing is required (B8). If a matching entry is not located in the Tandem-N PA-NXX listing, then steps B9 - B11 are repeated, as described above.
Returning to step B2, If it is determined that the office type of the OPC value is equal to tandem office (TO), then a subsequent check is performed to determine if the OPC is associated with a combined Class 4/5 switching office, as indicated in step B3. Information such as that presented above in Table 2 may be used in making the Class 4/5 switching office determination. If it is determined that the OPC is associated with a combined Class 4/5 office, then called party number (CdPN) and calling party number (CgPN) values are extracted from the CDR and used, along with the OPC value, to search an Tandem-NPA-NXX listing, such as that presented in Table 2 (B4). If a matching entry is located in the Tandem-NPA-NXX listing for either the CdPN or CgPN, then processing branches to step B5 (and subsequent steps), as described above. If a matching entry is not located in the Tandem-NPA-NXX listing, then steps B9 - B11 are repeated, as described above. Returning to step B3, if it is determined that the OPC is not associated with a combined Class 4/5 switching office, then steps B9 - B11 are repeated.
The consolidated CDR generation method described above may be repeated for each uncorrelated CDR in the CDR database or buffer, thereby resulting in the generation of a single consolidated CDR associated with each call detected/recorded by a monitoring system or a chain of link- consolidated CDR records associated with each call detected/recorded by a monitoring system. Copies of these consolidated CDRs may be provided to network service applications that require a single consolidated CDR record or chain of link-consolidated CDR records for each monitored multi-leg call.
Exemplary Consolidated CDR Generation Scenario
Figure 7 is communications network 100 that includes a monitoring system 200 and associated CDR correlation and consolidation function 202.
As described above, network 100 includes a first end office (EO) 102 with a point code 1-1-1 , a first tandem office 104 with a point code 2-2-2, a second tandem office 106 with a point code 3-3-3, and a second EO 108 with a point code 4-4-4. EO 102 serves a calling party subscriber B, while EO 108 serves called party subscriber A. Monitoring system 200 may receive CDR information from several signaling link monitoring probes, 112, 114, and 116. More particularly, monitoring probe 112 may monitor SS7 MSU traffic between EO 102 and tandem 104 and generate associated CDR information. Likewise, probe 114 may generate CDR information associated with monitored SS7 MSU traffic between tandem 104 and tandem 106, and monitoring probe 116 may generate CDR information associated with monitored SS7 MSU traffic between tandem 106 and EO 108. Monitoring system 200 receives and stores the CDR information from each remote monitoring probe. Selection/consolidation function 202 processes the stored CDR information using a CDR consolidation algorithm, such as the CDR consolidation algorithm illustrated in Figure 6. Consolidated CDR information is then provided to other applications that require a single consolidated CDR per multi-leg call, or a linked chain of CDR records per multi-leg call.
For purposes of illustration, it is assumed that all switching offices in network 100 are owned and/or operated by the same service provider. In this example, the network service provider is Verizon, as indicated in Table 1. Furthermore, it is also assumed that none of the switching offices are combined Class 4/5 offices. Calling party B dials a telephone number associated with called party A, and, as a result, a sequence of three SS7 ISUP initial address messages (IAMs) is generated and communicated between the switching offices of network 100, as indicated in Figure 7. These IAM messages, IAM 1 , IAM 2, and IAM 3 are detected by monitoring probes 112, 114, and 116, respectively. In one implementation, each monitoring probe may generate a CDR record based on the observed IAM message and communicate the CDR information to monitoring system 200 via a communication link, such as an IP wide area network (WAN) connection. Accordingly, probe 112 may generate CDR1 , probe 114 may generate CDR2, and probe 116 may generate CDR3. Monitoring system 200 may receive and store CDR1 , CDR2, and CDR3. Selection/consolidation function 202 may process some or all of the CDR records stored at monitoring system 200 using the consolidated CDR generation method illustrated in Figure 6. With regard to the contents of the three CDR records in this example, it will be appreciated that CDR1 includes the following parameters and associated values: OPC = 1-1-1 , DPC = 2-2-2, CIC = 10, CdPN = A, and CgPN = B. CDR2 includes the following parameters and associated values: OPC = 2-2-2, DPC = 3-3-3, CIC = 42, CdPN = A, and CgPN = B. CDR3 includes the following parameters and associated values: OPC = 3-3-3, DPC = 4.4-4, CIC = 46, CdPN = A, and CgPN = B. Based on the attribute assignment rules described above, end office 102 is assigned an office type attribute = EO, tandem office 104 is assigned an office type attribute = TO, tandem office 106 is assigned an office type attribute = TO, and end office 108 is assigned an office type attribute = EO, as indicated in Table 1.
Applying the consolidated CDR generation method illustrated in Figure 6, if selection/consolidation function 202 initially selects CDR3 from the monitoring system CDR storage buffer (step B1), an examination of the OPC contained in CDR3 reveals that the switching office associated with point code 3-3-3 has an office type attribute = TO (step B2). Given this result, a check is next performed to determine whether the switching office associated with point code 3-3-3 is a combined local/tandem office (step B3). Since tandem office 106 is not a combined local/tandem office, the CdPN value A, the CgPN value B, and a timestamp value associated with the IAM 3 are extracted from CDR3 (step B9). The CDR database is searched for all CDRs that contain matching CdPN and CgPN values within ± 400 milliseconds of the extracted timestamp value. In this case, CDR1 and CDR2 would be located since they would be within the 800-millisecond search window, and since they have matching CdPN and CgPN values. As described above, a super CDR may be created which contains some or all of the information carried in the three individual CDR records. An example consolidated CDR that combines CDR1 , CDR2 and CDR3 from the preceding example is presented below in Table 3. It will be appreciated that the parameters presented in Table 3 are merely illustrative of the type of signaling message/CDR information that may be included in a consolidated CDR record.
Figure imgf000025_0001
Table 3: Exemplary Consolidated CDR Format
Alternatively, the three CDR records may be modified to include a tag identifier, which effectively links or associates the CDR records with the same multi-leg call. In yet another embodiment, selection/consolidation function 202 may generate a linking message, which identifies the three
CDR records as being related to the same multi-leg call. The linking message, along with copies of the three CDR records, may be provided to network service applications.
Number Portability Considerations Within communication network environments that support number portability (NP), adjustments to the single-CDR selection method and the consolidated CDR generation method described above may be required to provide optimal correlation results. For example, in a wireline network that supports number portability, each switching office is assigned at least one location routing number (LRN). LRN values are typically formatted in a manner similar to NPA-NXX subscriber identifiers (e.g., LRN = 919 460 0000). When a called party telephone number is dialed, the originating switch determines whether the called party NPA-NXX is associated with an exchange that is known to contain ported subscribers. If the called party NPA-NXX is determined to be associated with a ported exchange, then the originating switch formulates a number portability query that is sent to a number portability database. If the called party NPA-NXX has been ported, the number portability database returns the LRN value associated with the terminating switching office that is currently serving the ported subscriber. The originating switch then generates an ISUP IAM message. The originally dialed called party telephone number is placed in a generic address parameter (GAP) and the terminating switch LRN value is placed in the CdPN field of the IAM message. A translated called number parameter in a forward call indicator (FCI) field of the IAM message is set, so as to indicate to other switches/nodes in the network that NP translation processing has been performed.
In some cases, the originating switching office may not perform or initiate an NP translation, and instead, an intermediate switching office (e.g., tandem office) may perform the NP translation. In such cases, all ISUP IAM messages associated with a multi-leg call may not contain the same value in the CdPN field of the message. As stated above, the original CdPN value is placed in the GAP parameter, and an LRN associated with the terminating switching office is placed in the CdPN field following NP translation.
An exemplary multi-leg call scenario that includes a number portability translation is illustrated in Figure 8. In Figure 8, network 100 includes several switching offices, including tandem office 106. In this example, tandem office 106 performs number portability translation processing during a multi-leg call setup between a calling party subscriber A and a called party subscriber C. Called party subscriber C has been ported to switching end office 108 from another office. For the purposes of this example, switching office 108 has been assigned a location routing number (LRN) value of 9194600000.
As such, IAM messages IAM 1 and IAM 2 are generated and communicated through the network as described above. However, after receiving IAM 2, tandem office 106 queries an NP service control point (SCP) or database 204, and, in response, receives the LRN value 9194600000, which is the routing number associated with "ported-to" or terminating end office 108. Using the NP translation information, tandem office generates IAM 3, which includes a CdPN value of 9194600000, a GAP value with the originally dialed called party C telephone number, and an FCl translated called number indicator value of 1 (which indicates that NP translation has been performed).
As described above, monitoring system 200 may detect the three IAM messages via monitoring probes 112, 114 and 116. CDR records CDR1 , CDR2 and CDR3 are subsequently generated by monitoring system 200, based on the detected IAM messages. As illustrated in Figure 8, CDR3 includes a CdPN value of 9194600000, a GAP value with the originally dialed called party C telephone number, and an FCI translated called number indicator value of 1. The other CDR records associated with the multi-leg call, CDR1 and CDR2, include a CdPN value that is equal to the originally dialed called party C telephone number. No GAP parameters and no FCI translated called number indicator (or an FCI translated called number value of 0) are contained in CDR1 and CDR2. To accommodate these NP-translation-induced differences, the following NP enhancements may be made to the above-described consolidated CDR generation algorithm, which is generally illustrated in Figure 6. Steps B4 and B7 of the flow chart illustrated in Figure 6 may be modified to accommodate NP translation. In one approach, all LRN values associated with a combined Class 4/5 switching office are included in that office's Tandem-NPA-NXX listing. In other words, all LRN values associated with a combined Class 4/5 switching office may be treated the same as if they were NPA-NXX identifiers associated subscribers serviced by that office.
Alternatively, if LRN values are not included in the Tandem-NPA-NXX listing, a check may be performed to determine if the CDR record being processed includes an FCI translated called number indicator value of 1 (which indicates that NP translation has been performed) or if a GAP parameter is present in the CDR. If the CDR record does not include an FCI translated called number indicator value of 1 , or there is not a GAP parameter present in the CDR, then the Tandem-NPA-NXX listing may be searched using the CdPN value. If, however, the CDR record does include an FCI translated called number indicator value of 1 or a GAP parameter is determined to be present in the CDR, then the Tandem-NPA-NXX listing may be searched using the GAP value.
With regard to steps B9 and B10, additional logic or processing steps may be added to check the CDR record that is being processed for the presence of NP translation information. For example, a check may be performed to determine if the CDR record being processed includes an FCI translated called number indicator value of 1 (which indicates that NP translation has been performed) or if a GAP parameter is present in the CDR. If the CDR record does not include an FCI translated called number indicator value of 1 or there is not a GAP parameter present in the CDR, then the CDR database may be searched for all CDR records within ± 500 milliseconds of the W/i that include matching CgPN and/or CdPN values, where a matching CdPN value may include a searched CDR record GAP parameter value that matches the CdPN search value.
If the CDR record includes an FCI translated called number indicator value of 1 or there is a GAP parameter present in the CDR, then the CDR database may be searched for all CDR records within ± 500 milliseconds of the tiAM that include matching CgPN and/or GAP values, where a matching GAP value may include a searched CDR record CdPN parameter value that matches the GAP search value.
In a network environment that employs number portability services, such as that described above, it will be appreciated that a consolidated CDR produced by the present invention may contain GAP and jurisdiction information parameter (JIP) that otherwise would not be present in each individual CDR associated with a multi-leg call.
In yet another embodiment of the subject matter described herein, using the number portability processing modifications similar to those described above, a number portability enhanced single-CDR selection algorithm includes selecting one of many CDR records associated with a multi-leg call in a number portability environment. In cases where a single CDR must be selected to be representative of a multi-leg call, it may be advantageous to select a CDR that contains number portability translation information relevant to the multi-leg call. For example, as illustrated in Figure 9, when NP translation processing has been preformed during the course of a multi-leg call setup, it may be desirable to select the one-of-many CDR records associated with the call that includes GAP and JIP information. As such, correlation processing similar to that described above with respect to the NP-enhanced consolidated CDR generation may be performed to locate all individual CDR records associated with a multi-leg call. However, instead of consolidating the individual CDR records into a single super CDR or tagging/linking the multiple CDRs, a single CDR may be selected from the correlated group of CDR records associated with the multi-leg call, where the single CDR record contains GAP and/or JIP parameter information. In the example illustrated in Figure 9, tandem office 104 performs NP translation and inserts LRN and GAP information in an IAM message that is sent between tandem 104 and terminating end office 102. Monitoring system 200 generates CDR1 and CDR2, as illustrated in Figure 9, where CDR2 includes LRN and GAP information associated with the NP translation. According to the NP-enhanced single-CDR selection method described above, selection/consolidation function 202 may examine the two CDR records that were identified via the NP enhanced correlation algorithm described above and select CDR2 as the representative CDR for the multi- leg call, since CDR2 contains LRN, GAP, and JIP information. A copy of CDR2 is generated as CDR 158, and this copy is provided to network service applications that require a single CDR per call, as described above.
Exemplary Monitoring System Architectures Figures 10 and 11 illustrate exemplary monitoring system architectures that are based on the Sentinel™ platform available from Tekelec of Calabasas, California. Figure 10 illustrates a monitoring system architecture that collects signaling information from either discrete communication link probes or from an integrated signal transfer point/signaling gateway message copying interface. In Figure 10, a pair of site collectors 400 collects and temporarily buffers monitored signaling messages. Site collectors 400 may be connected to external signaling link probes that passively copy signaling messages from SS7 signaling links or to network monitoring processors (NMPs) that receive and store signaling messages copied from signaling links within a routing node, such as an STP. Each site collector 400 may be a general purpose computing platform including a microprocessor and one or more applications executing thereon. In the illustrated example, each site collector includes a filter application 402, a data capture application 404, and an MSU database 406. Filter application 402 filters received signaling messages based on filter criteria received from a Sentinel™ server 408. The filter criteria are preferably structured that the data captured by site collectors 400 is the superset of data required by billing application 410, fraud application 412, usage measurements application 414, and other network service applications that may be resident on data gateway server 416, or located elsewhere in the network.
Data capture applications 404 capture raw MSU data copied by the link monitors or NMPs. MSU databases 406 store MSUs captured by data capture application 404 and filtered by filter application 402.
Data gateway server 416 receives MSU data from the site collectors, generates CDRs based on the MSU data, and stores or buffers the CDRs. In the case of a multi-leg call, DGS 416 is adapted to produce and store a separate CDR for each monitored leg of the call. As such, multiple, uncorrelated CDR records associated with the same call may be generated and stored by DGS 416. In one embodiment, a correlation and consolidation function 202 associated with DGS 416 processes the stored CDRs using either single-CDR selection or consolidated CDR generation methods described above. The selected or generated CDR may then provided to network service applications that require a single CDR for a multi-leg call.
Figure 11 is a block diagram illustrating a network monitoring system in which monitoring system 200 may be incorporated in more detail. In Figure 11 , site collector 400 is connected to network monitoring processors 500 that receive signaling messages copied from a routing node 502. In the illustrated example, routing node 502 is a signaling transfer point with a plurality of link interface modules 504, a data communications module 506, and a network monitoring transport card 508. Each module may include a printed circuit board with an application processor and a communications processor mounted thereon. Modules 504, 506, and 508 are connected to each other via a counter rotating dual ring bus 510. Link interface modules 504 send and receive SS7 signaling messages over SS7 signaling links and perform MTP3 routing functions. Link interface modules 504 also include MSU copy functions 512 for copying SS7 signaling messages received over SS7 signaling links for network monitoring purposes. DCM 506 sends and receives signaling messages over IP signaling links. DCM 506 may also include a message copy function 514 copying signaling messages received over IP signaling links. For example, message copy function 514 may copy SS7 signaling messages sent over IP signaling links or IP telephony signaling messages sent over IP signaling links for network monitoring purposes.
Network monitoring transport card 508 communicates messages copied from signaling links to network monitoring processors 500. When a message copy function 512 or 514 copies signaling messages from a signaling link, the message copy function broadcasts a service request to network monitoring processors 500 via network monitoring transport card 508. In response to the service request, the network monitoring processor provisioned to service the particular copy function establishes a TCP/IP connection with the message copy function via network monitoring transport card 508. The message copy function then sends copied MSUs to the network monitoring processor over the TCP/IP connection. Network monitoring processors 500 store signaling message copies and forward the copies to site collector 400. Site collector 400 filters the messages and transmits the messages to data gateway server 416 as described above. Data gateway server 416 receives MSU data from the site collectors, generates CDRs based on the MSU data, and stores or buffers the CDRs. In the case of a multi-leg call, DGS 416 may produce and store a separate CDR for each monitored leg of the call. As such, multiple, uncorrelated CDR records associated with the same call may be generated and stored by DGS 416. In one embodiment, correlation and consolidation function 202 associated with DGS 416 may process the stored CDRs using either single- CDR selection method or consolidated CDR generation method. The selected or generated CDR may then be provided to network service applications that require a single CDR for a multi-leg call.
Although the examples described above relate primarily to processing CDRs stored in a single database, such as the CDR database managed by data gateway server 416, the subject matter described herein is not limited to processing CDRs located in a single database. In an alternate implementation, the subject matter described herein may select a single CDR or generate a consolidated CDR from a plurality of different databases, or a single distributed database with data located in different geographic locations. For example, some network monitoring systems may generate and store CDRs at the link probes. In such an implementation, single CDR selection or consolidated CDR generation may be performed by analyzing the data located at each of the link probes.
It will be appreciated that various details of the invention may be changed without departing from the scope of the invention. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation— the invention being defined by the claims.

Claims

CLAIMS What is claimed is:
1. A method for selecting a representative call detail record (CDR) from a plurality of CDRs associated with a call that involves a plurality of switching offices, the method comprising:
(a) analyzing a plurality of CDRs, the plurality of CDRs including CDRs associated with different legs of a call that involves a plurality of switching offices and a plurality of legs;
(b) determining an office type associated with each of the CDRs;
Figure imgf000034_0001
(c) selecting a CDR from the plurality of CDRs as a representative CDR associated with the call based on the office type.
2. The method of claim 1 wherein analyzing a plurality of CDRs includes analyzing a plurality of uncorrelated CDRs.
3. The method of claim 1 wherein analyzing a plurality of CDRs includes analyzing a plurality of correlated CDRs.
4. The method of claim 1 wherein analyzing a plurality of CDRs includes analyzing a plurality of CDRs stored in a single geographic location.
5. The method of claim 1 wherein analyzing a plurality of CDRs includes analyzing a plurality of CDRs stored in a plurality of different geographic locations.
6. The method of claim 1 wherein determining an office type associated with each of the CDRs includes determining an office type based on an originating address associated with each of the CDRs.
7. The method of claim 6 wherein the originating address includes an originating signaling system 7 (SS7) point code associated with the CDRs.
8. The method of claim 1 wherein selecting a CDR from the plurality of CDRs as a representative CDR includes selecting a CDR having an originating point code that is not associated with a tandem office.
9. The method of claim 1 wherein selecting a CDR from the plurality of CDRs as a representative CDR includes selecting a CDR associated with an originating end office.
10. The method of claim 1 wherein selecting a CDR from the plurality of CDRs as a representative CDR includes selecting a CDR associated with a combined class of 4/5 tandem office.
11. The method of claim 1 wherein selecting a CDR from the plurality of CDRs as a representative CDR includes selecting a CDR having an originating point code that is associated with a tandem office and that includes a calling party number (CdPN) and a called party number
(CgPN) in a tandem NPA-NXX list.
12. A method for identifying and combining call detail records (CDRs) produced for different legs of the same call, the method comprising: (a) analyzing a plurality of CDRs generated from messages collected at a plurality of different monitoring locations;
(a) determining whether a plurality of CDRs exists for different legs of the same call; and
(a) in response to determining that a plurality of CDRs exists for different legs of the same call, locating the CDRs and combining the CDRs for the call into a blended CDR.
13. The method of claim 12 wherein determining whether a plurality of CDRs exist for different legs of the same call includes searching for CDRs that include a point code associated with a tandem office.
14. The method of claim 13 wherein locating the CDRs includes, in response to locating a CDR with a point code associated with a tandem office:
(a) extracting a calling party number (CgPN) and a called party number (CdPN) from the CDR; and
(b) searching for CDRs that include the CgPN and CdPN.
15. The method of claim 14 wherein searching for CDRs that include the CgPN and CdPN includes searching for CDRs within a predetermined time range of the CDR having a point code associated with a tandem office.
16. The method of claim 12 wherein locating the CDRs includes determining whether a first CDR includes number portability information, and, in response, using the number portability information to locate additional CDRs.
17. The method of claim 16 wherein the number portability translation information includes a generic address parameter (GAP) value.
18. The method of claim 12 wherein locating the CDRs includes extracting a CdPN from a CDR having the point code associated with a tandem office and searching a listing of tandem NPA-NXX values that include LRN values for the tandem offices.
19. The method of claim 12 wherein generating a consolidated CDR includes tagging each CDR related to the call with a correlation parameter.
20. The method of claim 12 wherein generating a consolidated CDR includes generating a super CDR record that includes information associated with some or all of the CDR records related to the call.
21. The method of claim 12 wherein the representative CDR record includes number portability translation information.
22. The method of claim 21 wherein the number portability translation information includes a location routing number.
23. The method of claim 21 wherein the number portability translation information includes a generic address parameter.
24. The method of claim 21 wherein the number portability translation information includes a jurisdiction information parameter.
25. A method for selecting a representative CDR from a plurality of CDRs associated with a call that involves a plurality of switching offices and a number portability translation, the method comprising: (a) analyzing a plurality of CDRs generated from messages collected at a plurality of different monitoring locations; (b) determining whether a plurality of CDRs exist for different legs of the same call; and
(c) in response to determining that a plurality of CDRs exists for different legs of the same call, locating the CDRs and selecting a representative CDR from the plurality of CDRs, wherein selecting a representative CDR includes selecting a CDR that includes number portability translation information.
26. A system for selecting a single call detail record (CDR) from a plurality of call detail records (CDRs) associated with a call that involves a plurality of switching offices and a plurality of legs, the system comprising:
(a) at least one database for storing a plurality of CDR records; and
(b) a selection/consolidation function for: (i) analyzing the CDR records in the at least one database;
(ii) determining an office type associated with each CDR; and (iii) selecting a representative CDR for the call based on the office type.
27. The system of claim 26 wherein, in selecting a representative CDR for the call based on the office type, the selection/consolidation function is adapted to select a CDR that does not have an originating point code associated with a tandem office.
28. The system of claim 26 wherein, in selecting a representative CDR, the selection/consolidation function is adapted to select a CDR associated with an originating end office.
29. The system of claim 26 wherein, in selecting a representative CDR, the selection/consolidation function is adapted to select a CDR having an originating point code that is associated with a tandem office and that includes a calling party number (CdPN) and called party number
(CgPN) and a called party (in a tandem NPA-NXX list).
30. The system of claim 26 wherein, in selecting a representative CDR, the selection/consolidation function is adapted to select a CDR having an originating point code that is associated with a combination class 4/5 office.
31. The system of claim 26 wherein the selection/consolidation function is adapted to provide the selected representative CDR to a network service application.
32. A system for correlating a plurality of call detail records (CDRs) associated with a call that involves a plurality of switching offices and a plurality of legs and for generating a CDR that is representative of the call, the system comprising:
(a) at least one database that includes a plurality of CDR records; and
(b) a selection/consolidation function for: (i) accessing a CDR record that is contained in the at least one database; (ii) using an office type to determine whether the CDR is associated with a call that includes a plurality of legs; (iii) in response to identifying the CDR as being associated with a call that includes a plurality of legs, using information contained in the CDR to locate additional CDR records associated with the call; and (iv) generating a consolidated CDR that contains information associated with at least some of the CDR records associated with the multi-leg call.
33. The system of claim 32 wherein the selection/consolidation function is adapted to provide the consolidated CDR to a network service application.
34. The system of claim 32 wherein the selection/consolidation function is adapted to use a called party identifier in locating additional CDR records associated with the call.
35. The system of claim 32 wherein the selection/consolidation function is adapted to use a calling party identifier in locating additional CDR records associated with the multi-leg call.
36. The system of claim 32 wherein the selection/consolidation function is adapted to use time stamp information in locating additional CDR records associated with the multi-leg call.
37. The system of claim 32 wherein the selection/consolidation function is adapted to use a generic address parameter (GAP) value in locating additional CDR records associated with the multi-leg call.
38. The system of claim 32 wherein the selection/consolidation function is adapted to identify the CDR as being associated with a multi-leg call based on whether a called party number value or a calling party number value contained in the CDR are serviced by the switching office associated with an originating address associated with the CDR.
39. The system of claim 32 wherein the selection/consolidation function is adapted to tag each CDR related to the multi-leg call with a correlation parameter in generating the consolidated CDR.
40. The system of claim 32 wherein the consolidated CDR includes a super CDR record that includes information associated with some or all of the CDR records related to the multi-leg call.
41. The system of claim 32 wherein the consolidated CDR includes number portability translation information.
42. The system of claim 41 wherein the number portability translation information includes a location routing number.
43. The system of claim 41 wherein the number portability translation information includes a generic address parameter.
44. The system of claim 41 wherein the number portability translation information includes a jurisdiction information parameter.
45. A system for correlating a plurality of call detail records (CDRs) associated with a call that involves a plurality of legs and a plurality of switching offices and for selecting a CDR that is representative of the call, the system comprising:
(a) at least one database for storing a plurality of CDR records; and (b) a correlation and consolidation function for:
(i) accessing analyzing the CDR records in the at least one database; (ii) determining whether a plurality of CDRs exists for different legs of the same call; and (iii) in response to determining that a plurality of CDRs exists for different legs of the same call, selecting a CDR from the plurality of CDRs that includes number portability translation information.
46. A computer program product comprising computer executable instructions embodied in a computer readable medium for performing steps comprising:
(a) analyzing a plurality of CDRs, the plurality of CDRs including
CDRs associated with different legs of a call that involves a plurality of switching offices and a plurality of legs; (b) determining an office type associated with each of the CDRs; and (c) selecting a CDR from the plurality of CDRS as a representative
CDR associated with the call based on the office type.
47. A computer program product comprising computer executable instructions embodied in a computer readable medium for performing steps comprising:
(a) analyzing a plurality of CDRs generated from messages collected at a plurality of different monitoring locations;
(b) determining whether a plurality of CDRs exists for different legs of the same call; and (c) in response to determining that a plurality of CDRs exists for different legs of the same call, locating the CDRs and combining the CDRs for the call into a blended CDR.
48. A computer program product comprising computer executable instructions embodied in a computer readable medium for performing steps comprising:
(a) analyzing a plurality of CDRs generated from messages collected at a plurality of different monitoring locations;
(b) determining whether a plurality of CDRs exist for different legs of the same call; and
(c) in response to determining that a plurality of CDRs exists for different legs of the same call, locating the CDRs and selecting a representative CDR from the plurality of CDRs, wherein selecting a representative CDR includes selecting a CDR that includes number portability translation information.
PCT/US2005/021623 2004-06-18 2005-06-20 METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS FOR SELECTING OR GENERATING A SINGLE CALL DETAIL RECORD (CDR) FROM A PLURALITY OF CDRs ASSOCIATED WITH A CALL HAVING A PLURALITY OF LEGS WO2006009929A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP05762688A EP1766955A2 (en) 2004-06-18 2005-06-20 METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS FOR SELECTING OR GENERATING A SINGLE CALL DETAIL RECORD (CDR) FROM A PLURALITY OF CDRs ASSOCIATED WITH A CALL HAVING A PLURALITY OF LEGS

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US58121804P 2004-06-18 2004-06-18
US60/581,218 2004-06-18

Publications (3)

Publication Number Publication Date
WO2006009929A2 true WO2006009929A2 (en) 2006-01-26
WO2006009929A3 WO2006009929A3 (en) 2006-08-17
WO2006009929B1 WO2006009929B1 (en) 2006-10-12

Family

ID=35785729

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/021623 WO2006009929A2 (en) 2004-06-18 2005-06-20 METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS FOR SELECTING OR GENERATING A SINGLE CALL DETAIL RECORD (CDR) FROM A PLURALITY OF CDRs ASSOCIATED WITH A CALL HAVING A PLURALITY OF LEGS

Country Status (3)

Country Link
US (1) US7231024B2 (en)
EP (1) EP1766955A2 (en)
WO (1) WO2006009929A2 (en)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7340422B2 (en) 2003-02-10 2008-03-04 Asentinel Llc Systems and method for managing and processing of telecommunications invoices
US7804789B2 (en) 2004-03-18 2010-09-28 Tekelec Methods, systems, and computer program products for organizing, managing, and selectively distributing routing information in a signaling message routing node
US7583794B1 (en) * 2004-12-21 2009-09-01 At&T Corp. Method and apparatus for providing end-to-end call completion status
US8005457B2 (en) * 2005-09-02 2011-08-23 Adrian Jones Method and system for verifying network resource usage records
US8031856B2 (en) * 2005-12-27 2011-10-04 Level 3 Communications, Llc Customer owned telephone numbers
US8606821B1 (en) * 2005-12-30 2013-12-10 At&T Intellectual Property Ii, L.P. Method and apparatus for consolidating call data records
US7720206B2 (en) * 2006-01-18 2010-05-18 Teoco Corporation System and method for intelligent data extraction for telecommunications invoices
US7606202B2 (en) * 2006-07-28 2009-10-20 Tekelec Methods, systems, and computer program products for offloading call control services from a first network of a first type to a second network of a second type
US8019063B2 (en) 2006-08-24 2011-09-13 Verisign, Inc. System and method for providing high reliability network
US8295459B2 (en) * 2006-08-24 2012-10-23 Verisign, Inc. System and method for dynamically partitioning context servers
CN101237330B (en) * 2007-01-30 2013-03-27 朗迅科技公司 Method for associating billing data record in offline billing system
US20080198996A1 (en) * 2007-02-21 2008-08-21 Tekelec Methods, systems, and computer program products for using a location routing number based query and response mechanism to effect advanced routing
US8073127B2 (en) * 2007-02-21 2011-12-06 Tekelec Methods, systems, and computer program products for using a location routing number based query and response mechanism to effect subscriber cutover
US8213440B2 (en) 2007-02-21 2012-07-03 Tekelec Global, Inc. Methods, systems, and computer program products for using a location routing number based query and response mechanism to route calls to IP multimedia subsystem (IMS) subscribers
CN100558040C (en) * 2007-04-12 2009-11-04 华为技术有限公司 Charging method, method for routing and relevant device thereof based on number portability service
CN101874383A (en) * 2007-04-20 2010-10-27 泰克莱克公司 Systems, methods, and computer program products for providing service interaction and mediation in a communications network
US9379898B2 (en) * 2007-05-04 2016-06-28 Tekelec, Inc. Methods, systems, and computer program products for providing billing and usage data to downstream applications
US9043451B2 (en) * 2007-07-31 2015-05-26 Tekelec, Inc. Methods, systems, and computer readable media for managing the flow of signaling traffic entering a signaling system 7 (SS7) based network
US8401166B1 (en) * 2008-05-20 2013-03-19 Peerless Network, Inc. Systems and methods of mitigating phantom call traffic
WO2009149133A2 (en) 2008-06-02 2009-12-10 Tekelec Methods, systems, and computer readable media for providing next generation network (ngn)-based end user services to legacy subscribers in a communications network
WO2010022078A1 (en) * 2008-08-22 2010-02-25 Mobile Science Ltd. System and method for interpreting and classifying signals in communications systems
WO2010083509A2 (en) 2009-01-16 2010-07-22 Tekelec Methods, systems, and computer readable media for centralized routing and call instance code management for bearer independent call control (bicc) signaling messages
US9712341B2 (en) 2009-01-16 2017-07-18 Tekelec, Inc. Methods, systems, and computer readable media for providing E.164 number mapping (ENUM) translation at a bearer independent call control (BICC) and/or session intiation protocol (SIP) router
US8331543B2 (en) * 2009-05-13 2012-12-11 Microsoft Corporation Resynchronization of call events after trigger event
US8224337B2 (en) 2009-09-16 2012-07-17 Tekelec, Inc. Methods, systems, and computer readable media for providing foreign routing address information to a telecommunications network gateway
US9003489B2 (en) * 2010-02-04 2015-04-07 Cisco Technology, Inc. System and method for providing virtual user groups in a network environment
IN2012CN07525A (en) 2010-02-12 2015-05-29 Tekelec Inc
WO2013016245A1 (en) 2011-07-22 2013-01-31 Anne-Marie Turgeon Systems and methods for network monitoring and testing using intelligent sequencing
US8805870B2 (en) * 2011-07-27 2014-08-12 Hewlett-Packard Development Company, L.P. Multi-input, multi-output-per-input user-defined-function-based database operations
US20130163581A1 (en) * 2011-12-22 2013-06-27 Casem Majd Systems and methods of integrating call detail record information from multiple sources
US9420117B2 (en) 2013-03-15 2016-08-16 Vonage America Inc. Systems and methods for matching call detail records for the same communication generated by different elements of an IP telephony system
US20140369237A1 (en) * 2013-03-15 2014-12-18 Vongage Network, Llc Systems and methods for displaying call flow through elements of an ip telephony system
US9407558B2 (en) * 2013-05-10 2016-08-02 At&T Intellectual Property I, L.P. Method and system for automatic triggering network management control for VoIP border elements
US9319911B2 (en) * 2013-08-30 2016-04-19 International Business Machines Corporation Adaptive monitoring for cellular networks
EP2890098A1 (en) * 2013-12-27 2015-07-01 Telefonica Digital, S.L.U. Method and apparatus for merging communication information of a user
US9716798B2 (en) 2014-09-08 2017-07-25 At&T Intellectual Property I, L.P. ACR buffering in the cloud
EP3644580A1 (en) * 2018-10-25 2020-04-29 Kido Dynamics SA Human mobility measuring method
US11025782B2 (en) 2018-12-11 2021-06-01 EXFO Solutions SAS End-to-end session-related call detail record

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028914A (en) * 1998-04-09 2000-02-22 Inet Technologies, Inc. System and method for monitoring performance statistics in a communications network
US6249572B1 (en) * 1998-06-08 2001-06-19 Inet Technologies, Inc. Transaction control application part (TCAP) call detail record generation in a communications network
US6891938B1 (en) * 2000-11-07 2005-05-10 Agilent Technologies, Inc. Correlation and enrichment of telephone system call data records
US6968048B2 (en) * 2002-12-20 2005-11-22 Tekelec Automatic message accounting record creation system and method

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3917915A (en) * 1973-07-09 1975-11-04 Tekno Ind Inc Telephone service observation system
US4191860A (en) * 1978-07-13 1980-03-04 Bell Telephone Laboratories, Incorporated Data base communication call processing method
US4162377A (en) * 1978-07-13 1979-07-24 Bell Telephone Laboratories, Incorporated Data base auto bill calling using CCIS direct signaling
US4313035A (en) * 1980-01-18 1982-01-26 Bell Telephone Laboratories, Incorporated Method of providing person locator service
US4310727A (en) * 1980-02-04 1982-01-12 Bell Telephone Laboratories, Incorporated Method of processing special service telephone calls
NL8004959A (en) * 1980-08-30 1982-04-01 Stamicarbon POLYOLEFINE LAYER WITH IMPROVED ADHESION ON A PLASTIC SUBSTRATE.
US4385206A (en) * 1980-12-16 1983-05-24 Stromberg-Carlson Corporation Programmable port sense and control signal preprocessor for a central office switching system
US4439636A (en) 1982-03-09 1984-03-27 Martha Newkirk Credit card actuated telecommunication access network
JPS58215164A (en) 1982-06-09 1983-12-14 Hitachi Ltd Charging system
SE432041B (en) 1982-09-07 1984-03-12 Kurt Katzeff DEVICE WITH A PAYMENT CARD USING A PAYMENT SYSTEM
DK608684D0 (en) 1984-12-18 1984-12-18 Gnt Automatic As PAYMENT PHONE
US4756020A (en) * 1985-08-30 1988-07-05 American Telephone And Telegraph Company, At&T Bell Laboratories Method and apparatus for disallowing the extension of a call through a network
EP0212654B1 (en) 1985-08-30 1993-10-27 AT&T Corp. Method and apparatus for disallowing the extension of a call through a network
US4897870A (en) * 1985-09-25 1990-01-30 Southlake Technologies, Inc. Network implemented pay telephone set
US4897835A (en) * 1985-11-27 1990-01-30 At&E Corporation High capacity protocol with multistation capability
JPS62200859A (en) 1986-02-27 1987-09-04 Nec Corp Inter-network communicating call charging system
US4726056A (en) 1986-06-25 1988-02-16 American Telephone And Telegraph Company At&T Bell Laboratories Shared flexible rating of telecommunications calls
US4756019A (en) 1986-08-27 1988-07-05 Edmund Szybicki Traffic routing and automatic network management system for telecommunication networks
CA1276239C (en) 1986-10-01 1990-11-13 Arlene J. Harris Cellular mobile radio credit card system
US4769834A (en) * 1987-01-30 1988-09-06 American Telephone And Telegraph Company And At&T Information Systems Inc. Inter-exchange carrier access
US4788718A (en) * 1987-10-05 1988-11-29 American Telephone And Telegraph Company, At & T Laboratories Call data collection and modification of received call distribution
US5150357A (en) * 1989-06-12 1992-09-22 Emil Hopner Integrated communications system
US4959849A (en) * 1989-07-31 1990-09-25 At&T Bell Laboratories End-to-end network surveillance
US4972461A (en) * 1989-09-20 1990-11-20 At&T Bell Laboratories Call message delivery system and method
US5008929A (en) * 1990-01-18 1991-04-16 U.S. Intelco Networks, Inc. Billing system for telephone signaling network
DE69020899T2 (en) * 1990-09-28 1995-12-07 Hewlett Packard Co Network monitoring system and device.
US5291481A (en) * 1991-10-04 1994-03-01 At&T Bell Laboratories Congestion control for high speed packet networks
CA2086694C (en) * 1992-03-05 1996-12-31 Steven K. Miller System, data processing method and program to provide a programmable interface between a workstation and an archive server to automatically store telephone transaction information
JP3290438B2 (en) * 1992-06-17 2002-06-10 アジレント・テクノロジーズ・インク Network monitoring method and apparatus
US5475732A (en) * 1993-02-16 1995-12-12 C & P Of Virginia Common channeling signaling network maintenance and testing
US5506893A (en) * 1993-02-19 1996-04-09 At&T Corp. Telecommunication network arrangement for providing real time access to call records
US5426688A (en) * 1993-05-12 1995-06-20 Anand; Vivodh Z. J. Telecommunication alarm method and system
EP0658032B1 (en) * 1993-12-06 2001-09-26 Agilent Technologies Inc. a Delaware Corporation Location identification in a communications signalling network
US5473596A (en) * 1993-12-09 1995-12-05 At&T Corp. Method and system for monitoring telecommunication network element alarms
US5438570A (en) * 1993-12-29 1995-08-01 Tekno Industries, Inc. Service observing equipment for signalling System Seven telephone network
US5539804A (en) * 1994-02-25 1996-07-23 Ctel Compression Telecommunications Corporation Common channel signalling communication monitoring system
US5579371A (en) * 1994-11-22 1996-11-26 Unisys Corporation Common channel signaling network applications platform
US5592530A (en) * 1995-01-25 1997-01-07 Inet, Inc. Telephone switch dual monitors
US5774532A (en) * 1995-04-21 1998-06-30 Mci Corporation Single network record construction
US5606600A (en) * 1995-05-10 1997-02-25 Mci Communications Corporation Generalized statistics engine for telephone network employing a network information concentrator
US5768352A (en) * 1995-05-10 1998-06-16 Mci Communications Corporation Generalized statistics engine for telephone network
US5712908A (en) * 1995-12-22 1998-01-27 Unisys Corporation Apparatus and method for generating call duration billing records utilizing ISUP messages in the CCS/SS7 telecommunications network
US5784443A (en) * 1996-02-01 1998-07-21 Mci Corporation Integrated revenue domain for telecommunication networks
US6108782A (en) * 1996-12-13 2000-08-22 3Com Corporation Distributed remote monitoring (dRMON) for networks
US6137869A (en) * 1997-09-16 2000-10-24 Bell Atlantic Network Services, Inc. Network session management
US6111946A (en) * 1998-01-29 2000-08-29 Bell Canada Method and system for providing answer supervision in a switched telephone network
US6359976B1 (en) 1998-06-08 2002-03-19 Inet Technologies, Inc. System and method for monitoring service quality in a communications network
US6134307A (en) * 1998-09-21 2000-10-17 Iridium Ip Llc Call conversion process for a business system for a global telecommunications network
US6639981B1 (en) * 1999-04-05 2003-10-28 Tekelec Methods and systems for routing signaling messages associated with ported subscribers in a communications network
EP1604514A4 (en) * 2003-02-27 2006-06-14 Tekelec Us Methods and systems for automatically and accurately generating call detail records for calls associated with ported subscribers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028914A (en) * 1998-04-09 2000-02-22 Inet Technologies, Inc. System and method for monitoring performance statistics in a communications network
US6249572B1 (en) * 1998-06-08 2001-06-19 Inet Technologies, Inc. Transaction control application part (TCAP) call detail record generation in a communications network
US6891938B1 (en) * 2000-11-07 2005-05-10 Agilent Technologies, Inc. Correlation and enrichment of telephone system call data records
US6968048B2 (en) * 2002-12-20 2005-11-22 Tekelec Automatic message accounting record creation system and method

Also Published As

Publication number Publication date
EP1766955A2 (en) 2007-03-28
WO2006009929B1 (en) 2006-10-12
US20050281399A1 (en) 2005-12-22
US7231024B2 (en) 2007-06-12
WO2006009929A3 (en) 2006-08-17

Similar Documents

Publication Publication Date Title
US7231024B2 (en) Methods, systems, and computer program products for selecting or generating a single call detail record (CDR) from a plurality of CDRs associated with a call having a plurality of legs
US6249572B1 (en) Transaction control application part (TCAP) call detail record generation in a communications network
US6359976B1 (en) System and method for monitoring service quality in a communications network
US6028914A (en) System and method for monitoring performance statistics in a communications network
US6381306B1 (en) System and method for monitoring service quality in a communications network
US6351453B1 (en) Internet service provider (ISP) finder
US8520828B2 (en) Methods, systems, and computer program products for providing telecommunications services between a session initiation protocol (SIP) network and a signaling system 7 (SS7) network
US6411681B1 (en) Traffic track measurements for analysis of network troubles
US7260192B2 (en) Internet user finder
US7142652B2 (en) Apparatus and method to identify potential work-at-home callers
US7933392B1 (en) Method and system for measuring market-share for an entire telecommunication market
WO2006019539A2 (en) Automatically populating signaling-based access control database
US7844033B2 (en) Methods, systems, and computer program products for generic call tracing
US20020118813A1 (en) System and method for verifying usage and quality of interconnection services for a communication network
WO2004077799A2 (en) Methods and systems for automatically and accurately generating call detail records for calls associated with ported subscribers
US7043001B2 (en) Methods and systems for detecting and mitigating call routing arbitrage in a telecommunications network
US6970542B2 (en) Methods and systems for identifying calls connected without answer supervision and for automatically generating billing information for the calls
US7203291B2 (en) Apparatus and method for generating call information data for calls on long duration
EP2490455A1 (en) Method, system and intelligent gateway for multi-intelligent services
US7376139B1 (en) Inter-switch voicemail analysis tool
Moore et al. Using signaling information in telecom network forensics
US8606821B1 (en) Method and apparatus for consolidating call data records

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

REEP Request for entry into the european phase

Ref document number: 2005762688

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2005762688

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005762688

Country of ref document: EP