The present invention relates to a method and apparatus for use in a communications network. More particularly, the invention relates to a method of operating an IP Multimedia Subsystem in order to collect session and event related information.
IP Multimedia services provide a dynamic combination of voice, video, messaging, data, etc. within the same session. By growing the number of basic applications and the media which it is possible to combine, the number of services offered to the end users will grow, and the inter-personal communication experience will be enriched. This will lead to a new generation of personalised, rich multimedia communication services, including so-called “combinational IP Multimedia” services.
The IP Multimedia Subsystem (IMS) is an access independent architectural framework for supporting traditional telephony as well as the new IP multimedia services (3GPP TS 22.228, TS 23.228, TS 24.229, TS 29.228, TS 29.229, TS 29.328 and TS 29.329). IMS provides key features to enrich the end-user person-to-person communication experience through the use of standardised IMS Service Enablers, which facilitate new rich person-to-person (client-to-client) communication services as well as person-to-content (client-to-server) services over IP-based networks. The IMS is able to connect to both PSTN/ISDN (Public Switched Telephone Network/Integrated Services Digital Network) as well as the Internet.
The IMS makes use of the Session Initiation Protocol (SIP) to set up and control calls or sessions between user terminals (or terminals and application servers). The Session Description Protocol (SDP), carried by SIP signalling, is used to describe and negotiate the media components of the session. Whilst SIP was created as a user-to-user protocol, IMS allows operators and service providers to control user access to services and to charge users accordingly. The 3GPP has chosen SIP for signalling between a User Equipment (UE) and the IMS as well as between the components within the IMS.
By way of example,
Within the IMS service network, Application Servers (ASs) are provided for implementing IMS service functionality. Application Servers provide services to end users in an IMS system, and may be connected either as end-points over the 3GPP defined Mr interface, or “linked in” by an S-CSCF over the 3GPP defined ISC interface. In the latter case, Initial Filter Criteria (IFC) are used by an S-CSCF to determine which Applications Servers should be “linked in” during a SIP Session establishment (or indeed for the purpose of any SIP method, session or non-session related). The IFCs are received by the S-CSCF from a Home Subscriber Server (HSS) during the IMS registration procedure as part of a user's Subscriber Profile.
The Home Subscriber Server (HSS) is the main database in the IMS for storage of subscriber and service related data, including user identities, registration information, access parameters and the IFCs used to trigger services. The user identities consist of IP Multimedia Public Identities (IMPU) and IP Multimedia Private Identities (IMPI). The IMPU is the identity that other users can use in order to contact the user, whilst the IMPI is a user identity assigned by the user's network operator and that is used for registration and authorisation in the IMS. In order to participate in multimedia sessions, the user must register at least one IMPU with the network and an IMPI must be authenticated in the IMS at the application level. The private user identity and public user identities are stored in an IMS Services Identity Module (ISIM) application on a UMTS Integrated Circuit Card (UICC) at the user's terminal, and a particular IMPU may be simultaneously registered from multiple UEs that use different IMPIs and different contact addresses. The HSS also contains functionality of a Home Location Register and Authentication Centre (HLR/AUC) to provide support to packet-switched domain entities, such as the Serving GPRS Support Node (SGSN) and Gateway GPRS Support Node (GGSN), and to circuit switched domain entities, such as the Mobile Switching Centres (MSC).
3GPP TS 32.260 defines the Offline and Online Charging description for the IP Multimedia Subsystem. For both Offline and Online charging, charging information for network resource usage is collected concurrently with that resource usage. In Offline charging this charging information does not affect, in real-time, the service rendered. However, in Online charging, authorization for the network resource usage must be obtained by the network prior to the actual resource usage.
As illustrated in
The CTF is required to determine whether any of the messages that pass through it contain indications of a chargeable activity and, if so, whether to apply online or offline charging mechanisms. The information relating to a chargeable activity is sent to the CDF in the Attribute Value Pairs of the Diameter accounting messages (i.e. ACR), and to the OCS in the Attribute Value Pairs of the Diameter credit control messages (i.e. CCR). This information may then be used by the charging architecture to generate CDRs that are passed to the network operator. Whilst the primary purpose of these CDRs is to allow the network operator to charge/bill user's accordingly and/or for inter-operator accounting, they can also be used for any additional functions at the operator's discretion. For example, CDRs may be used to generate statistics, or for security or traffic monitoring purposes. As such, the CTF may be required to provide any information to the charging architecture (i.e. the CDF/OCS) that can be derived from the messages passing through it, including information for which there are no defined AVPs in the Diameter messages (i.e. ACR, CCR etc).
Currently, in such circumstances, the only solution is to create new AVPs on the Rf and Ro interface, which are specific to the item of information required by the charging architecture. The creation of new Diameter AVPs for these applications is controlled by the 3rd Generation Partnership Project (3GPP), and network operators are therefore required to have each newly proposed AVPs agreed by the 3GPP. As such, the introduction of these new AVPs is not necessarily straightforward and can take a significant period of time to achieve. In addition, the introduction of these specific AVPs impacts on the encoding and decoding performed by the CTF and on the Diameter stack.
It is an object of the present invention to overcome, or at least mitigate the problems identified above. This object is achieved by configuring the IMS charging architecture to identify information using one or more string filters, and to then include the identified information in a generic information AVP for sending to the CDF/OCS.
According to a first aspect of the present invention there is provided a method of operating a Charging Trigger Function to collect session and/or event related information from an IP Multimedia Subsystem. The method comprises configuring the Charging Trigger Function with one or more string filters for identifying matching strings, determining if messages passing through the Charging Trigger Function include one or more matching strings, and, if a message does include one or more matching strings, sending a reporting message to a charging control entity, the reporting message comprising data associated with each matching string.
Configuring the CTF with one or more string filters to identify any desired information, and then including the identified information in a generic information AVP provides that new specific AVPs do not have to be created for every new piece of charging-related information that it is desired to pass from the CTF to the CDF/OCS, and hence results in a cost savings. It also provides a flexible solution as any SIP header/Diameter AVP can be specified as charging or event-related information to be output to the OCS/CDR.
The step of configuring a Charging Trigger Function with one or more string filters may comprise receiving a subscriber profile from a Home Subscriber Server, the subscriber profile defining the one or more string filters that are to be applied to messages passing through the Charging Trigger Function that relate to the subscriber. Alternatively, the step of configuring a Charging Trigger Function with one or more string filters may comprise defining one or more string filters, at the Charging Trigger Function, that are to be applied to all messages passing through the Charging Trigger Function.
Each of the one or more string filters may comprise an indication of the type of message to which the primary regular expression should be applied. Each of the one or more string filters may comprise a primary regular expression for identifying a matching string. In addition, one or more of said string filters may further comprise a secondary regular expression for identifying a specific value or a specific range of values included as data associated with the matching string.
If a string filter comprises a primary regular expression and a secondary regular expression, then the step of determining if messages passing through the Charging Trigger Function include one or more matching strings may comprise determining if a message passing through the Charging Trigger Function includes one or more strings matching the primary regular expression, and, if so, determining if each of the matching strings is associated with data matching the secondary regular expression.
The reporting message may further comprise each matching string together with the data associated with that matching string. The reporting message may further comprise an indication of the type of message in which the matching string was identified. The reporting message may comprise a Diameter message in which the data associated with the one or more matching strings is included in a grouped Diameter Attribute Value Pair.
The data associated with each matching string may be included within an Attribute Value Pair within the grouped Attribute Value Pair.
Each of the one or more string filters may relate to one of a Session Initiation Protocol message, a Diameter message, and an ISDN User Part message.
A string filter relating to a Session Initiation Protocol message may comprise a header name. Furthermore, if a Session Initiation Protocol message passing through the Charging Trigger Function is identified as including one or more matching strings, then the data associated with each matching string may comprise a value included within the matching header.
A string filter relating to a Diameter message may comprise one of an Attribute Value Pair Code and Vendor-ID of an Attribute Value Pair, and an Attribute Name of an Attribute Value Pair. Furthermore, if a Diameter message passing through the Charging Trigger Function is identified as including one or more matching strings, then the data associated with the matching string may comprise a value included within the matching Attribute Value Pair.
The Charging Trigger Function may be provided in one or more of a Breakout Gateway Control Function, a Media Gateway Control Function, a Multimedia Resource Function Controller, an Application Server, and a Call Session Control Function. The charging control entity may be one of an Online Charging System, and a Charging Data Function.
According to a second aspect of the present invention there is provided a method of operating a Home Subscriber Server within an IP Multimedia Subsystem. The method comprises during registration of a subscriber with the IP Multimedia Subsystem, sending a profile relating to the subscriber to a Charging Trigger Function, the subscriber profile defining one or more string filters that are to be applied to messages passing through the Charging Trigger Function that relate to the subscriber.
According to a third aspect of the present invention there is provided an apparatus configured to operate as a Charging Trigger Function. The apparatus comprises a memory for storing one or more string filters for identifying matching strings, a matching unit for determining if messages passing through the Charging Trigger Function include one or more matching strings, a message generation unit for generating a reporting message, the reporting message comprising data associated with each matching string, and a transmitter for sending the reporting message to a charging control entity. The apparatus may further comprise a receiver for receiving a subscriber profile from a Home Subscriber Server, the subscriber profile comprising one or more string filters to be applied to messages relating to the subscriber.
According to a fourth aspect of the present invention there is provided an apparatus configured to operate as a Home Subscriber Server. The apparatus comprises a memory for storing subscriber profiles comprising one or more string filters to be applied to messages relating to the subscriber, a receiver for receiving a request for a subscriber's profile, and a transmitter for sending the subscriber profile including the one or more string filters to a Charging Trigger Function.
There will now be described a method by which a CTF can be used to obtain any information that can be derived from the messages passing through the node providing the CTF function, without the need to create new specific AVPs for each new item of information required. The method involves configuring the IMS charging architecture to identify information using one or more string filters, and to then include the identified information in a generic information AVP for sending to the CDF/OCS. According to the method, the generic information AVP is configured to carry any information for use by the network operator, as opposed to those AVPs defined to carry a specific item of information. The information obtained from the messages passing through the CTF can relate to an IMS session or can equally relate to an event, such as registration of a user within the IMS. The CDF/OCS can then create new corresponding fields in CDRs in order to pass this information to the Billing Domain over the Bi interface.
The information to be identified by the IMS charging architecture can be configured on a per user basis. This is achieved by configuring the information in the subscriber's profile in the HSS and providing this information to the CTF during registration of the subscriber with the IMS. Configuring this information on a per user basis provides that the IMS charging architecture can output user specific data during an IMS session.
Alternatively, the information to be identified by the IMS charging architecture can be configured on a per node basis, by configuring the information directly into the CTF.
In order to implement these methods both the Rf interface between the CTF and the CDF, and Ro interface between the CTF and the OCS will require extension to include a new generic information AVP. As noted above, the generic information AVP would be used to carry the information obtained from the messages that pass through CTF. Defining a generic information AVP avoids the need to create new specific AVPs for every new piece of information required from the CTF by the CDF/OCS.
In addition, if the information required by the CDF/OCS is defined on a per user basis in the HSS, then the interface between the HSS and the CTF will also require extension in order to allow the HSS to send the string filters that should be used to identify the required information. For example, the Cx interface between the HSS and CSCFs, and the Sh interface between the HSS and the AS, may require extension to include a new requested information AVP. The requested information AVP would take the form of a Grouped type AVP that is comprised of a sequence of AVPs, and enables this AVP to include multiple string filters. Grouped type AVPs are defined in IETF RFC 3588. This requested information AVP would then be included within Diameter messages carrying the subscriber profile information sent from the HSS. For example, the requested information AVP could take the form:
where < > denotes a mandatory and position dependent field, { } denotes a mandatory field, [ ] denotes an optional field, and * denotes a field that can have multiple instances.
Requested-Transaction-Info is the name of the grouped requested information AVP. The Requested-Transaction-Type AVP within the grouped AVP indicates which type of message the filter should apply to (i.e. a SIP Request, Diameter Response etc). The Requested-Transaction-Type AVP would be of the Enumerated format and its definition contains a list of valid values (i.e. 0=SIP Request). Requested-Transaction-Data-Entry AVP includes the string filter that should be matched for a message. For example, the Requested-Transaction-Data-Entry AVP could include a SIP header field name, a Diameter message command code together with an AVP name, or a Diameter message command code together with AVP code and, if required, the Vendor ID.
The Requested-Transaction-Data-Value AVP is an optional AVP that can include an additional string filter associated with Requested-Transaction-Data-Entry AVP. If present, the Requested-Transaction-Data-Value AVP contains a string defining specific values of interest within a SIP header or Diameter AVP. A regular expression (regexp) evaluation may be performed on the string defined in the Requested-Transaction-Data-Value AVP such that only those parts of the SIP Header/Diameter AVP content that match the string will be the recorded and output in the generic information AVP. If the Requested-Transaction-Data-Value AVP is not present, the entire value associated with the SIP header or Diameter AVP will be recorded and output in the generic information AVP.
If a diameter message sent from the HSS to the CTF is to define more than string filter, then multiple instances of the Requested-Transaction-Data-Entry AVP (and possibly the Requested-Transaction-Data-Value AVP) would be included in the Requested-Transaction-Info AVP. When defining a string filter for identifying a particular SIP header it is sufficient to simply use the SIP header field name as the string filter. However, when defining a string filter for a Diameter AVP it is necessary to include either the Diameter message command code together with the AVP name, or the Diameter message command code together with AVP code and, if required, the Vendor ID.
The generic information AVP would also take the form of a Grouped type AVP that is comprised of a sequence of AVPs, and enables this AVP to carry data relating to multiple matching strings. This generic information AVP would then be included within Diameter messages sent to the charging control nodes (i.e. CDF/OCS) for carrying the information obtained from the messages that pass through CTF. For example, the generic information AVP could take the form:
Transaction-Info is the name of the grouped generic information AVP. The Transaction-Type AVP within the grouped AVP indicates which type of message has been identified by a string filter (i.e. a SIP Request, Diameter Response etc). The Transaction-Type AVP would be of the Enumerated format and its definition contains a list of valid values (i.e. 0=SIP Request). The Transaction-Data-Name AVP indicates the string matched using the string filter, such as the SIP Header or Attribute Name. The Transaction-Data-Value AVP indicates the value associated with the matched string. For example, the Transaction-Data-Value AVP would include the value associated with a SIP Header or the value of an AVP.
When a message is identified as containing more than one match for a string filter, then multiple instances of the Transaction-Data-Name AVP and Transaction-Data-Value AVP would be included in the Transaction-Info AVP to convey the information relating to each matching string. In addition, multiple instances of the Transaction-Data-Name AVP and Transaction-Data-Value AVP would also be included in the Transaction-Info AVP when a message contains strings which match multiple different string filters.
For example, if the CTF is configured with a string filter for obtaining the information contained within the Contact header of a SIP Request then, assuming a SIP Request passing through the CTF contained two Contact headers, the Transaction-Info AVP could take the form:
In another example, if the CTF is configured with a string filter for obtaining the information contained within the User-Agent header of a SIP Response, then the Transaction-Info AVP could take the form:
In a further example, if the CTF is configured with a string filter for obtaining the information contained within the SIP-Server-URI AVP of a Diameter Location Info Answer (LIA) request then, the Transaction-Info AVP could take the form:
where 285 is the Diameter LIA message command code
The methods and apparatus described above enable the CTF to provide any information to the charging architecture (i.e. the CDF/OCS) that can be derived from the messages passing through it. The information that can be provided to the charging architecture when implementing the methods described above can, if required, enable network operators to form a complete picture of subscriber usage of IMS. For example, the network operator can use this information to determine how many licenses have been used, which is particularly useful if they are required to pay an additional fee for a license.
Defining a generic information AVP for carrying this information provides that new specific AVPs do not have to be created for every new piece of charging-related information that it is desired to pass from the CTF and the CDF/OCS, and hence results in a cost savings. It also provides a flexible solution as any SIP header/Diameter AVP can be specified as charging-related information to be output to the OCS/CDR.
It will be appreciated by the person of skill in the art that various modifications may be made to the above-described embodiments without departing from the scope of the present invention. For example, the method described above could be equally applied to capture information from ISDN User Part (ISUP) messages passing through the node providing the CTF functionality.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2009/065418 | 11/18/2009 | WO | 00 | 5/25/2012 |