RADIUS

From TBwiki
(Difference between revisions)
Jump to: navigation, search
(remove unnecessary comment)
(Toolpack to Radius CDR attributes remapping)
Line 33: Line 33:
 
| Acct-Session-Id || Leg Id || Call Leg Identifier
 
| Acct-Session-Id || Leg Id || Call Leg Identifier
 
|-
 
|-
|Telcob-Other-Leg-Id || Other Leg Id || Call Leg Identifier of the other call leg joined with current call leg
+
| Telcob-Other-Leg-Id || Other Leg Id || Call Leg Identifier of the other call leg joined with current call leg
 
|-
 
|-
| h323-setup-time || Start Time || Represent the call leg setup time - Coordinated Universal Time (UTC)
+
| Telcob-ChargeIndicator || Charge indicator || Represent the charge indicator value
 
|-
 
|-
 
| Cisco-NAS-Port || NAP name || Network Access Point name for the call leg
 
| Cisco-NAS-Port || NAP name || Network Access Point name for the call leg
Line 42: Line 42:
 
|-
 
|-
 
| Calling-Station-Id || Calling Number || Calling party number
 
| Calling-Station-Id || Calling Number || Calling party number
 +
|-
 +
| h323-call-type || Protocol Type  || If protocol is SIP the value is "VOIP", otherwise it is "Telephony"
 +
|-
 +
| h323-setup-time || Start Time || Represent the call leg setup time - Coordinated Universal Time (UTC)
 
|-
 
|-
 
| h323-call-origin || Originator Name || "answer" for an outgoing leg - "originate" for an incoming leg
 
| h323-call-origin || Originator Name || "answer" for an outgoing leg - "originate" for an incoming leg
 
|-
 
|-
 
| h323-connect-time || Answer Time || Represent the call leg answer time (connect time) - Coordinated Universal Time (UTC)
 
| h323-connect-time || Answer Time || Represent the call leg answer time (connect time) - Coordinated Universal Time (UTC)
 +
|-
 +
| h323-disconnect-time || Stop Time || Represent the call leg disconnect time - Coordinated Universal Time (UTC)
 
|-
 
|-
 
| h323-conf-id || Unique Call Id || Unique call Identifier - Link Id formated as xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx (~Linkid ~Linkid<<4 ~Linkid<<12 ~Linkid<<20)
 
| h323-conf-id || Unique Call Id || Unique call Identifier - Link Id formated as xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx (~Linkid ~Linkid<<4 ~Linkid<<12 ~Linkid<<20)
 
|-
 
|-
 
| User-Name ||  -  || For now this value is hardcoded to "100"
 
| User-Name ||  -  || For now this value is hardcoded to "100"
|-
 
| h323-call-type || Protocol Type  || If protocol is SIP the value is "VOIP", otherwise it is "Telephony"
 
|-
 
| h323-disconnect-time || Stop Time || Represent the call leg disconnect time - Coordinated Universal Time (UTC)
 
 
|-
 
|-
 
| h323-disconnect-cause || Termination Reason || Q.931 disconnect (1 to 160) cause, TB Toolpack system cause (200 to 300) and SIP cause (400 to 600)
 
| h323-disconnect-cause || Termination Reason || Q.931 disconnect (1 to 160) cause, TB Toolpack system cause (200 to 300) and SIP cause (400 to 600)

Revision as of 11:08, 28 March 2011

Remote Authentication Dial In User Service, more popularly known as RADIUS, is used by telecom service providers for the purpose of authenticating, authorizing, and accounting for the use of services by subscribers. A RADIUS server is an application server that provides this functionality. It can take as input as well as output call detail record (CDR) data.


Contents

TelcoBridges and RADIUS

Starting with release v2.3 of Toolpack, explicit support for the accounting function of RADIUS is now offered. Previously, Toolpack stored call detail record (CDR) data in a local database. Starting with Toolpack v2.3, CDR data is stored on a dedicated, external server running an implementation of the RADIUS standard. Configuration of the location of the RADIUS server is performed through the Toolpack web portal. For this initial release, Toolpack only supports the Accounting functionality of RADIUS; it does not support the Administration or Authentication options. That type of functionality can be performed outside of RADIUS using Toolpack.'

Prerequisites

In order to enable this function in Toolpack v2.3, you must have a RADIUS server already up and running. It is highly recommended that the RADIUS server software being running on a separate machine from the one running the Toolpack software. Before configuring Toolpack, you will need the names and IP address of the RADIUS server. You will need to specify a ‘secret key’ which will authenticate the Toolpack server so that it can send CDR data to the RADIUS server and the RADIUS server will accept it.

Steps

Assuming that you have already set up and configured a RADIUS server, you will now need to configure Toolpack.

  • To configure RADIUS support in Toolpack, first go to Global > Gateway > Configurations. In the Configuration List, click on Create New Configuration. This is where you will create a RADIUS configuration.
  • In the new configuration, click on Use CDR Behaviour. Up until now, this is the same approach you would use where CDRs are written to the Toolpack database.
  • Now click on the CDR options section header, then click on Use RADIUS checkbox.
  • Next, fill in the information in the RADIUS server parameters section. Please note that the port for the RADIUS Server must be set to 1813 (i.e., hostname:1813);. For the Server secret field, set it to the same authentication key that is configured on the RADIUS server.


Testing this feature

Testing this feature is as simple as activating the functionality in Toolpack and validating that CDR data is being properly received by the RADIUS server. If you have the ability to simulate calling data, you might find it worthwhile to gradually increase call volumes over time to identify and understand any limitations experienced with your RADIUS application server (see Known issues below for more on this.)


Toolpack to Radius CDR attributes remapping

Radius IETF param name Toolpack param Description
NAS-Identifier Application Name Application name of the CDR provider
Acct-Session-Id Leg Id Call Leg Identifier
Telcob-Other-Leg-Id Other Leg Id Call Leg Identifier of the other call leg joined with current call leg
Telcob-ChargeIndicator Charge indicator Represent the charge indicator value
Cisco-NAS-Port NAP name Network Access Point name for the call leg
Called-Sation-Id Called Number Called party number
Calling-Station-Id Calling Number Calling party number
h323-call-type Protocol Type If protocol is SIP the value is "VOIP", otherwise it is "Telephony"
h323-setup-time Start Time Represent the call leg setup time - Coordinated Universal Time (UTC)
h323-call-origin Originator Name "answer" for an outgoing leg - "originate" for an incoming leg
h323-connect-time Answer Time Represent the call leg answer time (connect time) - Coordinated Universal Time (UTC)
h323-disconnect-time Stop Time Represent the call leg disconnect time - Coordinated Universal Time (UTC)
h323-conf-id Unique Call Id Unique call Identifier - Link Id formated as xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx (~Linkid ~Linkid<<4 ~Linkid<<12 ~Linkid<<20)
User-Name - For now this value is hardcoded to "100"
h323-disconnect-cause Termination Reason Q.931 disconnect (1 to 160) cause, TB Toolpack system cause (200 to 300) and SIP cause (400 to 600)
release-source Termination Source "localLeg" if this leg terminate the call or "connectedLeg" if its the connected leg - We use a Cisco string field with our own value definition
Acct-Status-Type - Start or Stop

Known issues

  • There appears to be a limit to the rate and quantity at which RADIUS accepts CDRs. Using a copy of FreeRADIUS on Windows XP Server, we are currently working to determine the maximum rate that RADIUS accepts CDRs for that specific configuration. While it may not be broadly representative—it is an open source solution compared to commercial software solutions—it should provide us with a benchmark or order of magnitude.
  • Our experience with FreeRADIUS to date has shown that by the time you attain 110 calls/second for a duration of 3 seconds, the buffer in Toolpack is soon overflowed.
  • Should RADIUS stop accepting CDRs (i.e., after a certain number per second (quantity / frequency)), Toolpack will then begin buffering to a maximum of 250 CDRs; over and above that buffer, Toolpack will drop CDR information


References

Personal tools