Abstract:
A method and apparatus are provided for allowing a single platform to recognize and process both Diameter messages and Radius messages. A gateway is provided for translating Radius messages received from a wireline device into NASReq messages. A Diameter Proxy Agent receives both Diameter messages from a wireless device and the NASReq messages from the gateway. The Diameter Proxy Agent selects a PCRF to which to pass a NASReq message, and upon receipt of a NASReq message the PCRF either creates or updates a NASReq session object. By recognizing and processing Radius messages, wireline services can be offered at the same time as wireless services without requiring the use of a second platform. In addition, use of the PCRF server to support wireline services offers much better scalability than that offered by traditional AAA servers.

Description:
FIELD OF THE INVENTION 
       [0001]    This invention relates to a PCRF within an Evolved Packet Core network, and more particularly to a method of communicating with a PCRF. 
       BACKGROUND OF THE INVENTION 
       [0002]    Long Term Evolution (LTE) is a framework for packet-based real-time and non-real-time services, and is proposed as the next framework used by the telecommunications industry. LTE provides many other advantages over the existing frameworks, such as more efficient use of radio spectrum. One aspect of the LTE framework is an Evolved Packet Core (EPC), an all-IP core, specified by the 3rd Generation Partnership Project (3GPP). The EPC provides mobile core functionality that, in previous mobile generations (2G, 3G), was realized through two separate sub-domains: circuit-switched for voice traffic and packet-switched for data. Using an EPC, a single all-IP domain is used. 
         [0003]    The EPC has various components, including a Serving Gateway (SGW), a Packet Data Network Gateway (PGW), a Mobility Management Entity (MME), and a Policy and Charging Rules Function (PCRF). The PCRF is a concatenation of Policy Decision Functions and Charging Rules Functions. It supports service data flow detection, policy enforcement, and flow-based charging. 
         [0004]    In at least one implementation there are actually several PCRFs, in the form of blades. A Diameter Proxy Agent on the same platform as the PCRFs receives Diameter messages from wireless devices that wish to establish a service through the EPC. The Diameter Proxy Agent selects the most suitable PCRF on the platform, and thereafter allows communication between the selected PCRF and the wireless device by passing Diameter messages back and forth. Such communication manages the IP address assigned to the wireless device, authorizes communication from the wireless device, manages policy associated with the wireless device, and provides accounting services (e.g. usage statistics) associated with the wireless device. 
         [0005]    Wireline services, such as wireline telephone services but also including internet and television services, are typically implemented using a different type of server, referred to as an Authentication, Authorization and Accounting (AAA) server. An AAA server provides similar functionality as the server used in establishing wireless services. A wireline device communicates with a DSLAM or router, which then communicates with the AAA server to provide the same services as outlined above for a wireless connection. The DSLAM or router communicates with the AAA server using Radius messages. 
         [0006]    Different divisions within a communication company frequently provide different services to its customers, some divisions providing wireless services, such as mobile communications, and some divisions providing wireline services such as landline communications, television services, and internet access. These different services may even be provided by different companies within the same family of companies. This complicates management of these services by a central authority within the main company, and requires a degree of repetition of hardware and personnel. A communications company wishing to provide its customers with a variety of services usually has to use two servers, a server compliant with the 3GPP specifications in order to receive Diameter messages and an AAA server capable of processing Radius messages, and these servers are often managed by different divisions or sub-companies. A communication company may even use more than one AAA server for a given area, as AAA servers are typically not very scalable. 
         [0007]    A solution which allowed communication with a PCRF server using messages in the Radius format would allow a provider of both wireless and wireline services to use a single server. In addition, use by a service provider of a PCRF server rather than a dedicated wireline server allows the number of users to scale more easily, allowing simpler addition of a large number of customers. 
       SUMMARY OF THE INVENTION 
       [0008]    According to one aspect, the invention provides a method of enabling a communication session for a wireline device in an Evolved Packet Core. At a Radius gateway within a PCRF server a Radius message is received from the wireline device. At the Radius gateway, the Radius message is translated into a NASReq message. A PCRF cluster is selected to handle a session identified by the NASReq message, the selected PCRF cluster being configured to handle communication sessions for wireless devices. The NASReq message is passed to the selected PCRF cluster. It is determined whether a NASReq session object related to the session identified by the NASReq message exists, and if not, then such a NASReq session object is created. If such a NASReq session object does exist, then the NASReq session object is updated to reflect information in the NASReq message. 
         [0009]    According to another aspect, the invention provides a PCRF server which has a Radius gateway for translating a Radius message into a NASReq message and for transmitting the NASReq message. The PCRF server also has a Diameter Proxy Agent for receiving a NASReq message from the Radius gateway, for selecting one of at least one PCRF cluster, and for forwarding the NASReq message to the selected PCRF cluster. The PCRF server also has at least one PCRF blade, each PCRF blade belonging to one of the PCRF clusters and configured to manage wireless devices, each PCRF blade for receiving a NASReq message and creating or updating a NASReq session object in response thereto. The PCRF server may also have a mapping which maps at least one session to each of the at least one PCRF cluster, and the Diameter Proxy Agent being configured to select one of the PCRF clusters by selecting the PCRF cluster to which the fewest sessions are currently mapped. 
         [0010]    The methods of the invention may be stored as processing instructions on computer-readable storage media, the instructions being executable by a computer processor. 
         [0011]    The invention allows a single platform to recognize and process both Diameter messages and Radius messages. By recognizing and processing Radius messages, wireline services can be offered at the same time as wireless services without requiring the use of a second platform. In addition, use of the PCRF server to support wireline services offers much better scalability than that offered by traditional AAA servers. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]    The features and advantages of the invention will become more apparent from the following detailed description of the preferred embodiment(s) with reference to the attached figures, wherein: 
           [0013]      FIG. 1  is a diagram of a PCRF server according to one embodiment of the invention; 
           [0014]      FIG. 2  is a flowchart of a method carried out by the Diameter Proxy Agent of  FIG. 1  according to one embodiment of the invention; and 
           [0015]      FIG. 3  is a flowchart of another method carried out by each PCRF of  FIG. 1  according to one embodiment of the invention. 
       
    
    
       [0016]    It is noted that in the attached figures, like features bear similar labels. 
       DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0017]    Referring to  FIG. 1 , a diagram of a PCRF server according to one embodiment of the invention is shown. A wireless device  10 , such as a mobile telephone, communicates with a PCRF server  12  by sending and receiving Diameter messages  14  to and from a Diameter Proxy Agent  16  within the PCRF server  12 . If the wireless device  10  is initiating a new call, then the Diameter Proxy Agent  16  selects one of several PCRFs  18  for servicing the wireless device  10 . The PCRFs  18  are usually grouped into clusters of PCRFs. Each PCRF cluster contains two PCRF blades, one of which is active and one of which is standby. The IP address of the PCRF cluster is shared between the PCRF blades, in that packets addressed to the IP address of the PCRF cluster are sent to the active PCRF blade of the cluster, and when the standby PCRF blade becomes the active blade it assumes the IP address. For clarity, the separate PCRF blades in each cluster are not shown in  FIG. 1 . Instead, each PCRF  18  in  FIG. 1  represents both the active blade and the standby blade of one PCRF cluster. Hereinafter, when a packet is said to be sent to a PCRF or an action is taken by a PCRF, it is to be understood that it is the active PCRF blade within the PCRF cluster to which the packet is sent or by which the action is taken. 
         [0018]    Once a PCRF  18  is selected, an IP address is assigned to the wireless device  10 . The selected PCRF  18  thereafter manages the IP address assigned to the wireless device, authorizes communication from the wireless device, manages policy associated with the wireless device, and provides accounting services associated with the wireless device. The PCRF server  12  communicates with other entities within an EPC, such as a Serving Gateway and a Packet Data Network Gateway (not shown), using Diameter messages  20 . 
         [0019]    There are five PCRFs  18  shown in  FIG. 1 . There may be a different number, the number of PCRFs  18  usually depending on the number of customers being served by the owner of the PCRF server  12 . In general, there is at least one PCRF  18 . 
         [0020]    A wireline device  30 , such as a landline telephone, a television, or a DSLAM or router, communicates with the PCRF server  12  by sending and receiving Radius messages  32  to and from a Radius gateway  34  within the PCRF server  12 . The Radius gateway  34  translates each Radius message  32  arriving from the wireline device  30  into a NASReq message  36 . The translation between Radius messages and NASReq messages is specified by IETF RFC 4005, incorporated by reference herein. The NASReq message  36  is assigned a Destination-Realm equal to the realm of the PCRF server  12 , and the Destination-Host of the NASReq message  36  is left blank. Since routing of the NASReq message  36  is determined by the values of its Destination-Realm and Destination-Host, and the Diameter Proxy Agent  16  has the same realm as the PCRF server  12 , the NASReq message  36  is routed to the Diameter Proxy Agent  16  when the Radius gateway  34  transmits the NASReq message  36 . 
         [0021]    When the Diameter Proxy Agent  16  receives any Diameter message, it determines the value of the Destination-Host of the Diameter message and sends it to the PCRF identified by the Destination-Host. In the case of a NASReq message  36 , however, there will be no value for the Destination-Host of the NASReq message  36 . In such a case the Diameter Proxy Agent  16  adds a Destination-Host value selected by the Diameter Proxy Agent  16 , as described in more detail below with reference to  FIG. 2 . The NASReq message  36  is then routed to the PCRF identified by the Destination-Host. 
         [0022]    When a PCRF  18  receives the NASReq message, it creates or updates a NASReq session object, as described in more detail below with reference to  FIG. 3 . The PCRF  18  sends a response back to the Diameter Proxy Agent  16 , which forwards the response on to the entity which initially sent the corresponding request. In the case of a NASReq message  36  the Diameter Proxy Agent  16  sends the response to the Radius gateway  34 . The Radius gateway  34  translates the response, which is also a NASReq message  36 , into a Radius message  32  and passes the Radius message  32  to the wireline device  30 . 
         [0023]    In this way, as far as the wireline device  30  is concerned the PCRF server  12  performs the same functions as are provided for the wireless device  10 , but the wireline device  30  is able to communicate with the PCRF server  12  using Radius messages rather than Diameter messages. 
         [0024]    Referring to  FIG. 2 , a flowchart of a method carried out by the Diameter Proxy Agent  16  according to one embodiment of the invention is shown. Broadly,  FIG. 2  describes a method by which the Diameter Proxy Agent  16  determines to which PCRF a NASReq message  36  is to be sent. The method is initiated at step  50  when the Diameter Proxy Agent  16  receives a NASReq message  36 . The Diameter Proxy Agent  16  recognizes that this Diameter message is a NASReq message  36  from the application-id of the message. At step  52  the Diameter Proxy Agent  16  determines a session identified by the NASReq message  36  from the session ID included in the NASReq message  36 . At step  54  the Diameter Proxy Agent  16  determines if the session determined at step  52  is already mapped to a PCRF by consulting a mapping. If not, then at step  56  the Diameter Proxy Agent  16  selects one of the PCRFs  18  in the PCRF server  12 , and updates the mapping at step  58  to relate the session to the selected PCRF. The result of all this is that a PCRF is related to the NASReq message  36 , either because the Diameter Proxy Agent  16  determined at step  54  that the session is already mapped to a PCRF or because the Diameter Proxy Agent  16  selected one of the PCRFs at step  56 . It should be noted that the PCRF  18  related to the NASReq message  36  may also be handling at least one session related to a wireless device or devices, thereby enabling the convergence of management of wireless devices and wireline devices. At step  60  the Diameter Proxy Agent  16  sets the value of the Destination-Host within the NASReq message  36  to the identity of the PCRF related to the NASReq message  36 . The method carried out by the Diameter Proxy Agent  16  then finishes, and the populated NASReq message is then routed to the related PCRF at step  62 . 
         [0025]    The Diameter Proxy Agent  16  may determine a PCRF at step  56  in any of a number of ways. As one example, the Diameter Proxy Agent  16  selects a random PCRF as the selected PCRF cluster. As another example, the Diameter Proxy Agent  16  selects the PCRF to which the fewest sessions are currently mapped. 
         [0026]    Referring to  FIG. 3 , a flowchart of a method carried out by a PCRF  18  according to one embodiment of the invention is shown. Broadly,  FIG. 3  describes a method by which a PCRF  18  creates or updates a NASReq session object upon receipt of a NASReq message  36 . The method is initiated at step  80  when the PCRF  18  receives a NASReq message  36 . At step  82  the PCRF  18  determines whether a NASReq session object for the session identified by the NASReq message already exists. If a NASReq session object for the session already exists, then the existing NASReq session object for the session is updated at step  84 . If a NASReq session object for the session does not already exist, then a NASReq session object for the session is created at step  86  and a NASReq session is started. The updated or newly created NASReq session object contains information reflected in the NASReq message, such as which permissions have been granted to the session. In either case, the PCRF  18  then determines at step  88  whether a response to the NASReq message is required. Such a determination will be made based on the type of NASReq message, examples of which are described below. If a response is required then the PCRF  18  sends a response to the Diameter Proxy Agent  16  at step  90 . 
         [0027]    The type of response sent by the PCRF  18  at step  90 , if any will depend on the type of NASReq message received at step  80 , which will in turn depend on the type of Radius message received by the Radius gateway  34 . As illustrative examples, various scenarios will be described. In each case, messages from the wireline device  30  to the Radius gateway  34  and then to the Diameter Proxy Agent  16  and one of the PCRFs  18  will be handled as described above with reference to  FIG. 2  and  FIG. 3 . This is true both for messages initiated by the wireline device  30  and for responses sent from the wireline device  30  to the PCRF server  12 . Messages originating from one of the PCRFs  18 , either messages initiated by the PCRF  18  or responses sent by the PCRF  18  towards the wireline device, will be translated from Diameter messages to Radius messages by the Radius gateway  34 , but the methods described above with reference to  FIG. 2  and  FIG. 3  do not apply. 
         [0028]    If the wireline device  30  sends an Access-Request message to the Radius gateway  34 , then the Radius gateway  34  generates an AA-Request message for sending to the Diameter Proxy Agent  16 . A PCRF  18  eventually receives the AA-Request message, and sends an AA-Answer message back to the Diameter Proxy Agent  16 , which passes it on to the Radius gateway  34 . The Radius gateway  34  receives the AA-Answer message, generates an Access-Accept message, and sends the latter to the wireline device  30 . 
         [0029]    If the wireline device  30  sends an Acct-Start message to the Radius gateway  34 , then the Radius gateway  34  generates an AC-Request message having a value of an Accounting-Record-Type which indicates that it equivalent to an Acct-Start message, and sends the AC-Request message to the Diameter Proxy Agent  16 . A PCRF  18  eventually receives the AC-Request message, and sends an AC-Answer message back to the Diameter Proxy Agent  16 , which passes it on to the Radius gateway  34 . The Radius gateway  34  receives the AC-Answer message, generates an ACK Acct-Start message, and sends the latter to the wireline device  30 . 
         [0030]    If the wireline device  30  sends an Acct-Stop message to the Radius gateway  34 , then the Radius gateway  34  generates an AC-Request message having a value of an Accounting-Record-Type which indicates that it equivalent to an Acct-Stop message, and sends the AC-Request message to the Diameter Proxy Agent  16 . A PCRF  18  eventually receives the AC-Request message, and sends an AC-Answer message back to the Diameter Proxy Agent  16 , which passes it on to the Radius gateway  34 . The Radius gateway  34  receives the AC-Answer message, generates an ACK Acct-Stop message, and sends the latter to the wireline device  30 . 
         [0031]    If the PCRF handling a session receives notification of a SPR subscription change or an AF update, the PCRF initiates a re-authorization request to the Radius gateway  34 . The PCRF generates a Re-Auth-Request message and sends the Re-Auth-Request message to the Diameter Proxy Agent  16 , which sends the message on to the Radius gateway  34 . The Radius gateway  34  translates the Re-Auth-Request message into a Radius CoA-Request message and sends the CoA-Request message to the wireline device  30 . The wireline device  30  should respond to the CoA-Request message by generating a CoA-ACK message or CoA-NAK message and sending the generated message back to the Radius gateway  34 . The Radius gateway  34  receives the CoA-ACK message or the CoA-NAK message, and translates the incoming message into a Re-Auth-Answer message. The Re-Auth-Answer message is sent to the Diameter Proxy Agent  16  and then to the PCRF  18 . 
         [0032]    If the response from the wireline device  30  received by Radius gateway  34  is a CoA-NAK message with a Service-Type Attribute value of “Authorize Only” and with an Error-Cause Attribute value of “Request Initiated”, then the wireline device  30  is requesting an extended exchange per IETF RFC 3576. In such a case the Re-Auth-Answer message generated by the Radius gateway  34  has a Result-Code AVP of “Diameter_Limited_Success”. Subsequently the Radius gateway  34  should receive an Access-Request message from the wireline device  30 , the Access-Request message having a Service-Type of “Authorize Only”. The Radius gateway  34  translates this into an AA-Request message with an Auth-Request-Type AVP of Authorize_Only. The AA-Request message is sent to the Diameter Proxy Agent  16  and then to the PCRF. The PCRF responds with an AA-Answer message, and depending on the value of the Result-Code AVP in the AA-Answer message, the Radius gateway  34  translates the AA-Answer message into an Access-Accept message or an Access-Reject message for sending to the wireline device  30 . 
         [0033]    The PCRF  18  handling a session may receive notification that the session is to be aborted. In such an event, the PCRF  18  generates an Abort-Session-Request message, which is sent to the Diameter Proxy Agent  16  and then to the Radius gateway  34 . The Radius gateway  34  translates the Abort-Session-Request message into a Disconnect-Request message, and sends the Disconnect-Request message to the wireline device  30 . The wireline device  30  should respond to the Disconnect-Request message by generating a Disconnect-ACK message or Disconnect-NAK message and sending the generated message back to the Radius gateway  34 . The Radius gateway  34  receives the Disconnect-ACK message or the Disconnect-NAK message, and translates the incoming message into an Abort-Session-Answer message. The Abort-Session-Answer message is sent to the Diameter Proxy Agent  16  and then to the PCRF  18 . 
         [0034]    If the response from the wireline device  30  received by Radius gateway  34  is a Disconnect-NAK message with a Service-Type Attribute value of “Authorize Only” and with an Error-Cause Attribute value of “Request Initiated”, the Abort-Session-Answer message generated by the Radius gateway  34  has a Result-Code AVP of “Diameter_Limited_Success”. Subsequently the Radius gateway  34  should receive an Access-Request message from the wireline device  30 , the Access-Request message having a Service-Type of “Authorize Only”. The Radius gateway  34  translates this into an AA-Request message with an Auth-Request-Type AVP of Authorize_Only. The AA-Request message is sent to the Diameter Proxy Agent  16  and then to the PCRF. The PCRF responds with an AA-Answer message, and depending on the value of the Result-Code AVP in the AA-Answer message, the Radius gateway  34  translates the AA-Answer message into an Access-Accept message or an Access-Reject message for sending to the wireline device  30 . 
         [0035]    The Radius gateway  34  and the Diameter Proxy Agent  16  are preferably in the form of software, and may be stored as instructions on computer-readable storage media which can cause a computer processor to execute the methods of the Radius gateway  34  and the Diameter Proxy Agent  16 . The methods of the PCRFs  18  are preferably carried out by software on the PCRFs, and the instructions of the methods may be stored on computer-readable storage media which can cause a computer processor to execute the methods. Alternatively, any or all of the components may be in the form of hardware, or a combination of hardware and software. 
         [0036]    The embodiments presented are exemplary only and persons skilled in the art would appreciate that variations to the embodiments described above may be made without departing from the spirit of the invention. The scope of the invention is solely defined by the appended claims.