Summary: | ASTERISK-23174: CDR documentation issues | ||||||
Reporter: | Rusty Newton (rnewton) | Labels: | |||||
Date Opened: | 2014-01-21 20:56:10.000-0600 | Date Closed: | |||||
Priority: | Minor | Regression? | |||||
Status: | Open/New | Components: | CDR/cdr_custom CDR/General Documentation | ||||
Versions: | SVN 1.8.25.0 11.7.0 12.0.0 13.18.4 | Frequency of Occurrence | Constant | ||||
Related Issues: |
| ||||||
Environment: | Asterisk 12, chan_sip, app_queue, cdr_custom, cdr_csv | Attachments: | |||||
Description: | Found a few CDR related documentation issues while looking into ASTERISK-23069 and ASTERISK-23046.
Due to the nature of the two issues, the test involved a SIP peer calling into a Queue and being answered by a queue member. * CDR variables are set on the calling channel and the called channel. That is, we are setting CDR before AND after a macro OR gosub is called from app_queue (see macro or gosub params). The macro and gosub are executed on the called channel. * I observed this behavior with both cdr_csv.so and cdr_custom.so Description in CDR function help text: {noformat} All of the CDR field names are read-only, except for 'accountcode', 'user field', and 'amaflags'. You may, however, supply a name not on the above list, and create your own variable, whose value can be changed with this function, and this variable will be stored on the CDR. NOTE: CDRs can only be modified before the bridge between two channels is torn down. For example, CDRs may not be modified after the 'Dial' application has returned. Example: exten => 1,1,Set(CDR(userfield)=test) {noformat} ISSUE 1 The line {noformat} You may, however, supply a name not on the above list, and create your own variable, whose value can be changed with this function, and this variable will be stored on the CDR. {noformat} Should be modified to explicitly say that the CDR would only be available in CDR backends that support custom fields. For example, cdr_csv does not, but cdr_custom does. ISSUE 2 *cdr_csv and cdr_custom*: Setting the userfield on each channel involved in the call results in the field having two values delimited by a semi-colon. This is not mentioned in documentation anywhere This should be documented on the wiki as it has always been this way. The behavior was also carried over into 12 to avoid breaking things. ISSUE 3 *cdr_csv and cdr_custom*: Setting the userfield once, on the called channel, results in a value prefixed with a semi-colon. This is not mentioned in the documentation. This should be documented on the wiki and mention that you should always expect a ';' if the called party has a userfield. | ||||||
Comments: |