|
|
Line 24: |
Line 24: |
| *[[Toolpack:Configuring_RADIUS_A|Toolpack v2.3: RADIUS configuration]] | | *[[Toolpack:Configuring_RADIUS_A|Toolpack v2.3: RADIUS configuration]] |
| | | |
− | === Toolpack to Radius CDR attributes remapping === | + | === Toolpack to RADIUS CDR attributes remapping === |
| + | When Toolpack sends ''Access-Request'' messages to a RADIUS server, some specific attributes are included in the message. These attributes have been improved through Toolpack releases to better meet accounting services requirements. |
| | | |
− | From RFC 2865 and RFC 2866 (Accounting) :
| + | *[[Toolpack:RADIUS_CDR_attributes_C|Toolpack v2.7: RADIUS CDR attributes]] |
− | {| cellpadding="5" border="1" class="wikitable"
| + | *[[Toolpack:RADIUS_CDR_attributes_B|Toolpack v2.6: RADIUS CDR attributes]] |
− | |-
| + | *[[Toolpack:RADIUS_CDR_attributes_A|Toolpack v2.5 and earlier: RADIUS CDR attributes]] |
− | ! width="210" style="background: none repeat scroll 0% 0% rgb(239, 239, 239);" | AVP Id
| + | |
− | ! width="210" style="background: none repeat scroll 0% 0% rgb(239, 239, 239);" | Radius IETF param name
| + | |
− | ! width="210" style="background: none repeat scroll 0% 0% rgb(239, 239, 239);" | Type
| + | |
− | ! width="210" style="background: none repeat scroll 0% 0% rgb(239, 239, 239);" | Toolpack param
| + | |
− | ! width="610" style="background: none repeat scroll 0% 0% rgb(239, 239, 239);" | Description
| + | |
− | |-
| + | |
− | | align="center" | 1<br>
| + | |
− | | User-Name
| + | |
− | | align="center" | string<br>
| + | |
− | | -
| + | |
− | | For now this value is hardcoded to "100"
| + | |
− | |-
| + | |
− | | align="center" | 4<br>
| + | |
− | | NAS-IP-Address
| + | |
− | | align="center" | IP address<br>
| + | |
− | | -
| + | |
− | | IP address of the TMedia generating the CDR record
| + | |
− | |-
| + | |
− | | align="center" | 30<br>
| + | |
− | | Called-Sation-Id
| + | |
− | | align="center" | string<br>
| + | |
− | | Called Number
| + | |
− | | Called party number
| + | |
− | |-
| + | |
− | | align="center" | 31<br>
| + | |
− | | Calling-Station-Id
| + | |
− | | align="center" | string<br>
| + | |
− | | Calling Number
| + | |
− | | Calling party number
| + | |
− | |-
| + | |
− | | align="center" | 32<br>
| + | |
− | | NAS-Identifier
| + | |
− | | align="center" | string<br>
| + | |
− | | Application Name
| + | |
− | | Application name of the CDR provider
| + | |
− | |-
| + | |
− | | align="center" | 40<br>
| + | |
− | | Acct-Status-Type
| + | |
− | | align="center" | integer<br>
| + | |
− | | -
| + | |
− | | Start or Stop
| + | |
− | |-
| + | |
− | | align="center" | 44<br>
| + | |
− | | Acct-Session-Id
| + | |
− | | align="center" | integer<br>
| + | |
− | | Leg Id
| + | |
− | | Call Leg Identifier
| + | |
− | |}
| + | |
− | | + | |
− | AVP: 26 VendorID: 9 (Cisco)
| + | |
− | | + | |
− | {| cellpadding="5" border="1" class="wikitable"
| + | |
− | |-
| + | |
− | ! width="210" style="background: none repeat scroll 0% 0% rgb(239, 239, 239);" | VSA Id
| + | |
− | ! width="210" style="background: none repeat scroll 0% 0% rgb(239, 239, 239);" | Radius IETF param name
| + | |
− | ! width="210" style="background: none repeat scroll 0% 0% rgb(239, 239, 239);" | Type
| + | |
− | ! width="210" style="background: none repeat scroll 0% 0% rgb(239, 239, 239);" | Toolpack param
| + | |
− | ! width="610" style="background: none repeat scroll 0% 0% rgb(239, 239, 239);" | Description
| + | |
− | |-
| + | |
− | | align="center" | 2<br>
| + | |
− | | Cisco-NAS-Port
| + | |
− | | align="center" | string<br>
| + | |
− | | NAP name
| + | |
− | | Network Access Point name for the call leg
| + | |
− | |-
| + | |
− | | align="center" | 24<br>
| + | |
− | | h323-conf-id
| + | |
− | | align="center" | string<br>
| + | |
− | | Unique Id
| + | |
− | | Unique call identifier for the two initial legs (incoming and outgoing) - 128 bits integer formated as xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
| + | |
− | |-
| + | |
− | | align="center" | 25<br>
| + | |
− | | h323-setup-time
| + | |
− | | align="center" | string<br>
| + | |
− | | Start Time
| + | |
− | | Represent the call leg setup time - Coordinated Universal Time (UTC)
| + | |
− | |-
| + | |
− | | align="center" | 26<br>
| + | |
− | | h323-call-origin
| + | |
− | | align="center" | string<br>
| + | |
− | | Originator Name
| + | |
− | | "answer" for an outgoing leg - "originate" for an incoming leg
| + | |
− | |-
| + | |
− | | align="center" | 27<br>
| + | |
− | | h323-call-type
| + | |
− | | align="center" | string<br>
| + | |
− | | Protocol Type
| + | |
− | | If protocol is SIP the value is "VOIP", otherwise it is "Telephony"
| + | |
− | |-
| + | |
− | | align="center" | 28<br>
| + | |
− | | h323-connect-time
| + | |
− | | align="center" | string<br>
| + | |
− | | Connected Time
| + | |
− | | Represent the call leg answer time (connect time) - Coordinated Universal Time (UTC)
| + | |
− | |-
| + | |
− | | align="center" | 29<br>
| + | |
− | | h323-disconnect-time
| + | |
− | | align="center" | string<br>
| + | |
− | | EndTime
| + | |
− | | Represent the call leg disconnect time - Coordinated Universal Time (UTC)
| + | |
− | |-
| + | |
− | | align="center" | 30<br>
| + | |
− | | h323-disconnect-cause
| + | |
− | | align="center" | string<br>
| + | |
− | | Termination Reason
| + | |
− | | Q.931 disconnect (1 to 160) cause, TB Toolpack system cause (200 to 300) and SIP cause (400 to 600)
| + | |
− | |-
| + | |
− | | align="center" | 35<br>
| + | |
− | | h323-incoming-conf-id
| + | |
− | | align="center" | string<br>
| + | |
− | | Unique Id
| + | |
− | | Contains the original h323-conf-id in case of call transfer for subsequent outgoing legs - 128 bits integer formated as xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
| + | |
− | |-
| + | |
− | | align="center" | 115
| + | |
− | | release-source
| + | |
− | | align="center" | string<br>
| + | |
− | | 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
| + | |
− | |-
| + | |
− | |}
| + | |
− | | + | |
− | AVP: 26 VendorID: 21776 (TelcoBridges)
| + | |
− | | + | |
− | {| cellpadding="5" border="1" class="wikitable"
| + | |
− | |-
| + | |
− | ! width="210" style="background: none repeat scroll 0% 0% rgb(239, 239, 239);" | VSA Id
| + | |
− | ! width="210" style="background: none repeat scroll 0% 0% rgb(239, 239, 239);" | Radius IETF param name
| + | |
− | ! width="210" style="background: none repeat scroll 0% 0% rgb(239, 239, 239);" | Type
| + | |
− | ! width="210" style="background: none repeat scroll 0% 0% rgb(239, 239, 239);" | Toolpack param
| + | |
− | ! width="610" style="background: none repeat scroll 0% 0% rgb(239, 239, 239);" | Description
| + | |
− | |-
| + | |
− | | align="center" | 9<br>
| + | |
− | | Telcob-ChargeIndicator
| + | |
− | | align="center" | String<br>
| + | |
− | | ChargeIndicator
| + | |
− | | Represent the charge indicator value
| + | |
− | |-
| + | |
− | | align="center" | 10<br>
| + | |
− | | Telcob-Protocol
| + | |
− | | align="center" | String<br>
| + | |
− | | Protocol
| + | |
− | | Protocol used for this LegID. Ex. SIP, ISDN, etc.
| + | |
− | |-
| + | |
− | | align="center" | 11<br>
| + | |
− | | Telcob-Codec
| + | |
− | | align="center" | String<br>
| + | |
− | | Codec
| + | |
− | | Codec used for this LegID
| + | |
− | |-
| + | |
− | | align="center" | 12<br>
| + | |
− | | Telcob-RemoteIP
| + | |
− | | align="center" | IP address<br>
| + | |
− | | RemoteIP
| + | |
− | | RemoteIP used for the media. This is only for VOIP.
| + | |
− | |-
| + | |
− | | align="center" | 13<br>
| + | |
− | | Telcob-RemotePort
| + | |
− | | align="center" | Integer<br>
| + | |
− | | RemotePort
| + | |
− | | RTP Port of the remote peer. This is only for VOIP.
| + | |
− | |-
| + | |
− | | align="center" | 14<br>
| + | |
− | | Telcob-TrunkName
| + | |
− | | align="center" | String<br>
| + | |
− | | TrunkName
| + | |
− | | Name of the trunk (ex. "LS004400E1_0_00").<br/>
| + | |
− | This attribute is only for non-VOIP.
| + | |
− | |-
| + | |
− | | align="center" | 15<br>
| + | |
− | | Telcob-TimeslotNumber
| + | |
− | | align="center" | Integer<br>
| + | |
− | | TimeslotNumber
| + | |
− | | This is the Timeslot Number.<br/>
| + | |
− | This attribute is only for non-VOIP.
| + | |
− | |-
| + | |
− | | align="center" | 16<br>
| + | |
− | | Telcob-MediaInfo
| + | |
− | | align="center" | String<br>
| + | |
− | | MediaInfo
| + | |
− | | String that represents the MediaInfo (ex. "PCMU@10.3.10.124:20054" for SIP and "LS_T1_BITS_00:1" for ISDN)
| + | |
− | |-
| + | |
− | | align="center" | 17<br>
| + | |
− | | Telcob-StartTime
| + | |
− | | align="center" | String<br>
| + | |
− | | StartTime
| + | |
− | | String that represents the StartTime of the call.
| + | |
− | |-
| + | |
− | | align="center" | 18<br>
| + | |
− | | Telcob-ConnectedTime
| + | |
− | | align="center" | String<br>
| + | |
− | | ConnectedTime
| + | |
− | | String that represents the time when the call was connected
| + | |
− | |-
| + | |
− | | align="center" | 19<br>
| + | |
− | | Telcob-EndTime
| + | |
− | | align="center" | String<br>
| + | |
− | | EndTime
| + | |
− | | String that represents when the call was completed.
| + | |
− | |-
| + | |
− | | align="center" | 20<br>
| + | |
− | | Telcob-TerminationCause
| + | |
− | | align="center" | Integer<br>
| + | |
− | | TerminationCause
| + | |
− | | Integer that represents the Termination Cause
| + | |
− | |-
| + | |
− | | align="center" | 21<br>
| + | |
− | | Telcob-Other-Leg-Id
| + | |
− | | align="center" | Integer<br>
| + | |
− | | Other-Leg-Id
| + | |
− | | Integer that represents the other LegID bridged for this call
| + | |
− | |-
| + | |
− | | align="center" | 22<br>
| + | |
− | | Telcob-TerminationCauseString
| + | |
− | | align="center" | String<br>
| + | |
− | | TerminationCauseString
| + | |
− | | String that represents the TerminationCause, but in a String format.
| + | |
− | |-
| + | |
− | | align="center" | 23<br>
| + | |
− | | Telcob-TerminationSource
| + | |
− | | align="center" | String<br>
| + | |
− | | TerminationSource
| + | |
− | | String that represents the Termination Source
| + | |
− | |-
| + | |
− | | align="center" | 24<br>
| + | |
− | | Telcob-LocalSipIP*
| + | |
− | | align="center" | String<br>
| + | |
− | | LocalSipIP
| + | |
− | | IP Address that represents the Local IP used for SIP.
| + | |
− | |-
| + | |
− | | align="center" | 25<br>
| + | |
− | | Telcob-LocalSipPort*
| + | |
− | | align="center" | Integer<br>
| + | |
− | | LocalSipPort
| + | |
− | | Integer that represents the Local port used for SIP.
| + | |
− | |-
| + | |
− | | align="center" | 26<br>
| + | |
− | | Telcob-LocalMediaIP
| + | |
− | | align="center" | IPAddr<br>
| + | |
− | | LocalMediaIP
| + | |
− | | IP Address that represents the Local IP used for the media.
| + | |
− | |-
| + | |
− | | align="center" | 27<br>
| + | |
− | | Telcob-LocalMediaPort
| + | |
− | | align="center" | String<br>
| + | |
− | | LocalMediaPort
| + | |
− | | Integer that represents the Local port used for the media.
| + | |
− | |-
| + | |
− | | align="center" | 28<br>
| + | |
− | | Telcob-LocalMediaInfo
| + | |
− | | align="center" | String<br>
| + | |
− | | LocalMediaInfo
| + | |
− | | String that represents the Local Media Info.(ex. "PCMU@10.3.10.124:20054")
| + | |
− | Only for VOIP calls.
| + | |
− | |-
| + | |
− | | align="center" | 29<br>
| + | |
− | | Telcob-RemoteMediaInfo
| + | |
− | | align="center" | String<br>
| + | |
− | | RemoteMediaInfo
| + | |
− | | String that represents the Remote Media Info.(ex. "PCMU@10.3.10.124:20054")
| + | |
− | This is the same as Telcob-MediaInfo. Only for VOIP calls.
| + | |
− | |}
| + | |
− | * = Not currently implemented.
| + | |
| | | |
| == Dealing with incoherent CDR entries == | | == Dealing with incoherent CDR entries == |
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.
In order to enable RADIUS functionality in Toolpack, 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 IP address of the RADIUS server(s). You will need to specify a ‘secret key’ which will authenticate the Toolpack server so that it can send accounting, authentication and authorization data and to the RADIUS server and the RADIUS server will accept it.
In some situations (during HA switchover for example), some CDR entries may be lost.
The following guide lines provide information on how to deal with these corner cases: