Campos del CDR
- accountcode: What account number to use, (string, 20 characters)
- src: Caller*ID number (string, 80 characters)
- dst: Destination extension (string, 80 characters)
- dcontext: Destination context (string, 80 characters)
- clid: Caller*ID with text (80 characters)
- channel: Channel used (80 characters)
- dstchannel: Destination channel if appropriate (80 characters)
- lastapp: Last application if appropriate (80 characters)
- lastdata: Last application data (arguments) (80 characters)
- start: Start of call (date/time)
- answer: Answer of call (date/time)
- end: End of call (date/time)
- duration: Total time in system, in seconds (integer), from dial to hangup
- billsec: Total time call is up, in seconds (integer), from answer to hangup
- disposition: What happened to the call: ANSWERED, NO ANSWER, BUSY
- amaflags: What flags to use: DOCUMENTATION, BILL, IGNORE etc, specified on a per channel basis like accountcode.
- user field: A user-defined field, maximum 255 characters
In some cases, uniqueid is appended:
- uniqueid: Unique Channel Identifier (32 characters) This needs to be enabled in the source code at compile time
| 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). |
In 1.8 and later
In some CDR backends, the following fields may also be supported:
- linkedid: a unique identifier based on uniqueid. Unlike uniqueid,
but spreads to other channels as transfers, dials, etc are performed
- peeraccount: the account code of the bridged channel
- sequence: a field that can be combined with uniqueid and linkedid to uniquely identify a CDR https://wiki.asterisk.org/wiki/display/AST/CDR+Fields
[some_context]
;dial trunk
exten => _X.,1,Dial(SIP/trunk/${EXTEN})
;exten h must be in same context!
exten => h,1,noop("extended CDR")
exten => h,n,set(CDR(hangupcause)=${HANGUPCAUSE}) ; hangupcause
exten => h,n,set(CDR(peerip)=${CHANNEL(peerip)}) ; like 10.0.0.5 if behind nat
exten => h,n,set(CDR(recvip)=${CHANNEL(recvip)}) ; like 194.79.52.192 - public ip
exten => h,n,set(CDR(from)=${CHANNEL(from)}) ; like sip:1111@sip.proxy.cz
exten => h,n,set(CDR(uri)=${CHANNEL(uri)}) ; like sip:1111@10.0.0.5
exten => h,n,set(CDR(useragent)=${CHANNEL(useragent)}) ; useragent like Aastra_57i
exten => h,n,set(CDR(codec1)=${CHANNEL(audioreadformat)}) ; codec *
exten => h,n,set(CDR(codec2)=${CHANNEL(audiowriteformat)}) ;
exten => h,n,set(CDR(llp)=${CHANNEL(rtpqos,audio,local_lostpackets)}) ; lost packets by local end **
exten => h,n,set(CDR(rlp)=${CHANNEL(rtpqos,audio,remote_lostpackets)}) ; lost packets by remote end
exten => h,n,set(CDR(ljitt)=${CHANNEL(rtpqos,audio,local_jitter)}) ; the same for jitter
exten => h,n,set(CDR(rjitt)=${CHANNEL(rtpqos,audio,remote_jitter)})
No hay comentarios:
Publicar un comentario