mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	* Add a Makefile in doc/tex/ for generating PDF and HTML * Add a README.txt file to doc/tex/ to document which tools are used and what web sites to visit for getting them. * Update build_tools/prep_tarball to put the proper Asterisk version string in the automatically generated PDF for release tarballs git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72982 65c4cc65-6c06-0410-ace0-fbb531ad65f3
		
			
				
	
	
		
			88 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
| \section{Applications}
 | |
| 
 | |
| \begin{itemize}
 | |
|     \item SetAccount - 		Set account code for billing
 | |
|     \item SetAMAFlags -		Sets AMA flags
 | |
|     \item NoCDR - 		Make sure no CDR is saved for a specific call
 | |
|     \item ResetCDR -  		Reset CDR
 | |
|     \item ForkCDR -		Save current CDR and start a new CDR for this call
 | |
|     \item Authenticate -	Authenticates and sets the account code
 | |
|     \item SetCDRUserField -  	Set CDR user field
 | |
|     \item AppendCDRUserField - 	Append data to CDR User field 
 | |
| \end{itemize}
 | |
| 
 | |
| For more information, use the "core show application <application>" command.
 | |
| You can set default account codes and AMA flags for devices in 
 | |
| channel configuration files, like sip.conf, iax.conf etc.
 | |
| 
 | |
| 
 | |
| \section{Fields of the CDR in Asterisk}
 | |
| 
 | |
| \begin{itemize}
 | |
|    \item accountcode:	What account number to use, (string, 20 characters)
 | |
|    \item src:		Caller*ID number (string, 80 characters)
 | |
|    \item dst:		Destination extension (string, 80 characters)
 | |
|    \item dcontext:		Destination context (string, 80 characters)
 | |
|    \item clid:		Caller*ID with text (80 characters)
 | |
|    \item channel:		Channel used (80 characters)
 | |
|    \item dstchannel:	Destination channel if appropriate (80 characters)
 | |
|    \item lastapp:		Last application if appropriate (80 characters)
 | |
|    \item lastdata:		Last application data (arguments) (80 characters)
 | |
|    \item start:		Start of call (date/time)
 | |
|    \item answer:		Answer of call (date/time)
 | |
|    \item end:		End of call (date/time)
 | |
|    \item duration:		Total time in system, in seconds (integer), from dial to hangup
 | |
|    \item billsec:		Total time call is up, in seconds (integer), from answer to hangup
 | |
|    \item disposition:	What happened to the call: ANSWERED, NO ANSWER, BUSY
 | |
|    \item amaflags:		What flags to use: DOCUMENTATION, BILL, IGNORE etc, 
 | |
|       			specified on a per channel basis like accountcode.
 | |
|    \item user field:	A user-defined field, maximum 255 characters 
 | |
| \end{itemize}
 | |
| 
 | |
| In some cases, uniqueid is appended:
 | |
| 
 | |
| \begin{itemize}
 | |
|    \item uniqueid:		Unique Channel Identifier (32 characters) 
 | |
|       This needs to be enabled in the source code at compile time
 | |
| \end{itemize}
 | |
| 
 | |
| NOTE: If you use IAX2 channels for your calls, and allow 'full' transfers
 | |
| (not media-only transfers), then when the calls is transferred the server
 | |
| in the middle will no longer be involved in the signaling path, and thus
 | |
| will not generate accurate CDRs for that call. If you can, use media-only
 | |
| transfers with IAX2 to avoid this problem, or turn off transfers completely
 | |
| (although this can result in a media latency increase since the media packets
 | |
| have to traverse the middle server(s) in the call).
 | |
| 
 | |
| \section{CDR Variables}
 | |
| 
 | |
| If the channel has a cdr, that cdr record has its own set of variables which 
 | |
| can be accessed just like channel variables. The following builtin variables
 | |
| are available.
 | |
| 
 | |
| \begin{verbatim}
 | |
| ${CDR(clid)}			Caller ID
 | |
| ${CDR(src)}			Source 
 | |
| ${CDR(dst)}			Destination
 | |
| ${CDR(dcontext)}		Destination context
 | |
| ${CDR(channel)}			Channel name
 | |
| ${CDR(dstchannel)}		Destination channel
 | |
| ${CDR(lastapp)}			Last app executed
 | |
| ${CDR(lastdata)}		Last app's arguments
 | |
| ${CDR(start)}			Time the call started.
 | |
| ${CDR(answer)}			Time the call was answered.
 | |
| ${CDR(end)}			Time the call ended.
 | |
| ${CDR(duration)}		Duration of the call.
 | |
| ${CDR(billsec)}			Duration of the call once it was answered.
 | |
| ${CDR(disposition)}		ANSWERED, NO ANSWER, BUSY
 | |
| ${CDR(amaflags)}		DOCUMENTATION, BILL, IGNORE etc
 | |
| ${CDR(accountcode)}		The channel's account code.
 | |
| ${CDR(uniqueid)}		The channel's unique id.
 | |
| ${CDR(userfield)}		The channels uses specified field.
 | |
| \end{verbatim}
 | |
| 
 | |
| In addition, you can set your own extra variables by using Set(CDR(name)=value).
 | |
| These variables can be output into a text-format CDR by using the cdr\_custom
 | |
| CDR driver; see the cdr\_custom.conf.sample file in the configs directory for
 | |
| an example of how to do this.
 |