<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.telcobridges.com/w/index.php?action=history&amp;feed=atom&amp;title=CDR%3ACustomer_defined_CDR_Records</id>
	<title>CDR:Customer defined CDR Records - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://docs.telcobridges.com/w/index.php?action=history&amp;feed=atom&amp;title=CDR%3ACustomer_defined_CDR_Records"/>
	<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/w/index.php?title=CDR:Customer_defined_CDR_Records&amp;action=history"/>
	<updated>2026-07-27T20:11:44Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://docs.telcobridges.com/w/index.php?title=CDR:Customer_defined_CDR_Records&amp;diff=32710&amp;oldid=prev</id>
		<title>Luc Morissette: Updated versions supported</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/w/index.php?title=CDR:Customer_defined_CDR_Records&amp;diff=32710&amp;oldid=prev"/>
		<updated>2023-11-09T19:56:04Z</updated>

		<summary type="html">&lt;p&gt;Updated versions supported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:56, 9 November 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l8&quot;&gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Tmedia&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Tmedia&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2.10, 3.0, &lt;/del&gt;3.2&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|3.2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|SBC&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|SBC&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3.0, &lt;/del&gt;3.1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|3.1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Luc Morissette</name></author>
	</entry>
	<entry>
		<id>https://docs.telcobridges.com/w/index.php?title=CDR:Customer_defined_CDR_Records&amp;diff=32709&amp;oldid=prev</id>
		<title>Luc Morissette: New page to reduce the size of the main CDR page</title>
		<link rel="alternate" type="text/html" href="https://docs.telcobridges.com/w/index.php?title=CDR:Customer_defined_CDR_Records&amp;diff=32709&amp;oldid=prev"/>
		<updated>2023-11-09T19:53:54Z</updated>

		<summary type="html">&lt;p&gt;New page to reduce the size of the main CDR page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
{{DISPLAYTITLE:Customer defined CDR records}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|This article applies to:&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;Product&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;Version&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|Tmedia&lt;br /&gt;
|2.10, 3.0, 3.2&lt;br /&gt;
|-&lt;br /&gt;
|SBC&lt;br /&gt;
|3.0, 3.1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Customer defined CDR records   ==&lt;br /&gt;
&lt;br /&gt;
From release 3.1.101+, The Customer defined CDR records is supported, you can select the SIP generic headers and their parameters as a CDR records used in TextCdr and Radius CDR, look at the list below to see the sip call headers that are not supported by this new feature. And you can use the accounting header defined in sip_headers_manipulation.rb (routing script)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For activating the feature, log on the web portal of SBC and go to Gateway-&amp;gt;CDR Options-&amp;gt;Use Customer CDR header, enter the CDR records you &lt;br /&gt;
want in text-area box &amp;quot;Customer CDR headers settings&amp;quot; with the format like &amp;quot;cdr record&amp;quot;=&amp;quot;sip header&amp;quot;:&amp;quot;header parameter&amp;quot;, for example:&lt;br /&gt;
&lt;br /&gt;
TERM-IOI=P-Charging-Vector:term-ioi&lt;br /&gt;
&lt;br /&gt;
P-CHARGE-INFO=P-CHARGE-INFO:all&lt;br /&gt;
                                                                                                &lt;br /&gt;
This example means that 2 CDR records are needed, one is TERM-IOI and other one is P-CHARGE-INFO. Each line represents a CDR record and lines are separated by a line return. In this example, CDR record TERM-IOI comes from the received SIP header &amp;quot;P-Charging-Vector&amp;quot; and use its param &amp;quot;term-ioi&amp;quot; as the value of CDR record TERM-IOI. For the second line, CDR record is P-CHARGE-INFO and it comes from received SIP header &amp;quot;P-CHARGE-INFO&amp;quot;, the parameter &amp;quot;all&amp;quot; means all of the content of sip header &amp;quot;P-CHARGE-INFO&amp;quot; will be used as the value of CDR record P-CHARGE-INFO. If Radius CDR is used, the attribute name will be like Telcob-generic-cdr-nameX (X will be from 1 to 16 , depends on the number of Customer defined CDR records ). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usage example:&lt;br /&gt;
&lt;br /&gt;
Text CDR:  Test=&amp;#039;@{TERM-IOI}&amp;#039;,PCV=&amp;#039;@{P-CHARGE-INFO}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Radius CDR: Telcob-generic-cdr-name1   TERM-IOI=xxxxxxxxxxxx , Telcob-generic-cdr-name2  P-CHARGE-INFO=xxxxxxxxxxx     &lt;br /&gt;
&lt;br /&gt;
Radius server needs to parse the received value like &amp;quot;TERM-IOI=xxxxxxxxxxxx&amp;quot; for attribute &amp;quot;Telcob-generic-cdr-name1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to use accounting header with this feature, you need to add the accounting header in script sip_headers_manipulation.rb , for example:&lt;br /&gt;
 def filter_sip_headers_manipulation params&lt;br /&gt;
  call[:manipulation][:accounting] = {}&lt;br /&gt;
  call[:manipulation][:accounting][&amp;quot;header1&amp;quot;] = &amp;quot;value1&amp;quot;&lt;br /&gt;
  call[:manipulation][:accounting][&amp;quot;header2&amp;quot;] = &amp;quot;value2&amp;quot; &lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
The header1 and header2 are the accounting headers name you defined for your cdr purpose. After adding them in sip_headers_manipulation.rb, in text-area box &amp;quot;Customer CDR headers settings&amp;quot;, you add :&lt;br /&gt;
&lt;br /&gt;
HISTORY-INFO=header1:all&lt;br /&gt;
&lt;br /&gt;
ruri=header2:all&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Limitation:&lt;br /&gt;
&lt;br /&gt;
1. The maximal number of Customer defined CDR records is 16.&lt;br /&gt;
&lt;br /&gt;
2. All of sip header in the the following list are not supported by the feature.&lt;br /&gt;
&lt;br /&gt;
3. List of SIP header that are not supported:&lt;br /&gt;
 Accept&lt;br /&gt;
 Accept-Contact&lt;br /&gt;
 Accept-Encoding&lt;br /&gt;
 Accept-Language&lt;br /&gt;
 Alert-Info&lt;br /&gt;
 Allow&lt;br /&gt;
 Allow-Events&lt;br /&gt;
 Also&lt;br /&gt;
 Anonymity&lt;br /&gt;
 Authentication-Info&lt;br /&gt;
 Authorization&lt;br /&gt;
 Call-ID&lt;br /&gt;
 Call-Info&lt;br /&gt;
 Contact&lt;br /&gt;
 Content-Disposition&lt;br /&gt;
 Content-Encoding&lt;br /&gt;
 Content-Language&lt;br /&gt;
 Content-Length&lt;br /&gt;
 Content-Type&lt;br /&gt;
 CSeq&lt;br /&gt;
 Date&lt;br /&gt;
 Encryption&lt;br /&gt;
 Error-Info&lt;br /&gt;
 Event&lt;br /&gt;
 Expires&lt;br /&gt;
 From&lt;br /&gt;
 In-Reply-To&lt;br /&gt;
 Max-Forwards&lt;br /&gt;
 MIME-version&lt;br /&gt;
 Min-Expires&lt;br /&gt;
 Min-SE&lt;br /&gt;
 Organization&lt;br /&gt;
 P-Asserted-Identity&lt;br /&gt;
 P-Media-Authorization&lt;br /&gt;
 P-Preferred-Identity&lt;br /&gt;
 Priority&lt;br /&gt;
 Privacy&lt;br /&gt;
 Proxy-Authenticate&lt;br /&gt;
 Proxy-Authorization&lt;br /&gt;
 Proxy-Require&lt;br /&gt;
 RAck&lt;br /&gt;
 Reason&lt;br /&gt;
 Record-Route&lt;br /&gt;
 Refer-To&lt;br /&gt;
 Referred-By&lt;br /&gt;
 Reject-Contact&lt;br /&gt;
 Remote-Party-ID&lt;br /&gt;
 Replaces&lt;br /&gt;
 Reply-To&lt;br /&gt;
 Request-Disposition&lt;br /&gt;
 Require&lt;br /&gt;
 Response-Key&lt;br /&gt;
 Retry-After&lt;br /&gt;
 Route&lt;br /&gt;
 RPID-Privacy&lt;br /&gt;
 RSeq&lt;br /&gt;
 Security-Client&lt;br /&gt;
 Security-Server&lt;br /&gt;
 Security-Verify&lt;br /&gt;
 Server&lt;br /&gt;
 Service-Route&lt;br /&gt;
 Session-Expires&lt;br /&gt;
 Subject&lt;br /&gt;
 Subscription-State&lt;br /&gt;
 Supported&lt;br /&gt;
 Timestamp&lt;br /&gt;
 To&lt;br /&gt;
 Unsupported&lt;br /&gt;
 User-Agen&lt;br /&gt;
 Via&lt;br /&gt;
 Warning&lt;br /&gt;
 WWW-Authenticate&lt;br /&gt;
&lt;br /&gt;
== Links on Call Detail Records==&lt;br /&gt;
*[[Call_detail_record|CDR]]&lt;br /&gt;
*[[Text_Call_Detail_Records|Text CDR]]&lt;br /&gt;
*[[RADIUS|Radius CDR]]&lt;/div&gt;</summary>
		<author><name>Luc Morissette</name></author>
	</entry>
</feed>