[go: up one dir, main page]

WO2014098705A1 - Method and apparatus for charging parameter transmission - Google Patents

Method and apparatus for charging parameter transmission Download PDF

Info

Publication number
WO2014098705A1
WO2014098705A1 PCT/SE2013/050814 SE2013050814W WO2014098705A1 WO 2014098705 A1 WO2014098705 A1 WO 2014098705A1 SE 2013050814 W SE2013050814 W SE 2013050814W WO 2014098705 A1 WO2014098705 A1 WO 2014098705A1
Authority
WO
WIPO (PCT)
Prior art keywords
network node
attribute value
node
response
data
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/SE2013/050814
Other languages
French (fr)
Inventor
Stefan Gustafsson
Marcus Karlsson
Örjan JONSSON
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of WO2014098705A1 publication Critical patent/WO2014098705A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1403Architecture for metering, charging or billing
    • 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
    • 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/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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1453Methods or systems for payment or settlement of the charges for data transmission involving significant interaction with the data transmission network
    • H04L12/1467Methods or systems for payment or settlement of the charges for data transmission involving significant interaction with the data transmission network involving prepayment
    • 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/31Distributed metering or calculation of charges

Definitions

  • the proposed technology generally relates to transmission of charging parameters in a communication network, and in particular to methods for creating, mediating and receiving charging parameter responses, and network nodes for performing such methods.
  • the Diameter protocol is one often used protocol for handling charging.
  • the Diameter protocols are based on the use of at least one Attribute Value Pair (AVP), through which selected information can be distributed.
  • AVP Attribute Value Pair
  • charging clients are charged according to different policies and ratings. Such policies and ratings are typically available in nodes such as an Account Balance Management Function (ABMF) Node or a Rating Function (RF) Node.
  • ABMF Account Balance Management Function
  • RF Rating Function
  • a method for creating charging parameter responses comprises receiving, in a first network node, over a client interface, of a request for charging parameters.
  • the first network node is at least one of an account balance management function node and a rating function node.
  • First network node data concerning the charging parameters are generated from at least one database available to the first network node.
  • the generating is performed in dependence of information received over the client interface.
  • Attribute value pairs are populated with the first network node data.
  • the populating is performed in dependence of an adaptable configuration of the first network node and in dependence of the information received over said client interface.
  • the attribute value pairs are assembling into a response to the request for charging parameters.
  • the response is transmitted from the first network node, over the client interface.
  • a method for mediating charging parameter responses comprises receiving, in a second network node, of a response to a request for charging parameters from a first network node.
  • the second network node is an online charging communication mediator node and the first network node is at least one of an account balance management function node and a rating function node.
  • Transparent data attribute value pairs are forwarded directly to a third network node.
  • the third network node is a charge trigger function node.
  • Special function attribute value pairs received in the response are compared with an adaptable attribute value pair rule configuration. Enrichment and/or data manipulation of a content of an attribute value pair is performed according to the adaptable attribute value pair rule configuration when a match is found in the comparison.
  • the enriched and/or data manipulated attribute value pairs are assembled into a manipulated response. The assembling is performed in dependence of the adaptable attribute value pair rule configuration.
  • the manipulated response is transmitted from the second network node, over the client interface.
  • a method for receiving charging parameter responses comprises receiving, in a third network node, of a response to a request for charging parameters issued from a first network node.
  • the third network node is a charge trigger function node.
  • the first network node is at least one of an account balance management function node and a rating function node.
  • Data concerning charging parameters are retrieved from the response to a request for charging parameters issued from the first network node. The retrieving is performed in dependence of an adaptable configuration of the third network node.
  • a network node comprises a processor and memory.
  • the network node is at least one of an account balance management function node and a rating function node.
  • the memory contains instructions executable by the processor whereby the communication network node is operative to receive, over a client interface, a request for charging parameters, to generate first network node data concerning the charging parameters from databases available to the first network node, to populate attribute value pairs with the first network node data, to assemble the attribute value pairs into a response to the request for charging parameters, and to transmit the response from the first network node, over the client interface.
  • the generating is performed in dependence of information received over the client interface.
  • the populating is performed in dependence of an adaptable configuration stored in the memory of the network node and in dependence of the information received over the client interface.
  • an online charging communication mediator node comprises a processor and memory.
  • the memory contains instructions executable by the processor whereby the communication network node is operative to receive a response to a request for charging parameters from at least one of an account balance management function node and a rating function node, to forward transparent data attribute value pairs directly to a charge trigger function node, to compare attribute value pairs received in the response with an adaptable attribute value pair rule configuration stored in the memory of the network node, to perform enrichment and/or data manipulation of a content of an attribute value pair according to the adaptable attribute value pair rule configuration when a match is found in the comparison, to assemble the enriched and/or data manipulated attribute value pairs into a manipulated response, and to transmit the manipulated response from the online charging communication mediator node, over said client interface.
  • the assembling is performed in dependence of the adaptable attribute value pair rule configuration.
  • a charge trigger function node comprises a processor and memory.
  • the memory contains instructions executable by the processor whereby the communication network node is operative to receive a response to a request for charging parameters issued from at least one of an account balance management function node and a rating function node, and to retrieving data concerning charging parameters from the response to a request for charging parameters issued from the at least one of an account balance management function node and a rating function node.
  • the retrieving is performed in dependence of an adaptable configuration stored in the memory of the charge trigger function node.
  • FIG. 1 is a schematic block scheme of nodes involved with charging in a communication system
  • FIG. 2 is a flow diagram of steps of an embodiment of a method for creating charging parameter responses
  • FIG. 3 is a part flow diagram of an embodiment of step 220 of Fig. 2;
  • FIG. 4 is a part flow diagram of an embodiment of step 230 of Fig. 2;
  • FIG. 5 illustrates mapping of data into AVPs;
  • FIG. 6 is a flow diagram of steps of an embodiment of a method for mediating charging parameter responses
  • FIG. 7 is a flow diagram of steps of an embodiment of a method for receiving charging parameter responses
  • FIG. 8 is a schematic block scheme of an embodiment of nodes involved with charging in a communication system
  • FIG. 9 is a schematic block scheme of an embodiment of a computing environment for an ABMF/RF node
  • FIG. 10 is a schematic block scheme of an embodiment of a computing environment for a charging communication mediator node
  • FIG. 1 1 is a schematic block scheme of an embodiment of a computing environment for a charging trigger function node
  • FIG. 12 is a schematic block scheme of an embodiment of an ABMF/RF node
  • FIG. 13 is a schematic block scheme of an embodiment of a charging communication mediator node.
  • FIG. 14 is a schematic block scheme of an embodiment of a charging trigger function node.
  • a charging system 10 comprises an account balance management function node and/or rating function node 20, which is coded to handle defined AVPs. Selected information is sent in defined AVPs using the Diameter protocol to an online charging communication mediator node 40, which also is coded to handle defined AVPs.
  • the online charging communication mediator node 40 sends information to Diameter clients 51 of a charging trigger function node 50 by use of only defined AVPs, e.g. according to the Gy, Gx, Sy, SCAPv2 or Esy protocols.
  • the online charging communication mediator node 40 sends information to SS7 clients 52 of a charging trigger function node 50 by use of only defined parameters, e.g. according to the CAPvl , CAPv2, CAPv3 or CS1 + protocols.
  • the system available today is obviously very static and any new data needed by a charging client requires code change in the related products.
  • ABMF and RF it is desired that any available information in ABMF and RF shall be possible to send on any of the charging interfaces, in a suitable format, without violating any standards.
  • the solution may be dependent on functionalities in four parts of the system; ABMF, RF, online charging communication mediator and CTF.
  • the parts in ABMF and RF are functionalities that make it possible to output any data over a flexible interface.
  • ABMF and RF are in this solution combined into one common functional entity, referred to as ABMF/RF. It also contains functionalities that assemble the AVPs from RF and ABMF into one response to the online charging communication mediator.
  • Fig. 2 illustrates a flow diagram of steps of an embodiment of a method for creating charging parameter responses.
  • the process starts in step 200.
  • a request for charging parameters is received in a first network node, over a client interface.
  • the first network node is at least one of an account balance management function node and a rating function node.
  • first network node data concerning the charging parameters is generated from at least one database available to the first network node, e.g. a subscriber database in the account balance management function node or databases in the rating function node.
  • the generation is performed in dependence of information received over the client interface.
  • the information received over the client interface comprises an identity of the client interface.
  • Attribute value pairs are in step 230 populated with the first network node data.
  • the populating is performed in dependence of an adaptable configuration of the first network node and in further dependence of the information received over the client interface the client interface.
  • the attribute value pairs are assembled into a response to the request for charging parameters.
  • the assembling may in a particular embodiment be performed in dependence of the adaptable configuration of the first network node.
  • the response from the first network node is transmitted over the client interface.
  • the process ends in step 299.
  • functionality is added to ABMF/RF that makes it possible to copy any type of information into a certain AVP.
  • the information could come from the subscriber ABMF or from the RF.
  • the subscriber account data is fetched from the subscriber account database.
  • the rating data is typically defined using condition or modifier in the selection trees.
  • the mapping of information to an AVP is done in run-time. The run-time configuration is needed for a flexible solution.
  • the ABMF/RF knows which interface that the charging request is received on, and that information is used when defining if a certain AVP shall be populated or not.
  • Fig. 3 illustrates one particular embodiment of the step 220 of generating data concerning charging parameters.
  • a pre-analysis step 222 is performed. In the pre-analysis, information received over the client interface, e.g. the ID of the client interface, is used to determine which interface or context that is used by the charging client.
  • the information received over the client interface is then used in selection trees, to decide if a certain AVP shall be populated and provided in the response or not. In other words, it is determined which types of data, i.e. what attributes, should be available to be transmitted. Data from the request is typically also populated in the needed response parameters. In other words, in the pre-analysis step it is decided if a certain attribute value pair shall be used in the response.
  • a rating step 224 is performed. In the rating, information received over the client interface, e.g. client interface ID, is used to decide if a certain AVP shall be populated for a particular charging client interface. The populating comprises determination of which attributes that should be included in the response.
  • AVP data provided in this section comes mainly from the RF part of the ABMF/RF.
  • parameters and values to be provided in the response are decided and stored in temporary variables, for use in the step 330 (Fig. 2) of populating attribute value pairs.
  • Fig. 4 illustrates one particular embodiment of the step 230 of populating AVP with data in dependence of configuration.
  • a post-analysis step 232 is performed.
  • the post-analysis step 232 comprises a step 234, in which data concerning charging parameters of the ABMF/RF data are mapped towards different AVPs according to a configuration.
  • the step of populating attribute value pairs comprises a mapping of the temporary variables and/or the data from a subscriber account database towards different attribute value pairs according to the adaptable configuration.
  • Fig. 5 illustrates schematically an illustrative example of the ABMF/RF functional flow and describes how the AVPs are populated in the ABMF/RF.
  • items from a subscriber database 21 of the account balance management function are mapped to AVP-1 and AVP-5, respectively.
  • items of a database of a tree logic 22 of a rating function are mapped to AVP-2, AVP-3, AVP-4 and AVP-6, respectively.
  • the response including all AVPs is then assembled, c.f. step 236 of Fig. 2.
  • the account balance management function node and/or rating function node in which the AVPs are originally created.
  • the AVPs are sent to the charging trigger function node 50, typically via the online charging communication mediator node 40.
  • the used AVPs are of two different kinds.
  • a transparent data attribute value pair data that is intended to be transmitted transparently directly to a charge trigger function node is included. Such data does not benefit from any additional information available along the path the AVP is transported, e.g. in the online charging communication mediator node. It is therefore not necessary for e.g. the online charging communication mediator node to verify the content, whereby the AVP may be forwarded without any modifications.
  • the "Transparent Transport" action is used when an AVP transparently, without modification, is transported to the charging client.
  • the AVP can contain any kind of data, both defined as well as undefined AVPs. This means that the data in an AVP does not necessarily need to be known in the intermediate nodes.
  • the transparency of the AVP can be configured by setting the "M" bit of the AVP to "0".
  • the transparent data attribute value pair is put in the * AVP.
  • a special function attribute value pair data that is intended to be manipulated or enriched in an online charging communication mediator node.
  • a definition of what the online charging communication mediator node is intended to do with the data of the special function attribute value pair is defined in an attribute value pair rule configuration. This will be discussed more in detail further below.
  • the special function AVPs are included in a subscriber-information AVP, possibly together with a * AVP in turn comprising transparent AVPs.
  • a subscriber-information AVP possibly together with a * AVP in turn comprising transparent AVPs.
  • AVP Diameter Response format
  • AVP definition for two "special functions", A and B.
  • the ABMF/RF Diameter Response example below contains data for the two "special functions", A and B.
  • the "Any AVP" part can contain any data that will be transparently sent through any intermediate node.
  • the "Any AVP” is only configured in the ABMF/RF and in the charge trigger function node.
  • the AVPs are defined, the logic is configured and the data is created in ABMF/RF.
  • the AVPs are read and used in the charge trigger function node.
  • a certain operator has requested to be able to provide additional charging information in the form of a chargeable utilization quota and a price per MB.
  • the price per MB is dependent on a rating group of the charging client.
  • the ABMF/RF includes the data defining the chargeable utilization quota in a special function AVP.
  • the online charging communication mediator part comprises an AVP engine that decides what to do with AVPs received in the diameter response from ABMF/RF.
  • the online charging communication mediator has an AVP engine that is used to map AVPs to different actions.
  • the "Transparent Transport” action is used when an AVP transparently, without modification, is transported to the charging client.
  • the AVP can contain any kind of data, both defined as well as undefined AVPs. This means that the data in an AVP does not necessarily need to be known in the online charging communication mediator.
  • the "Special Function” action is used when the online charging communication mediator needs to enrich or modify the AVP. Examples will be given further below. The existing, already defined, AVPs are not impacted in this solution.
  • Fig. 6 illustrates a flow diagram of steps of an embodiment of a method for mediating charging parameter responses. The process starts in step 200.
  • step 240 a response to a request for charging parameters from a first network node is received in a second network node.
  • the second network node is an online charging communication mediator node.
  • the first network node is at least one of an account balance management function node and a rating function node.
  • a first AVP in the response to a request for charging parameters is considered.
  • step 244 If the presently considered AVP in step 244 is not a transparent AVP, the AVP is either a special function AVP or another unknown or standard AVP, and the flow continues to step 245.
  • step 245 a normal syntax control, value control etc. of the AVP is performed, before the flow continues to step 246.
  • step 246 the possible special function attribute value pair received in the response is compared with an adaptable attribute value pair rule configuration available in the online charging communication mediator node. If there is no corresponding attribute value pair rule, the present AVP is an unknown AVP or standard AVP, which can be forwarded without further actions, and the flow thereby continues to step 248.
  • step 250 in which enrichment and/or data manipulation of a content of an attribute value pair according to the adaptable attribute value pair rule configuration is performed.
  • step 252 in which enrichment and/or data manipulation of a content of an attribute value pair according to the adaptable attribute value pair rule configuration is performed.
  • step 252 in which enrichment and/or data manipulation of a content of an attribute value pair according to the adaptable attribute value pair rule configuration is performed.
  • step 252 in which enrichment and/or data manipulation of a content of an attribute value pair according to the adaptable attribute value pair rule configuration is performed.
  • step 252 in which enrichment and/or data manipulation of a content of an attribute value pair according to the adaptable attribute value pair rule configuration is performed.
  • step 252 in which enrichment and/or data manipulation of a content of an attribute value pair according to the adaptable attribute value pair rule configuration is performed.
  • step 252 in which enrichment and/or data manipulation of a content of an attribute value pair according to the adaptable attribute value pair rule configuration is performed.
  • the AVPs according to the response to a request for charging parameters are contained in a Subscriber-Information AVP.
  • the subscriber- Information AVP is read and the therein involved AVPs are defined.
  • the received AVPs are compared with an AVP rule configuration. "Special function" actions are performed for "special function” AVPs.
  • the special functions AVPs are correlated towards the AVP engine configuration. All matched results will trigger an action. The action could be any kind of data manipulation or enrichment. This is repeated until all matches have been found.
  • a response to the charging client is assembled. The results from all actions are thereby placed in the response to the charging client.
  • the particular AVP rule engine configuration example below has two special functions A and B. They are triggered by Special-Function-A AVP and Special- Function-B AVP.
  • the special functions can use any AVP data when composing an answer to the charging client.
  • the transparent data can contain several AVPs, and they are sent transparently to the charging client when/if they are received from the ABMF/RF.
  • Special-Function-B Run special function B functionality
  • the data in an AVP could be copied into the CAPv2 Furnished Charging Information (FCI) message, so that the information will be made available in the Mobile Switching Center (MSC) Call Detail Record (CDR).
  • FCI Furnished Charging Information
  • MSC Mobile Switching Center
  • CDR Call Detail Record
  • Another example could be that a number of AVPs will be enriched and assembled into one AVP that is transported to a Gateway GPRS Support Node (GGSN) into a Gy response.
  • GGSN Gateway GPRS Support Node
  • Fig. 6 illustrates a flow diagram of steps of an embodiment of a method for receiving charging parameter responses.
  • the process starts in step 200.
  • step 280 a response to a request for charging parameters issued from a first network node is received in a third network node.
  • the third network node is a charge trigger function node.
  • the first network node is at least one of an account balance management function node and a rating function node.
  • step 282 data concerning charging parameters is retrieved from the response to a request for charging parameters issued from the first network node.
  • the retrieving is performed in dependence of an adaptable configuration of the third network node.
  • the process ends in step 299.
  • CTF are the charging clients that receive the new AVPs.
  • FIG. 8 illustrates a block scheme of an embodiment of a charging system 10.
  • the charging system 10 comprises an account balance management function node and/or rating function node 20, which is coded to handle new AVPs according to the stored configuration. Selected information is sent in new AVPs using the Diameter protocol to an online charging communication mediator node 40, which also is coded to handle new AVPs according to the stored configuration.
  • the online charging communication mediator node 40 sends information to Diameter clients 51 of a charging trigger function node 50 by use of new AVPs, e.g. according to the Gy, Gx, Sy, SCAPv2 or Esy protocols.
  • the online charging communication mediator node 40 sends information to SS7 clients 52 of a charging trigger function node 50 by use of parameters populated with data from new AVPs, e.g. according to the CAPvl , CAPv2, CAPv3 or CS1 + protocols.
  • the system available according to these lines is obviously very dynamic and any new data needed by a charging client only requires configuration changes in limited number of products.
  • Figure 9 is a block diagram showing an exemplary embodiment of a network node, being at least one of an account balance management function node and a rating function node, of the solution in the form of computing system environment 800A.
  • the computing system environment 800A is only one example of a suitable computing environment for an online charging system and is not intended to suggest any limitation as to the scope of use or functionality of the claimed subject matter. Further, the computing environment 800A is not intended to suggest any dependency or requirement relating to the claimed subject matter and any one or combination of components illustrated in the example operating environment 800A.
  • An example of a device for implementing the previously described innovation includes a general purpose computing device in the form of a computer 81 OA.
  • Components of computer 81 OA can include, but are not limited to, a processor or processing unit 820A, a system memory 830A, and a system bus 821 A that couples various system components including the system memory to the processing unit 820A.
  • the system bus 821 A can be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • Computer 81 OA can include a variety of computer readable media.
  • Computer readable media can be any available media that can be accessed by computer 81 OA.
  • Computer readable media can comprise computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile as well as removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media includes, but is not limited to, random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), flash memory or other memory technology, Compact Disc ROM (CDROM), digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 81 OA.
  • Communication media can embody computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and can include any suitable information delivery media.
  • the system memory 830A can include computer storage media in the form of volatile and/or nonvolatile memory such as ROM and/or RAM.
  • a basic input/output system (BIOS) containing the basic routines that help to transfer information between elements within computer 81 OA, such as during start-up, can be stored in memory 830A.
  • BIOS basic input/output system
  • Memory 830A can also contain data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 820A.
  • memory 830A can also include an operating system, application programs, other program modules, and program data.
  • memory 830A can include at least one database comprising charging parameters.
  • memory 830A can include a file of an adaptable configuration of the network node.
  • functions are implemented as software modules located in the memory of the computing system environment and executed by the processor.
  • the functions implemented as software modules comprise receiving, over a client interface, of a request for charging parameters, generating of network node data concerning the charging parameters from at least one database available to the network node, populating attribute value pairs with the network node data, assembling the attribute value pairs into a response to the request for charging parameters and transmitting the response from the network node, over the client interface.
  • the generating is performed in dependence of information received over the client interface.
  • the populating is performed in dependence of an adaptable configuration stored in the memory of the network node and in dependence of the information received over the client interface.
  • the information received over the client interface comprises an identity of the client interface.
  • the assembling may in a particular embodiment be performed in dependence of the adaptable configuration of the network node.
  • the computer 81 OA can also include other removable/non-removable and volatile/nonvolatile computer storage media.
  • computer 81 OA can include a hard disk drive that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive that reads from or writes to a removable, nonvolatile magnetic disk, and/or an optical disk drive that reads from or writes to a removable, nonvolatile optical disk, such as a CD-ROM or other optical media.
  • removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM and the like.
  • a hard disk drive can be connected to the system bus 821 A through a non-removable memory interface such as an interface, and a magnetic disk drive or optical disk drive can be connected to the system bus 821 A by a removable memory interface, such as an interface.
  • a user can enter commands and information into the computer 81 OA through input devices such as a keyboard or a pointing device such as a mouse, trackball, touch pad, and/or other pointing device.
  • Other input devices can include a microphone, joystick, game pad, satellite dish, scanner, or similar devices.
  • These and/or other input devices can be connected to the processing unit 820A through user input 840A and associated interface(s) that are coupled to the system bus 821 A, but can be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB).
  • a graphics subsystem can also be connected to the system bus 821A.
  • a monitor or other type of display device can be connected to the system bus 821A through an interface, such as output interface 850A, which can in turn communicate with video memory.
  • computers can also include other peripheral output devices, such as speakers and/or printing devices, which can also be connected through output interface 850A.
  • the computer 81 OA can operate in a networked or distributed environment using logical connections to one or more other remote computers, such as remote server 870A, which can in turn have media capabilities different from device 81 OA.
  • the remote server 870A can be a personal computer, a server, a router, a network PC, a peer device or other common network node, and/or any other remote media consumption or transmission device, and can include any or all of the elements described above relative to the computer 81 OA.
  • the logical connections depicted in Fig. 9 include a network 871A, such as a local area network (LAN) or a wide area network (WAN), but can also include other networks/buses.
  • LAN local area network
  • WAN wide area network
  • the computer 81 OA When used in a LAN networking environment, the computer 81 OA is connected to the LAN 871 A through a network interface or adapter. When used in a WAN networking environment, the computer 81 OA can include a communications component, such as a modem, or other means for establishing communications over a WAN, such as the Internet. A communications component, such as a modem, which can be internal or external, can be connected to the system bus 821A through the user input interface at input 840A and/or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 81 OA, or portions thereof, can be stored in a remote memory storage device. It should be noted that the network connections shown and described are exemplary and other means of establishing a communications link between the computers can be used.
  • FIG 10 is a block diagram showing an exemplary embodiment of a network node, being an online charging communication mediator node, of the solution in the form of computing system environment 800B.
  • the computing system environment 800B is only one example of a suitable computing environment for an online charging system and is not intended to suggest any limitation as to the scope of use or functionality of the claimed subject matter. Further, the computing environment 800B is not intended to suggest any dependency or requirement relating to the claimed subject matter and any one or combination of components illustrated in the example operating environment 800B.
  • An example of a device for implementing the previously described innovation includes a general purpose computing device in the form of a computer 810B.
  • Components of computer 81 OB can include, but are not limited to, a processor or processing unit 820B, a system memory 830B, and a system bus 821 B that couples various system components including the system memory to the processing unit 820B.
  • the system bus 821 B can be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • Computer 81 OB can include a variety of computer readable media.
  • Computer readable media can be any available media that can be accessed by computer 81 OB.
  • Computer readable media can comprise computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile as well as removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, DVD or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 81 OB.
  • Communication media can embody computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and can include any suitable information delivery media.
  • the system memory 830B can include computer storage media in the form of volatile and/or nonvolatile memory such as ROM and/or RAM.
  • a BIOS containing the basic routines that help to transfer information between elements within computer 81 OB, such as during start-up, can be stored in memory 830B.
  • Memory 830B can also contain data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 820B.
  • memory 830B can also include an operating system, application programs, other program modules, and program data.
  • memory 830B can include files comprising attribute value pair rule configuration.
  • functions are implemented as software modules located in the memory of the computing system environment and executed by the processor.
  • the functions implemented as software modules comprise receiving of a response to a request for charging parameters from at least one of an account balance management function node and a rating function node, forwarding transparent data attribute value pairs directly to a charge trigger function node, comparing attribute value pairs received in the response with an adaptable attribute value pair rule configuration stored in the memory of the network node, enrichment and/or data manipulation of a content of an attribute value pair according to the adaptable attribute value pair rule configuration when a match is found in the step of comparing, assembling the enriched and/or data manipulated attribute value pairs into a manipulated response, and transmitting the 5 manipulated response from the network node, over the client interface.
  • the assembling is performed in dependence of the adaptable attribute value pair rule configuration.
  • the computer 81 OB can also include other removable/non-removable and io volatile/nonvolatile computer storage media.
  • computer 81 OB can include a hard disk drive that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive that reads from or writes to a removable, nonvolatile magnetic disk, and/or an optical disk drive that reads from or writes to a removable, nonvolatile optical disk, such as a CD-ROM or 15 other optical media.
  • removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM and the like.
  • a hard disk drive can be connected to the system bus 20 821 B through a non-removable memory interface such as an interface, and a magnetic disk drive or optical disk drive can be connected to the system bus 821 B by a removable memory interface, such as an interface.
  • a user can enter commands and information into the computer 81 OB through 25 input devices such as a keyboard or a pointing device such as a mouse, trackball, touch pad, and/or other pointing device.
  • Other input devices can include a microphone, joystick, game pad, satellite dish, scanner, or similar devices.
  • These and/or other input devices can be connected to the processing unit 820B through user input 840B and associated interface(s) that are coupled 30 to the system bus 821 B, but can be connected by other interface and bus structures, such as a parallel port, game port or a USB.
  • a graphics subsystem can also be connected to the system bus 821 B.
  • a monitor or other type of display device can be connected to the system bus 821 B through an interface, such as output interface 850B, which can in turn communicate with video memory.
  • computers can also include other peripheral output devices, such as speakers and/or printing devices, which can also be connected through output interface 850B.
  • the computer 81 OB can operate in a networked or distributed environment using logical connections to one or more other remote computers, such as remote server 870B, which can in turn have media capabilities different from device 81 OB.
  • the remote server 870B can be a personal computer, a server, a router, a network PC, a peer device or other common network node, and/or any other remote media consumption or transmission device, and can include any or all of the elements described above relative to the computer 81 OB.
  • the logical connections depicted in Fig. 10 include a network 871 B, such as a LAN or a WAN, but can also include other networks/buses.
  • the computer 810B When used in a LAN networking environment, the computer 810B is connected to the LAN 871 B through a network interface or adapter. When used in a WAN networking environment, the computer 810B can include a communications component, such as a modem, or other means for establishing communications over a WAN, such as the Internet.
  • a communications component such as a modem, which can be internal or external, can be connected to the system bus 821 B through the user input interface at input 840B and/or other appropriate mechanism.
  • FIG. 1 1 is a block diagram showing an exemplary embodiment of a network node, being a charge trigger function node, of the solution in the form of computing system environment 800C.
  • the computing system environment 800C is only one example of a suitable computing environment for an online charging system and is not intended to suggest any limitation as to the scope of use or functionality of the claimed subject matter. Further, the computing environment 800C is not intended to suggest any dependency or requirement relating to the claimed subject matter and any one or combination of components illustrated in the example operating environment 800C.
  • An example of a device for implementing the previously described innovation includes a general purpose computing device in the form of a computer 81 OC.
  • Components of computer 81 OC can include, but are not limited to, a processor or processing unit 820C, a system memory 830C, and a system bus 821 C that couples various system components including the system memory to the processing unit 820C.
  • the system bus 821 C can be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • Computer 81 OC can include a variety of computer readable media.
  • Computer readable media can be any available media that can be accessed by computer 81 OC.
  • Computer readable media can comprise computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile as well as removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, DVD or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 810C.
  • Communication media can embody computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and can include any suitable information delivery media.
  • the system memory 830C can include computer storage media in the form of volatile and/or nonvolatile memory such as ROM and/or RAM.
  • a BIOS containing the basic routines that help to transfer information between elements within computer 810C, such as during start-up, can be stored in memory 830C.
  • Memory 830C can also contain data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 820C.
  • memory 830C can also include an operating system, application programs, other program modules, and program data.
  • memory 830C can include files comprising an adaptable configuration.
  • functions are implemented as software modules located in the memory of the computing system environment and executed by the processor.
  • the functions implemented as software modules comprise receiving of a response to a request for charging parameters issued from at least one of an account balance management function node and a rating function node, and retrieving data concerning charging parameters from the response to a request for charging parameters issued from the at least one of an account balance management function node and a rating function node. The retrieving is performed in dependence of an adaptable configuration stored in the memory of the network node.
  • the computer 81 OC can also include other removable/non-removable and volatile/nonvolatile computer storage media.
  • computer 81 OC can include a hard disk drive that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive that reads from or writes to a removable, nonvolatile magnetic disk, and/or an optical disk drive that reads from or writes to a removable, nonvolatile optical disk, such as a CD-ROM or other optical media.
  • removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM and the like.
  • a hard disk drive can be connected to the system bus 821 C through a non-removable memory interface such as an interface, and a magnetic disk drive or optical disk drive can be connected to the system bus 821 C by a removable memory interface, such as an interface.
  • a user can enter commands and information into the computer 810C through input devices such as a keyboard or a pointing device such as a mouse, trackball, touch pad, and/or other pointing device.
  • Other input devices can include a microphone, joystick, game pad, satellite dish, scanner, or similar devices.
  • These and/or other input devices can be connected to the processing unit 820C through user input 840C and associated interface(s) that are coupled to the system bus 821 C, but can be connected by other interface and bus structures, such as a parallel port, game port or a USB.
  • a graphics subsystem can also be connected to the system bus 821 C.
  • a monitor or other type of display device can be connected to the system bus 821 C through an interface, such as output interface 850C, which can in turn communicate with video memory.
  • computers can also include other peripheral output devices, such as speakers and/or printing devices, which can also be connected through output interface 850C.
  • the computer 81 OC can operate in a networked or distributed environment using logical connections to one or more other remote computers, such as remote server 870C, which can in turn have media capabilities different from device 810C.
  • the remote server 870C can be a personal computer, a server, a router, a network PC, a peer device or other common network node, and/or any other remote media consumption or transmission device, and can include any or all of the elements described above relative to the computer 810C.
  • the logical connections depicted in Fig. 1 1 include a network 871 C, such as a LAN or WAN, but can also include other networks/buses.
  • the computer 810C When used in a LAN networking environment, the computer 810C is connected to the LAN 871 C through a network interface or adapter. When used in a WAN networking environment, the computer 810C can include a communications component, such as a modem, or other means for establishing communications over a WAN, such as the Internet.
  • a communications component such as a modem, which can be internal or external, can be connected to the system bus 821 C through the user input interface at input 840C and/or other appropriate mechanism.
  • program modules depicted relative to the computer 810C, or portions thereof, can be stored in a remote memory storage device. It should be noted that the network connections shown and described are exemplary and other means of establishing a communications link between the computers can be used.
  • Fig. 12 illustrates a block scheme of an embodiment of an account balance management function node/rating function node 20.
  • a diameter request for charging parameters is received over a client interface at an input 61 by a receiver 25.
  • a generator 30 connected to the receiver 25 generates first network node data concerning the charging parameters from databases available to the network node. These databases can e.g. be a subscriber database 21 of an account balance management function 23 or information from a database 27 of a rating function 24.
  • the generator 30 comprises in a particular embodiment a pre-analysis section 31 and a rating section 32 performing data generation according to what has been described further above. Parts of the rating analysis may be reused 36 for further analysis.
  • the generator is configured for performing the generation in dependence of information received over the client interface.
  • a populator 33 is connected to the generator 30 and is arranged for populating attribute value pairs with the first network node data. The populating is performed in dependence of an adaptable configuration 39 stored in a memory of the network node and in dependence of the information received over the client interface.
  • the populator 33 comprises a post-analysis section 34 according to the lines described further above.
  • the information received over the client interface comprises an identity of the client interface.
  • An assembler block 35 is connected to the populator 33 and in configured to assemble the attribute value pairs into a response to the request for charging parameters. The assembling may in a particular embodiment be performed in dependence of the adaptable configuration 39 of the network node.
  • a transmitter is connected to the assembling block 35 and is configured for transmitting the diameter response from the network node, over the client interface via an output 62.
  • Fig. 13 illustrates a block scheme of an embodiment of an online charging communication mediator node 40.
  • a diameter response to a request for charging parameters from a first network node is received by a receiver 41 over an input 62.
  • the first network node is at least one of an account balance management function node and a rating function node.
  • a comparator 43 is connected to the receiver 41 and performs an analysis of the received AVPs.
  • the transparent data attribute value pairs are prepared to be directly forwarded to a third network node, the charging trigger function node, when the charging trigger function node supports use of attribute value pairs.
  • the comparator 43 is further configured for comparing attribute value pairs received in the response with an adaptable attribute value pair rule configuration 49 stored in a memory of the network node 40. When a match is found in the comparison, the AVP is forwarded to an enricher 44, connected to the comparator 43.
  • the enricher 44 is configured for performing enrichment and/or data manipulation of a content of an attribute value pair according to the adaptable attribute value pair rule configuration 49.
  • the data treatment is made in an AVP engine 45, possibly in a iterative manner as indicated by the arrow 70.
  • the data treatment in the enricher 44 is typically making use of additional information in databases 71 in the network node 40 or available to the network node 40.
  • the enriched and/or data manipulated AVPs are then made available 48 to the assembling block 46.
  • the assembling block 46 is configured for assembling the enriched and/or data manipulated attribute value pairs into a manipulated response. The assembling is performed in dependence of the adaptable attribute value pair rule configuration 49.
  • a transmitter 42 is connected to the assembling block 46 and is configured for transmitting the manipulated response from the online charging communication mediator node 40, over the client interface via an output 63.
  • Fig. 14 illustrates a block scheme of an embodiment of a charging trigger function node 50.
  • a diameter response to a request for charging parameters is received by a receiver 53 over an input 64.
  • the request is originally issued by at least one of an account balance management function node and a rating function node.
  • a retriever 55 is connected to the receiver 53, and is configured for retrieving data concerning charging parameters from the response to a request for charging parameters. The retrieving is performed in dependence of an adaptable configuration 59 stored in the memory of the charging trigger function node 50.
  • the charging trigger function node 50 is a MSC 51
  • the extracted data can be included in a call detail record 56.
  • the charging trigger function node 50 typically also comprises a transmitter 54, by which an original request may be transmitted.
  • a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program and a computing device.
  • an application running on a computing device and the computing device can be components.
  • One or more components can reside within a process and/or thread of execution and a component can be localized on one computing device and/or distributed between two or more computing devices, and/or communicatively connected modules.
  • system user “user,” and similar terms are intended to refer to the person operating the computing device referenced above.
  • the terms “comprise”, “comprising”, “comprises”, “include”, “including”, “includes”, “have”, “has”, “having”, or variants thereof are open- ended, and include one or more stated features, integers, elements, steps, components or functions but does not preclude the presence or addition of one or more other features, integers, elements, steps, components, functions or groups thereof.
  • the common abbreviation “e.g.”, which derives from the Latin phrase “exempli gratia” may be used to introduce or specify a general example or examples of a previously mentioned item, and is not intended to be limiting of such item.
  • the common abbreviation “i.e.”, which derives from the Latin phrase “id est,” may be used to specify a particular item from a more general recitation.
  • a method for creating charging parameter responses comprising the steps of:
  • said first network node is at least one of an account balance management function node and a rating function node;
  • said populating being performed in dependence of an adaptable configuration of said first network node and in dependence of said information received over said client interface;
  • each said attribute value pairs is of a type individually selected from:
  • said second network node being an online charging function node and said third network node being a charge trigger function node.
  • step of generating first network node data comprises a rating step, in which rating

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method for creating charging parameter responses comprises receiving (210) a request for charging parameters in a first network node being at least one of an account balance management function node and a rating function node. First network node data concerning the charging parameters are generated (220) from a database available to the first network node. The generating is performed in dependence of information received over the client interface. Attribute value pairs are populated (230) with the first network node data. The populating is performed in dependence of an adaptable configuration of the first network node and in dependence of the information received over the client interface. The attribute value pairs are assembled (236) into a response to the request for charging parameters. The assembling is performed in dependence of the adaptable configuration of the first network node. The response is transmitted (238) from the first network node.

Description

METHOD AND APPARATUS FOR CHARGING PARAMETER
TRANSMISSION
TECHNICAL FIELD
The proposed technology generally relates to transmission of charging parameters in a communication network, and in particular to methods for creating, mediating and receiving charging parameter responses, and network nodes for performing such methods.
BACKGROUND
In communication networks of today, many activities are performed, which involve different kinds of economical consequences. Non-exclusive examples can be charges of calls or data traffic, charges for downloaded files or charges for externally agreed items. Therefore, most communication networks are today equipped with online charging systems. The Diameter protocol is one often used protocol for handling charging. The Diameter protocols are based on the use of at least one Attribute Value Pair (AVP), through which selected information can be distributed. In many cases, charging clients are charged according to different policies and ratings. Such policies and ratings are typically available in nodes such as an Account Balance Management Function (ABMF) Node or a Rating Function (RF) Node. The charging is often made automatically to different accounts of the communication network operator, typically available in an ABMF node.
However, today it is not possible to send any desired part of the available account/policy/rating related data from ABMF and RF to the charging clients. Support for new parameters, e.g. AVPs, need to be developed and implemented in all part of the system, e.g. the ABMF, RF, a Charging Trigger Function (CTF) node or an online charging communication mediator node, to be able to send them from the ABMF and RF to the charging clients. The handling of data and parameters is thereby very static.
In particular it is not possible to provide additional data to charging clients without a lot of expensive code changes in all parts of the system. Before any changes in the provided data can be available, coding of nodes comprising the ABMF, the RF, the CTF and the online charging communication mediator has to be performed and implemented in all parts of the system. Such modifications are costly, and take a lot of time. Furthermore, in many cases, such modifications also involve changes in different standards, which further slow down the process.
SUMMARY It is an object to provide functionalities and nodes that in a flexible way can provide additional data to charging clients without a lot of complex, expensive and time consuming code changes.
This and other objects are met by embodiments of the proposed technology as defined by the enclosed independent patent claims. Preferred embodiments are defined by the dependent claims. In general words, according to a first aspect, a method for creating charging parameter responses comprises receiving, in a first network node, over a client interface, of a request for charging parameters. The first network node is at least one of an account balance management function node and a rating function node. First network node data concerning the charging parameters are generated from at least one database available to the first network node. The generating is performed in dependence of information received over the client interface. Attribute value pairs are populated with the first network node data. The populating is performed in dependence of an adaptable configuration of the first network node and in dependence of the information received over said client interface. The attribute value pairs are assembling into a response to the request for charging parameters. The response is transmitted from the first network node, over the client interface.
According to a second aspect, a method for mediating charging parameter responses comprises receiving, in a second network node, of a response to a request for charging parameters from a first network node. The second network node is an online charging communication mediator node and the first network node is at least one of an account balance management function node and a rating function node. Transparent data attribute value pairs are forwarded directly to a third network node. The third network node is a charge trigger function node. Special function attribute value pairs received in the response are compared with an adaptable attribute value pair rule configuration. Enrichment and/or data manipulation of a content of an attribute value pair is performed according to the adaptable attribute value pair rule configuration when a match is found in the comparison. The enriched and/or data manipulated attribute value pairs are assembled into a manipulated response. The assembling is performed in dependence of the adaptable attribute value pair rule configuration. The manipulated response is transmitted from the second network node, over the client interface.
According to a third aspect, a method for receiving charging parameter responses comprises receiving, in a third network node, of a response to a request for charging parameters issued from a first network node. The third network node is a charge trigger function node. The first network node is at least one of an account balance management function node and a rating function node. Data concerning charging parameters are retrieved from the response to a request for charging parameters issued from the first network node. The retrieving is performed in dependence of an adaptable configuration of the third network node.
According to a fourth aspect, a network node comprises a processor and memory. The network node is at least one of an account balance management function node and a rating function node. The memory contains instructions executable by the processor whereby the communication network node is operative to receive, over a client interface, a request for charging parameters, to generate first network node data concerning the charging parameters from databases available to the first network node, to populate attribute value pairs with the first network node data, to assemble the attribute value pairs into a response to the request for charging parameters, and to transmit the response from the first network node, over the client interface. The generating is performed in dependence of information received over the client interface. The populating is performed in dependence of an adaptable configuration stored in the memory of the network node and in dependence of the information received over the client interface.
According to a fifth aspect, an online charging communication mediator node comprises a processor and memory. The memory contains instructions executable by the processor whereby the communication network node is operative to receive a response to a request for charging parameters from at least one of an account balance management function node and a rating function node, to forward transparent data attribute value pairs directly to a charge trigger function node, to compare attribute value pairs received in the response with an adaptable attribute value pair rule configuration stored in the memory of the network node, to perform enrichment and/or data manipulation of a content of an attribute value pair according to the adaptable attribute value pair rule configuration when a match is found in the comparison, to assemble the enriched and/or data manipulated attribute value pairs into a manipulated response, and to transmit the manipulated response from the online charging communication mediator node, over said client interface. The assembling is performed in dependence of the adaptable attribute value pair rule configuration.
According to a sixth aspect, a charge trigger function node comprises a processor and memory. The memory contains instructions executable by the processor whereby the communication network node is operative to receive a response to a request for charging parameters issued from at least one of an account balance management function node and a rating function node, and to retrieving data concerning charging parameters from the response to a request for charging parameters issued from the at least one of an account balance management function node and a rating function node. The retrieving is performed in dependence of an adaptable configuration stored in the memory of the charge trigger function node. Embodiments of the proposed technology will make it possible to, in run-time, add additional ABMF/RF data to the charging clients, without doing any code changes. It will also provide a framework that makes is easy to extend or modify the data on any charging client interface. Other advantages will be appreciated when reading the detailed description.
BRIEF DESCRIPTION OF THE DRAWINGS
The embodiments, together with further objects and advantages thereof, may best be understood by making reference to the following description taken together with the accompanying drawings, in which:
FIG. 1 is a schematic block scheme of nodes involved with charging in a communication system;
FIG. 2 is a flow diagram of steps of an embodiment of a method for creating charging parameter responses;
FIG. 3 is a part flow diagram of an embodiment of step 220 of Fig. 2; FIG. 4 is a part flow diagram of an embodiment of step 230 of Fig. 2; FIG. 5 illustrates mapping of data into AVPs;
FIG. 6 is a flow diagram of steps of an embodiment of a method for mediating charging parameter responses;
FIG. 7 is a flow diagram of steps of an embodiment of a method for receiving charging parameter responses; FIG. 8 is a schematic block scheme of an embodiment of nodes involved with charging in a communication system;
FIG. 9 is a schematic block scheme of an embodiment of a computing environment for an ABMF/RF node;
FIG. 10 is a schematic block scheme of an embodiment of a computing environment for a charging communication mediator node;
FIG. 1 1 is a schematic block scheme of an embodiment of a computing environment for a charging trigger function node;
FIG. 12 is a schematic block scheme of an embodiment of an ABMF/RF node;
FIG. 13 is a schematic block scheme of an embodiment of a charging communication mediator node; and
FIG. 14 is a schematic block scheme of an embodiment of a charging trigger function node.
DETAILED DESCRIPTION
The following detailed description of the exemplary embodiments refers to the accompanying drawings. The same reference numbers in different drawings identify the same or similar elements.
Today it is not possible to define which ABMF and RF data to be made available to the charging clients or CTF on the charging interfaces. Such a system is schematically illustrated in Fig. 1. A charging system 10 comprises an account balance management function node and/or rating function node 20, which is coded to handle defined AVPs. Selected information is sent in defined AVPs using the Diameter protocol to an online charging communication mediator node 40, which also is coded to handle defined AVPs. The online charging communication mediator node 40 sends information to Diameter clients 51 of a charging trigger function node 50 by use of only defined AVPs, e.g. according to the Gy, Gx, Sy, SCAPv2 or Esy protocols. Similarly, the online charging communication mediator node 40 sends information to SS7 clients 52 of a charging trigger function node 50 by use of only defined parameters, e.g. according to the CAPvl , CAPv2, CAPv3 or CS1 + protocols. The system available today is obviously very static and any new data needed by a charging client requires code change in the related products.
It is desired that any available information in ABMF and RF shall be possible to send on any of the charging interfaces, in a suitable format, without violating any standards. The solution may be dependent on functionalities in four parts of the system; ABMF, RF, online charging communication mediator and CTF. The parts in ABMF and RF are functionalities that make it possible to output any data over a flexible interface. ABMF and RF are in this solution combined into one common functional entity, referred to as ABMF/RF. It also contains functionalities that assemble the AVPs from RF and ABMF into one response to the online charging communication mediator.
Fig. 2 illustrates a flow diagram of steps of an embodiment of a method for creating charging parameter responses. The process starts in step 200. In step 210, a request for charging parameters is received in a first network node, over a client interface. The first network node is at least one of an account balance management function node and a rating function node. In step 220, first network node data concerning the charging parameters is generated from at least one database available to the first network node, e.g. a subscriber database in the account balance management function node or databases in the rating function node. The generation is performed in dependence of information received over the client interface. In a particular embodiment, the information received over the client interface comprises an identity of the client interface. Attribute value pairs are in step 230 populated with the first network node data. The populating is performed in dependence of an adaptable configuration of the first network node and in further dependence of the information received over the client interface the client interface. In step 236, the attribute value pairs are assembled into a response to the request for charging parameters. The assembling may in a particular embodiment be performed in dependence of the adaptable configuration of the first network node. Finally, in step 238, the response from the first network node is transmitted over the client interface. The process ends in step 299. In other words, functionality is added to ABMF/RF that makes it possible to copy any type of information into a certain AVP. The information could come from the subscriber ABMF or from the RF. The subscriber account data is fetched from the subscriber account database. The rating data is typically defined using condition or modifier in the selection trees. The mapping of information to an AVP is done in run-time. The run-time configuration is needed for a flexible solution. The ABMF/RF knows which interface that the charging request is received on, and that information is used when defining if a certain AVP shall be populated or not. Fig. 3 illustrates one particular embodiment of the step 220 of generating data concerning charging parameters. First, a pre-analysis step 222 is performed. In the pre-analysis, information received over the client interface, e.g. the ID of the client interface, is used to determine which interface or context that is used by the charging client. The information received over the client interface is then used in selection trees, to decide if a certain AVP shall be populated and provided in the response or not. In other words, it is determined which types of data, i.e. what attributes, should be available to be transmitted. Data from the request is typically also populated in the needed response parameters. In other words, in the pre-analysis step it is decided if a certain attribute value pair shall be used in the response. After the pre-analysis step 222, a rating step 224 is performed. In the rating, information received over the client interface, e.g. client interface ID, is used to decide if a certain AVP shall be populated for a particular charging client interface. The populating comprises determination of which attributes that should be included in the response. As in contrary to prior art systems, not only data values for predetermined attributes are determined, but actually which attributes should be included for a specific client in a specific situation. Rating parameters and values to be provided in the response are thus decided and typically stored in temporary variables. The rating parameters are dependent on tree logic and different places in the trees will provide/generate different data. Typical parameters are data that are generated and calculated during rating. AVP data provided in this section comes mainly from the RF part of the ABMF/RF. In other words, parameters and values to be provided in the response are decided and stored in temporary variables, for use in the step 330 (Fig. 2) of populating attribute value pairs. Fig. 4 illustrates one particular embodiment of the step 230 of populating AVP with data in dependence of configuration. A post-analysis step 232 is performed. In the post-analysis, information received over the client interface is used to decide if any temporary variables shall be copied to an AVP. Information received over the client interface is used to decide if subscriber account data shall be fetched from the subscriber account database (of the ABMF) and stored in AVPs. In other words, in the post-analysis step data of the temporary variables and/or data from a subscriber account database is copied into the attribute value pairs. In a particular embodiment, the post-analysis step 232 comprises a step 234, in which data concerning charging parameters of the ABMF/RF data are mapped towards different AVPs according to a configuration. In other words, the step of populating attribute value pairs comprises a mapping of the temporary variables and/or the data from a subscriber account database towards different attribute value pairs according to the adaptable configuration.
Fig. 5 illustrates schematically an illustrative example of the ABMF/RF functional flow and describes how the AVPs are populated in the ABMF/RF. In this particular example, items from a subscriber database 21 of the account balance management function are mapped to AVP-1 and AVP-5, respectively. Also, items of a database of a tree logic 22 of a rating function are mapped to AVP-2, AVP-3, AVP-4 and AVP-6, respectively. The response including all AVPs is then assembled, c.f. step 236 of Fig. 2.
In a typical charging system, see e.g. Fig. 1 , there is one node, the account balance management function node and/or rating function node, in which the AVPs are originally created. The AVPs are sent to the charging trigger function node 50, typically via the online charging communication mediator node 40. In one embodiment of the proposed technology, the used AVPs are of two different kinds.
In a transparent data attribute value pair, data that is intended to be transmitted transparently directly to a charge trigger function node is included. Such data does not benefit from any additional information available along the path the AVP is transported, e.g. in the online charging communication mediator node. It is therefore not necessary for e.g. the online charging communication mediator node to verify the content, whereby the AVP may be forwarded without any modifications. In other words, the "Transparent Transport" action is used when an AVP transparently, without modification, is transported to the charging client. The AVP can contain any kind of data, both defined as well as undefined AVPs. This means that the data in an AVP does not necessarily need to be known in the intermediate nodes. The transparency of the AVP can be configured by setting the "M" bit of the AVP to "0". In one embodiment, the transparent data attribute value pair is put in the *AVP. In a special function attribute value pair, data that is intended to be manipulated or enriched in an online charging communication mediator node. A definition of what the online charging communication mediator node is intended to do with the data of the special function attribute value pair is defined in an attribute value pair rule configuration. This will be discussed more in detail further below. However, for the account balance management function node and/or rating function node, it is only necessary to be configured to provide the suitable original data in the AVP, and to define the AVP as a special function AVP. In one embodiment, the special function AVPs are included in a subscriber-information AVP, possibly together with a *AVP in turn comprising transparent AVPs. One exemplifying embodiment of a set of AVPs according the proposed technology is presented here below. This particular embodiment contains a ABMF/RF Diameter Response format and AVP definition for two "special functions", A and B. Subscriber-Information ::= <AVP Header: 1 189, Vendor Id: yyy >
[Special-Function-A]
[Special-Function-B]
[*AVP] Special-Function-A ::= <AVP Header: cccccc , Vendor Id: yyy > [AVP-a]
[AVP-b]
[AVP-c]
[AVP-d]
Special-Function-B ::= <AVP Header: dddddd , Vendor Id: yyy >
[AVP-a]
[AVP-e]
[AVP-f]
The ABMF/RF Diameter Response example below contains data for the two "special functions", A and B. The "Any AVP" part can contain any data that will be transparently sent through any intermediate node. The "Any AVP" is only configured in the ABMF/RF and in the charge trigger function node. The AVPs are defined, the logic is configured and the data is created in ABMF/RF. The AVPs are read and used in the charge trigger function node. "Any AVP"
Subscriber-Information
Special-Function-A
AVP-a
AVP-b
AVP-c
AVP-d
Special-Function-B
AVP-a
AVP-e
AVP-f
In a particular embodiment, a certain operator has requested to be able to provide additional charging information in the form of a chargeable utilization quota and a price per MB. The price per MB is dependent on a rating group of the charging client. To that end, the ABMF/RF includes the data defining the chargeable utilization quota in a special function AVP. The online charging communication mediator part comprises an AVP engine that decides what to do with AVPs received in the diameter response from ABMF/RF. The online charging communication mediator has an AVP engine that is used to map AVPs to different actions.
In one embodiment, the "Transparent Transport" action is used when an AVP transparently, without modification, is transported to the charging client. The AVP can contain any kind of data, both defined as well as undefined AVPs. This means that the data in an AVP does not necessarily need to be known in the online charging communication mediator. The "Special Function" action is used when the online charging communication mediator needs to enrich or modify the AVP. Examples will be given further below. The existing, already defined, AVPs are not impacted in this solution. Fig. 6 illustrates a flow diagram of steps of an embodiment of a method for mediating charging parameter responses. The process starts in step 200. In step 240, a response to a request for charging parameters from a first network node is received in a second network node. The second network node is an online charging communication mediator node. The first network node is at least one of an account balance management function node and a rating function node. In step 242, a first AVP in the response to a request for charging parameters is considered. In step 244, it is determined if the presently considered AVP is a transparent AVP. If the determination in step 244, finds that the presently considered AVP is a transparent AVP, the flow continues to step 248, in which the AVP is left to be forwarded. In other words, steps 244 and 248 together forward transparent data attribute value pairs directly to a third network node, where the third network node is a charge trigger function node. If the presently considered AVP in step 244 is not a transparent AVP, the AVP is either a special function AVP or another unknown or standard AVP, and the flow continues to step 245. In step 245, a normal syntax control, value control etc. of the AVP is performed, before the flow continues to step 246. In step 246, the possible special function attribute value pair received in the response is compared with an adaptable attribute value pair rule configuration available in the online charging communication mediator node. If there is no corresponding attribute value pair rule, the present AVP is an unknown AVP or standard AVP, which can be forwarded without further actions, and the flow thereby continues to step 248. If the comparison in step 246 finds a match with an AVP rule, the flow continues to step 250, in which enrichment and/or data manipulation of a content of an attribute value pair according to the adaptable attribute value pair rule configuration is performed. The flow continues from steps 248 or 250 to step 252, in which it is determined whether the present AVP was the last AVP of the received response to a request for charging parameters. If there are further AVPs, the flow continues to step 254, where a next AVP is considered. The flow then continues from step 244 again. If the present AVP was the last one in the received response to a request for charging parameters, the flow continues to step 256, in which the enriched and/or data manipulated attribute value pairs together with any transparent AVPs are assembled into a manipulated response. This assembling is performed in dependence of the adaptable attribute value pair rule configuration. In step 258, the manipulated response is transmitted from the second network node, over the client interface. The process ends in step 299.
In one embodiment, the AVPs according to the response to a request for charging parameters are contained in a Subscriber-Information AVP. In a first step in the online charging communication mediator node, the subscriber- Information AVP is read and the therein involved AVPs are defined. In a second steps, the received AVPs are compared with an AVP rule configuration. "Special function" actions are performed for "special function" AVPs. The special functions AVPs are correlated towards the AVP engine configuration. All matched results will trigger an action. The action could be any kind of data manipulation or enrichment. This is repeated until all matches have been found. In a third step, a response to the charging client is assembled. The results from all actions are thereby placed in the response to the charging client.
The particular AVP rule engine configuration example below has two special functions A and B. They are triggered by Special-Function-A AVP and Special- Function-B AVP. The special functions can use any AVP data when composing an answer to the charging client. The transparent data can contain several AVPs, and they are sent transparently to the charging client when/if they are received from the ABMF/RF.
AVP Action
Transparent Data Transparent Transport of included AVPs
Special-Function-A Run special function A functionality
Special-Function-B Run special function B functionality For example the data in an AVP could be copied into the CAPv2 Furnished Charging Information (FCI) message, so that the information will be made available in the Mobile Switching Center (MSC) Call Detail Record (CDR). Another example could be that a number of AVPs will be enriched and assembled into one AVP that is transported to a Gateway GPRS Support Node (GGSN) into a Gy response.
The charging client has functionalities that can make use of the additional parameters. Fig. 6 illustrates a flow diagram of steps of an embodiment of a method for receiving charging parameter responses. The process starts in step 200. In step 280, a response to a request for charging parameters issued from a first network node is received in a third network node. The third network node is a charge trigger function node. The first network node is at least one of an account balance management function node and a rating function node. In step 282, data concerning charging parameters is retrieved from the response to a request for charging parameters issued from the first network node. The retrieving is performed in dependence of an adaptable configuration of the third network node. The process ends in step 299. CTF are the charging clients that receive the new AVPs.
Figure 8 illustrates a block scheme of an embodiment of a charging system 10. The charging system 10 comprises an account balance management function node and/or rating function node 20, which is coded to handle new AVPs according to the stored configuration. Selected information is sent in new AVPs using the Diameter protocol to an online charging communication mediator node 40, which also is coded to handle new AVPs according to the stored configuration. The online charging communication mediator node 40 sends information to Diameter clients 51 of a charging trigger function node 50 by use of new AVPs, e.g. according to the Gy, Gx, Sy, SCAPv2 or Esy protocols. Similarly, the online charging communication mediator node 40 sends information to SS7 clients 52 of a charging trigger function node 50 by use of parameters populated with data from new AVPs, e.g. according to the CAPvl , CAPv2, CAPv3 or CS1 + protocols. The system available according to these lines is obviously very dynamic and any new data needed by a charging client only requires configuration changes in limited number of products.
Figure 9 is a block diagram showing an exemplary embodiment of a network node, being at least one of an account balance management function node and a rating function node, of the solution in the form of computing system environment 800A. Although as made clear above, the computing system environment 800A is only one example of a suitable computing environment for an online charging system and is not intended to suggest any limitation as to the scope of use or functionality of the claimed subject matter. Further, the computing environment 800A is not intended to suggest any dependency or requirement relating to the claimed subject matter and any one or combination of components illustrated in the example operating environment 800A.
An example of a device for implementing the previously described innovation includes a general purpose computing device in the form of a computer 81 OA. Components of computer 81 OA can include, but are not limited to, a processor or processing unit 820A, a system memory 830A, and a system bus 821 A that couples various system components including the system memory to the processing unit 820A. The system bus 821 A can be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
Computer 81 OA can include a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 81 OA. By way of example, and not limitation, computer readable media can comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile as well as removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), flash memory or other memory technology, Compact Disc ROM (CDROM), digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 81 OA. Communication media can embody computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and can include any suitable information delivery media.
The system memory 830A can include computer storage media in the form of volatile and/or nonvolatile memory such as ROM and/or RAM. A basic input/output system (BIOS), containing the basic routines that help to transfer information between elements within computer 81 OA, such as during start-up, can be stored in memory 830A. Memory 830A can also contain data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 820A. By way of non-limiting example, memory 830A can also include an operating system, application programs, other program modules, and program data. By way of non-limiting example, memory 830A can include at least one database comprising charging parameters. By way of non-limiting example, memory 830A can include a file of an adaptable configuration of the network node.
In embodiments of the solution, functions are implemented as software modules located in the memory of the computing system environment and executed by the processor. In a particular embodiment, the functions implemented as software modules comprise receiving, over a client interface, of a request for charging parameters, generating of network node data concerning the charging parameters from at least one database available to the network node, populating attribute value pairs with the network node data, assembling the attribute value pairs into a response to the request for charging parameters and transmitting the response from the network node, over the client interface. The generating is performed in dependence of information received over the client interface. The populating is performed in dependence of an adaptable configuration stored in the memory of the network node and in dependence of the information received over the client interface. In a particular embodiment, the information received over the client interface comprises an identity of the client interface. The assembling may in a particular embodiment be performed in dependence of the adaptable configuration of the network node.
The computer 81 OA can also include other removable/non-removable and volatile/nonvolatile computer storage media. For example, computer 81 OA can include a hard disk drive that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive that reads from or writes to a removable, nonvolatile magnetic disk, and/or an optical disk drive that reads from or writes to a removable, nonvolatile optical disk, such as a CD-ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM and the like. A hard disk drive can be connected to the system bus 821 A through a non-removable memory interface such as an interface, and a magnetic disk drive or optical disk drive can be connected to the system bus 821 A by a removable memory interface, such as an interface.
A user can enter commands and information into the computer 81 OA through input devices such as a keyboard or a pointing device such as a mouse, trackball, touch pad, and/or other pointing device. Other input devices can include a microphone, joystick, game pad, satellite dish, scanner, or similar devices. These and/or other input devices can be connected to the processing unit 820A through user input 840A and associated interface(s) that are coupled to the system bus 821 A, but can be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A graphics subsystem can also be connected to the system bus 821A. In addition, a monitor or other type of display device can be connected to the system bus 821A through an interface, such as output interface 850A, which can in turn communicate with video memory. In addition to a monitor, computers can also include other peripheral output devices, such as speakers and/or printing devices, which can also be connected through output interface 850A.
The computer 81 OA can operate in a networked or distributed environment using logical connections to one or more other remote computers, such as remote server 870A, which can in turn have media capabilities different from device 81 OA. The remote server 870A can be a personal computer, a server, a router, a network PC, a peer device or other common network node, and/or any other remote media consumption or transmission device, and can include any or all of the elements described above relative to the computer 81 OA. The logical connections depicted in Fig. 9 include a network 871A, such as a local area network (LAN) or a wide area network (WAN), but can also include other networks/buses.
When used in a LAN networking environment, the computer 81 OA is connected to the LAN 871 A through a network interface or adapter. When used in a WAN networking environment, the computer 81 OA can include a communications component, such as a modem, or other means for establishing communications over a WAN, such as the Internet. A communications component, such as a modem, which can be internal or external, can be connected to the system bus 821A through the user input interface at input 840A and/or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 81 OA, or portions thereof, can be stored in a remote memory storage device. It should be noted that the network connections shown and described are exemplary and other means of establishing a communications link between the computers can be used.
Figure 10 is a block diagram showing an exemplary embodiment of a network node, being an online charging communication mediator node, of the solution in the form of computing system environment 800B. Although as made clear above, the computing system environment 800B is only one example of a suitable computing environment for an online charging system and is not intended to suggest any limitation as to the scope of use or functionality of the claimed subject matter. Further, the computing environment 800B is not intended to suggest any dependency or requirement relating to the claimed subject matter and any one or combination of components illustrated in the example operating environment 800B.
An example of a device for implementing the previously described innovation includes a general purpose computing device in the form of a computer 810B. Components of computer 81 OB can include, but are not limited to, a processor or processing unit 820B, a system memory 830B, and a system bus 821 B that couples various system components including the system memory to the processing unit 820B. The system bus 821 B can be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
Computer 81 OB can include a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 81 OB. By way of example, and not limitation, computer readable media can comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile as well as removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, DVD or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 81 OB. Communication media can embody computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and can include any suitable information delivery media.
The system memory 830B can include computer storage media in the form of volatile and/or nonvolatile memory such as ROM and/or RAM. A BIOS, containing the basic routines that help to transfer information between elements within computer 81 OB, such as during start-up, can be stored in memory 830B. Memory 830B can also contain data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 820B. By way of non-limiting example, memory 830B can also include an operating system, application programs, other program modules, and program data. By way of non-limiting example, memory 830B can include files comprising attribute value pair rule configuration.
In embodiments of the solution, functions are implemented as software modules located in the memory of the computing system environment and executed by the processor. In a particular embodiment, the functions implemented as software modules comprise receiving of a response to a request for charging parameters from at least one of an account balance management function node and a rating function node, forwarding transparent data attribute value pairs directly to a charge trigger function node, comparing attribute value pairs received in the response with an adaptable attribute value pair rule configuration stored in the memory of the network node, enrichment and/or data manipulation of a content of an attribute value pair according to the adaptable attribute value pair rule configuration when a match is found in the step of comparing, assembling the enriched and/or data manipulated attribute value pairs into a manipulated response, and transmitting the 5 manipulated response from the network node, over the client interface. The assembling is performed in dependence of the adaptable attribute value pair rule configuration.
The computer 81 OB can also include other removable/non-removable and io volatile/nonvolatile computer storage media. For example, computer 81 OB can include a hard disk drive that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive that reads from or writes to a removable, nonvolatile magnetic disk, and/or an optical disk drive that reads from or writes to a removable, nonvolatile optical disk, such as a CD-ROM or 15 other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM and the like. A hard disk drive can be connected to the system bus 20 821 B through a non-removable memory interface such as an interface, and a magnetic disk drive or optical disk drive can be connected to the system bus 821 B by a removable memory interface, such as an interface.
A user can enter commands and information into the computer 81 OB through 25 input devices such as a keyboard or a pointing device such as a mouse, trackball, touch pad, and/or other pointing device. Other input devices can include a microphone, joystick, game pad, satellite dish, scanner, or similar devices. These and/or other input devices can be connected to the processing unit 820B through user input 840B and associated interface(s) that are coupled 30 to the system bus 821 B, but can be connected by other interface and bus structures, such as a parallel port, game port or a USB. A graphics subsystem can also be connected to the system bus 821 B. In addition, a monitor or other type of display device can be connected to the system bus 821 B through an interface, such as output interface 850B, which can in turn communicate with video memory. In addition to a monitor, computers can also include other peripheral output devices, such as speakers and/or printing devices, which can also be connected through output interface 850B.
The computer 81 OB can operate in a networked or distributed environment using logical connections to one or more other remote computers, such as remote server 870B, which can in turn have media capabilities different from device 81 OB. The remote server 870B can be a personal computer, a server, a router, a network PC, a peer device or other common network node, and/or any other remote media consumption or transmission device, and can include any or all of the elements described above relative to the computer 81 OB. The logical connections depicted in Fig. 10 include a network 871 B, such as a LAN or a WAN, but can also include other networks/buses.
When used in a LAN networking environment, the computer 810B is connected to the LAN 871 B through a network interface or adapter. When used in a WAN networking environment, the computer 810B can include a communications component, such as a modem, or other means for establishing communications over a WAN, such as the Internet. A communications component, such as a modem, which can be internal or external, can be connected to the system bus 821 B through the user input interface at input 840B and/or other appropriate mechanism.
In a networked environment, program modules depicted relative to the computer 810B, or portions thereof, can be stored in a remote memory storage device. It should be noted that the network connections shown and described are exemplary and other means of establishing a communications link between the computers can be used. Figure 1 1 is a block diagram showing an exemplary embodiment of a network node, being a charge trigger function node, of the solution in the form of computing system environment 800C. Although as made clear above, the computing system environment 800C is only one example of a suitable computing environment for an online charging system and is not intended to suggest any limitation as to the scope of use or functionality of the claimed subject matter. Further, the computing environment 800C is not intended to suggest any dependency or requirement relating to the claimed subject matter and any one or combination of components illustrated in the example operating environment 800C.
An example of a device for implementing the previously described innovation includes a general purpose computing device in the form of a computer 81 OC. Components of computer 81 OC can include, but are not limited to, a processor or processing unit 820C, a system memory 830C, and a system bus 821 C that couples various system components including the system memory to the processing unit 820C. The system bus 821 C can be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
Computer 81 OC can include a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 81 OC. By way of example, and not limitation, computer readable media can comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile as well as removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, DVD or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 810C. Communication media can embody computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and can include any suitable information delivery media.
The system memory 830C can include computer storage media in the form of volatile and/or nonvolatile memory such as ROM and/or RAM. A BIOS, containing the basic routines that help to transfer information between elements within computer 810C, such as during start-up, can be stored in memory 830C. Memory 830C can also contain data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 820C. By way of non-limiting example, memory 830C can also include an operating system, application programs, other program modules, and program data. By way of non-limiting example, memory 830C can include files comprising an adaptable configuration.
In embodiments of the solution, functions are implemented as software modules located in the memory of the computing system environment and executed by the processor. In a particular embodiment, the functions implemented as software modules comprise receiving of a response to a request for charging parameters issued from at least one of an account balance management function node and a rating function node, and retrieving data concerning charging parameters from the response to a request for charging parameters issued from the at least one of an account balance management function node and a rating function node. The retrieving is performed in dependence of an adaptable configuration stored in the memory of the network node.
The computer 81 OC can also include other removable/non-removable and volatile/nonvolatile computer storage media. For example, computer 81 OC can include a hard disk drive that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive that reads from or writes to a removable, nonvolatile magnetic disk, and/or an optical disk drive that reads from or writes to a removable, nonvolatile optical disk, such as a CD-ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM and the like. A hard disk drive can be connected to the system bus 821 C through a non-removable memory interface such as an interface, and a magnetic disk drive or optical disk drive can be connected to the system bus 821 C by a removable memory interface, such as an interface.
A user can enter commands and information into the computer 810C through input devices such as a keyboard or a pointing device such as a mouse, trackball, touch pad, and/or other pointing device. Other input devices can include a microphone, joystick, game pad, satellite dish, scanner, or similar devices. These and/or other input devices can be connected to the processing unit 820C through user input 840C and associated interface(s) that are coupled to the system bus 821 C, but can be connected by other interface and bus structures, such as a parallel port, game port or a USB.
A graphics subsystem can also be connected to the system bus 821 C. In addition, a monitor or other type of display device can be connected to the system bus 821 C through an interface, such as output interface 850C, which can in turn communicate with video memory. In addition to a monitor, computers can also include other peripheral output devices, such as speakers and/or printing devices, which can also be connected through output interface 850C.
The computer 81 OC can operate in a networked or distributed environment using logical connections to one or more other remote computers, such as remote server 870C, which can in turn have media capabilities different from device 810C. The remote server 870C can be a personal computer, a server, a router, a network PC, a peer device or other common network node, and/or any other remote media consumption or transmission device, and can include any or all of the elements described above relative to the computer 810C. The logical connections depicted in Fig. 1 1 include a network 871 C, such as a LAN or WAN, but can also include other networks/buses.
When used in a LAN networking environment, the computer 810C is connected to the LAN 871 C through a network interface or adapter. When used in a WAN networking environment, the computer 810C can include a communications component, such as a modem, or other means for establishing communications over a WAN, such as the Internet. A communications component, such as a modem, which can be internal or external, can be connected to the system bus 821 C through the user input interface at input 840C and/or other appropriate mechanism.
In a networked environment, program modules depicted relative to the computer 810C, or portions thereof, can be stored in a remote memory storage device. It should be noted that the network connections shown and described are exemplary and other means of establishing a communications link between the computers can be used.
Fig. 12 illustrates a block scheme of an embodiment of an account balance management function node/rating function node 20. A diameter request for charging parameters is received over a client interface at an input 61 by a receiver 25. A generator 30 connected to the receiver 25 generates first network node data concerning the charging parameters from databases available to the network node. These databases can e.g. be a subscriber database 21 of an account balance management function 23 or information from a database 27 of a rating function 24. The generator 30 comprises in a particular embodiment a pre-analysis section 31 and a rating section 32 performing data generation according to what has been described further above. Parts of the rating analysis may be reused 36 for further analysis. The generator is configured for performing the generation in dependence of information received over the client interface. A populator 33 is connected to the generator 30 and is arranged for populating attribute value pairs with the first network node data. The populating is performed in dependence of an adaptable configuration 39 stored in a memory of the network node and in dependence of the information received over the client interface. In a particular embodiment, the populator 33 comprises a post-analysis section 34 according to the lines described further above. In a particular embodiment, the information received over the client interface comprises an identity of the client interface. An assembler block 35 is connected to the populator 33 and in configured to assemble the attribute value pairs into a response to the request for charging parameters. The assembling may in a particular embodiment be performed in dependence of the adaptable configuration 39 of the network node. A transmitter is connected to the assembling block 35 and is configured for transmitting the diameter response from the network node, over the client interface via an output 62. Fig. 13 illustrates a block scheme of an embodiment of an online charging communication mediator node 40. A diameter response to a request for charging parameters from a first network node is received by a receiver 41 over an input 62. The first network node is at least one of an account balance management function node and a rating function node. A comparator 43 is connected to the receiver 41 and performs an analysis of the received AVPs. When an AVP is found to be a transparent data AVP, the transparent data attribute value pairs are prepared to be directly forwarded to a third network node, the charging trigger function node, when the charging trigger function node supports use of attribute value pairs. This is performed by making the AVP available 47 to an assembling block 46, described further below. The comparator 43 is further configured for comparing attribute value pairs received in the response with an adaptable attribute value pair rule configuration 49 stored in a memory of the network node 40. When a match is found in the comparison, the AVP is forwarded to an enricher 44, connected to the comparator 43. The enricher 44 is configured for performing enrichment and/or data manipulation of a content of an attribute value pair according to the adaptable attribute value pair rule configuration 49. In a particular embodiment, the data treatment is made in an AVP engine 45, possibly in a iterative manner as indicated by the arrow 70. The data treatment in the enricher 44 is typically making use of additional information in databases 71 in the network node 40 or available to the network node 40. The enriched and/or data manipulated AVPs are then made available 48 to the assembling block 46. The assembling block 46 is configured for assembling the enriched and/or data manipulated attribute value pairs into a manipulated response. The assembling is performed in dependence of the adaptable attribute value pair rule configuration 49. A transmitter 42 is connected to the assembling block 46 and is configured for transmitting the manipulated response from the online charging communication mediator node 40, over the client interface via an output 63.
Fig. 14 illustrates a block scheme of an embodiment of a charging trigger function node 50. A diameter response to a request for charging parameters is received by a receiver 53 over an input 64. The request is originally issued by at least one of an account balance management function node and a rating function node. A retriever 55 is connected to the receiver 53, and is configured for retrieving data concerning charging parameters from the response to a request for charging parameters. The retrieving is performed in dependence of an adaptable configuration 59 stored in the memory of the charging trigger function node 50. In a particular embodiment, where the charging trigger function node 50 is a MSC 51 , the extracted data can be included in a call detail record 56. The charging trigger function node 50 typically also comprises a transmitter 54, by which an original request may be transmitted. Additionally, it should be noted that as used in this application, terms such as "component," "display," "interface," and other similar terms are intended to refer to a computing device, either hardware, a combination of hardware and software, software, or software in execution as applied to a computing device. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program and a computing device. As an example, both an application running on a computing device and the computing device can be components. One or more components can reside within a process and/or thread of execution and a component can be localized on one computing device and/or distributed between two or more computing devices, and/or communicatively connected modules. Further, it should be noted that as used in this application, terms such as "system user," "user," and similar terms are intended to refer to the person operating the computing device referenced above.
When an element is referred to as being "connected", "coupled", "responsive", or variants thereof to another element, it can be directly connected, coupled, or responsive to the other element or intervening elements may be present. In contrast, when an element is referred to as being "directly connected", "directly coupled", "directly responsive", or variants thereof to another element, there are no intervening elements present. Like numbers refer to like elements throughout. Furthermore, "coupled", "connected", "responsive", or variants thereof as used herein may include wirelessly coupled, connected, or responsive. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. Well-known functions or constructions may not be described in detail for brevity and/or clarity. The term "and/or" includes any and all combinations of one or more of the associated listed items.
As used herein, the terms "comprise", "comprising", "comprises", "include", "including", "includes", "have", "has", "having", or variants thereof are open- ended, and include one or more stated features, integers, elements, steps, components or functions but does not preclude the presence or addition of one or more other features, integers, elements, steps, components, functions or groups thereof. Furthermore, as used herein, the common abbreviation "e.g.", which derives from the Latin phrase "exempli gratia," may be used to introduce or specify a general example or examples of a previously mentioned item, and is not intended to be limiting of such item. The common abbreviation "i.e.", which derives from the Latin phrase "id est," may be used to specify a particular item from a more general recitation.
It should also be noted that in some alternate implementations, the functions/acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Moreover, the functionality of a given block of the flowcharts and/or block diagrams may be separated into multiple blocks and/or the functionality of two or more blocks of the flowcharts and/or block diagrams may be at least partially integrated.
Finally, other blocks may be added/inserted between the blocks that are illustrated. Moreover, although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.
Many different embodiments have been disclosed herein, in connection with the above description and the drawings. It will be understood that it would be unduly repetitious and obfuscating to literally describe and illustrate every combination and subcombination of these embodiments. Accordingly, the present specification, including the drawings, shall be construed to constitute a complete written description of various exemplary combinations and subcombinations of embodiments and of the manner and process of making and using them, and shall support claims to any such combination or subcombination. Many variations and modifications can be made to the embodiments without substantially departing from the principles of the present solution. All such variations and modifications are intended to be included herein within the scope of the present solution.
ABBREVIATIONS
ABMF Account Balance Management Function
AVP Attribute Value Pair
BIOS Basic Input/output System
CDR Call Detail Record
CDROM Compact Disc ROM
CTF Charging Trigger Function
DVD Digital Versatile Disk
EEPROM Electrically Erasable Programmable Read-Only Memory FCI Furnished Charging Information
GGSN Gateway GPRS Support Node
LAN Local Area Network
MSC Mobile services Switching Center
RAM Random Access Memory
ROM Read Only Memory
RF Rating Function
SS7 Signaling System no. 7
USB Universal Serial Bus
WAN Wide Area Network
1. A method for creating charging parameter responses, comprising the steps of:
- receiving, in a first network node, over a client interface, a request for charging parameters;
said first network node is at least one of an account balance management function node and a rating function node;
- generating first network node data concerning said charging parameters from at least one database available to said first network node; said generating being performed in dependence of information received over said client interface;
- populating attribute value pairs with said first network node data;
said populating being performed in dependence of an adaptable configuration of said first network node and in dependence of said information received over said client interface;
- assembling said attribute value pairs into a response to said request for charging parameters; and
- transmitting said response from said first network node, over said client interface.
2. The method according to claim 1 , characterized in that each said attribute value pairs is of a type individually selected from:
- a special function attribute value pair, intended to be manipulated or enriched in a second network node; and
- a transparent data attribute value pair, intended to be transmitted transparently directly to a third network node;
wherein said second network node being an online charging function node and said third network node being a charge trigger function node.
3. The method according to claim 1 or 2, characterized in that said step of generating first network node data comprises a rating step, in which rating

Claims

parameters and values to be provided in said response are decided and stored in temporary variables, for use in said step of populating attribute value pairs. 4. The method according to claim 3, characterized in that said step of generating first network node data further comprises a pre-analysis step, in which it is decided if a certain attribute value pair shall be used in the response. 5. The method according to claim 3 or 4, characterized in that said step of populating attribute value pairs comprises a post-analysis step, in which data of said temporary variables and/or data from a subscriber account database is copied into said attribute value pairs. 6. The method according to claim 5, characterized in that said step of populating attribute value pairs comprises a mapping of said temporary variables and/or said data from a subscriber account database towards different attribute value pairs according to said adaptable configuration. 7. The method according to any of the claims 1 to 6, characterized in that said information received over said client interface comprises an identity of said client interface.
8. A method for mediating charging parameter responses, comprising the steps of:
- receiving, in a second network node, a response to a request for charging parameters from a first network node;
said second network node is an online charging communication mediator node, said first network node is at least one of an account balance management function node and a rating function node;
- forwarding transparent data attribute value pairs directly to a charge trigger function node; - comparing special function attribute value pairs received in said response with an adaptable attribute value pair rule configuration;
- enrichment and/or data manipulation of a content of an attribute value pair according to said adaptable attribute value pair rule configuration when a
5 match is found in said step of comparing;
- assembling said enriched and/or data manipulated attribute value pairs into a manipulated response;
said assembling being performed in dependence of said adaptable attribute value pair rule configuration; and
io - transmitting said manipulated response from said second network node, over said client interface.
9. A method for receiving charging parameter responses, comprising the steps of:
15 - receiving, in a third network node, a response to a request for charging parameters issued from a first network node;
said third network node being a charge trigger function node, said first network node being at least one of an account balance management function node and a rating function node;
20 - retrieving data concerning charging parameters from said response to a request for charging parameters issued from a first network node;
said retrieving being performed in dependence of an adaptable configuration of said third network node.
25 10. A network node comprising a processor and memory, said network node is at least one of an account balance management function node and a rating function node, said memory containing instructions executable by said processor whereby said communication network node is operative to:
- receiving, over a client interface, a request for charging parameters;
30 - generating first network node data concerning said charging parameters from at least one database available to said first network node; said generating being performed in dependence of information received over said client interface;
- populating attribute value pairs with said first network node data;
said populating being performed in dependence of an adaptable configuration stored in said memory of said network node and in dependence of said information received over said client interface;
- assembling said attribute value pairs into a response to said request for charging parameters; and
- transmitting said response from said first network node, over said client interface.
1 1. A network node comprising a processor and memory, said network node is an online charging communication mediator node, said memory containing instructions executable be said processor whereby said communication network node is operative to:
- receiving a response to a request for charging parameters from a first network node;
said first network node being at least one of an account balance management function node and a rating function node;
- forwarding transparent data attribute value pairs directly to a charge trigger function node;
- comparing attribute value pairs received in said response with an adaptable attribute value pair rule configuration stored in said memory of said network node;
- enrichment and/or data manipulation of a content of an attribute value pair according to said adaptable attribute value pair rule configuration when a match is found in said step of comparing;
- assembling said enriched and/or data manipulated attribute value pairs into a manipulated response;
said assembling being performed in dependence of said adaptable attribute value pair rule configuration; and - transmitting said manipulated response from said second network node, over said client interface.
12. A network node comprising a processor and memory, said network node is a charge trigger function node, said memory containing instructions executable be said processor whereby said communication network node is operative to:
- receiving a response to a request for charging parameters issued from a first network node;
said first network node being at least one of an account balance management function node and a rating function node;
- retrieving data concerning charging parameters from said response to a request for charging parameters issued from a first network node;
said retrieving being performed in dependence of an adaptable configuration stored in said memory of said network node.
PCT/SE2013/050814 2012-12-19 2013-06-28 Method and apparatus for charging parameter transmission Ceased WO2014098705A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261739458P 2012-12-19 2012-12-19
US61/739,458 2012-12-19

Publications (1)

Publication Number Publication Date
WO2014098705A1 true WO2014098705A1 (en) 2014-06-26

Family

ID=50978846

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2013/050814 Ceased WO2014098705A1 (en) 2012-12-19 2013-06-28 Method and apparatus for charging parameter transmission

Country Status (1)

Country Link
WO (1) WO2014098705A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009039677A1 (en) * 2007-09-24 2009-04-02 Lucent Technologies Inc. Method and system for providing charging information in ims
EP2048815A1 (en) * 2006-08-01 2009-04-15 Huawei Technologies Co., Ltd. A method, a system and a device for advice of charge supplementary service
EP2106060A1 (en) * 2007-12-27 2009-09-30 Huawei Technologies Co., Ltd. Method, system and mobile terminal for advice of charge of service
WO2010000631A2 (en) * 2008-07-01 2010-01-07 Nokia Siemens Networks Oy Providing charging related information in a communication system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2048815A1 (en) * 2006-08-01 2009-04-15 Huawei Technologies Co., Ltd. A method, a system and a device for advice of charge supplementary service
WO2009039677A1 (en) * 2007-09-24 2009-04-02 Lucent Technologies Inc. Method and system for providing charging information in ims
EP2106060A1 (en) * 2007-12-27 2009-09-30 Huawei Technologies Co., Ltd. Method, system and mobile terminal for advice of charge of service
WO2010000631A2 (en) * 2008-07-01 2010-01-07 Nokia Siemens Networks Oy Providing charging related information in a communication system

Similar Documents

Publication Publication Date Title
CN108846659B (en) Block chain-based transfer method and device and storage medium
CN111385124A (en) A gateway service implementation method, control device and gateway
CN113422796A (en) Information processing method and device and storage medium
CN110334103B (en) Recommendation service updating method, providing device, access device and recommendation system
CN114301988B (en) Distributed calling method, device, storage medium and electronic device
CN115827646A (en) Index configuration method and device and electronic equipment
CN114390044B (en) File uploading method, system, equipment and storage medium
CN111124883A (en) Test case library introduction method, system and equipment based on tree form
CN109491971A (en) A kind of file filter method, apparatus, equipment and computer readable storage medium
WO2014098705A1 (en) Method and apparatus for charging parameter transmission
CN117909937A (en) A method and system for activating an operating system or software
CN117743721A (en) Data processing method and device
CN110858211A (en) Data storage method, device and system and storage medium
CN111131205B (en) Authority management method and device based on Restful interface
CN114513469A (en) Traffic shaping method and device for distributed system and storage medium
JP2014106965A (en) Method for processing multiple requests by using dataset transfer protocol
CN113132324B (en) Sample identification method and system
CN116775688B (en) Active object number query method based on multi-tenant multi-object pool and related equipment
CN115277140B (en) Policy configuration, risk identification method and device, readable storage medium and computing device
CN114881606A (en) Execution method, device, equipment and storage medium of policy modification behavior
CN113495982B (en) Transaction node management method and device, computer equipment and storage medium
CN108647053B (en) Method and device for deduplication of registry subkey
CN114710334A (en) Access policy adjustment method and system for server
CN119668683A (en) An interface message adaptive method for realizing form-free printing
CN118779091A (en) Data processing method, device, equipment, medium and product of blockchain network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13864731

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13864731

Country of ref document: EP

Kind code of ref document: A1