aboutsummaryrefslogtreecommitdiffstats
path: root/doc/tex/cel-doc.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/tex/cel-doc.tex')
-rw-r--r--doc/tex/cel-doc.tex958
1 files changed, 0 insertions, 958 deletions
diff --git a/doc/tex/cel-doc.tex b/doc/tex/cel-doc.tex
deleted file mode 100644
index dc007181a..000000000
--- a/doc/tex/cel-doc.tex
+++ /dev/null
@@ -1,958 +0,0 @@
-
-\section{Design Goals}
-
-CEL, or Channel Event Logging, has been written with the hopes that it will help
-solve some of the problems that were difficult to address in CDR records. Some
-difficulties in CDR generation are the fact that the CDR record stores three
-events: the "Start" time, the "Answer" time, and the "End" time. Billing time is
-usually the difference between "Answer" and "End", and total call duration was
-the difference in time from "Start" to "End". The trouble with this direct and
-simple approach is the fact that calls can be transferred, put on hold,
-conferenced, forwarded, etc. In general, those doing billing applications in
-Asterisk find they have to do all sorts of very creative things to overcome the
-shortcomings of CDR records, often supplementing the CDR records with AGI
-scripts and manager event filters.
-
-The fundamental assumption is that the Channel is the fundamental communication
-object in asterisk, which basically provides a communication channel between two
-communication ports. It makes sense to have an event system aimed at recording
-important events on channels. Each event is attached to a channel, like ANSWER
-or HANGUP. Some events are meant to connect two or more channels, like the
-BRIDGE\_START event. Some events, like BLINDTRANSFER, are initiated by one
-channel, but affect two others. These events use the Peer field, like BRIDGE
-would, to point to the target channel.
-
-The design philosophy of CEL is to generate event data that can grouped together
-to form a billing record. This may not be a simple task, but we hope to provide
-a few different examples that could be used as a basis for those involved in
-this effort.
-
-There are definite parallels between Manager events and CEL events, but there
-are some differences. Some events that are generated by CEL are not generated
-by the Manager interface (yet). CEL is optimized for databases, and Manager
-events are not. The focus of CEL is billing. The Manager interface is targeted
-to real-time monitoring and control of asterisk.
-
-To give the reader a feel for the complexities involved in billing, please take
-note of the following sequence of events:
-
-Remember that 150, 151, and 152 are all Zap extension numbers, and their
-respective devices are Zap/50, Zap/51, and Zap/52.
-
-152 dials 151; 151 answers. 152 parks 151; 152 hangs up. 150 picks up the park
-(dials 701). 150 and 151 converse. 151 flashes hook; dials 152, talks to 152,
-then 151 flashes hook again for 3-way conference. 151 converses with the other
-two for a while, then hangs up. 150 and 152 keep conversing, then hang up. 150
-hangs up first.(not that it matters).
-
-This sequence of actions will generate the following annotated list of 42 CEL
-events:
-
-{\it Note that the actual CEL events below are in CSV format and do not include
- the ;;; and text after that which gives a description of what the event
- represents.}
-
-\begin{astlisting}
-"EV\_CHAN\_START","2007-05-09 12:46:16","fxs.52","152","","","","s","extension","Zap/52-1","","","DOCUMENTATION","","1178736376.3","","" ;;; 152 takes the phone off-hook
-
-"EV\_APP\_START","2007-05-09 12:46:18","fxs.52","152","152","","","151","extension","Zap/52-1","Dial","Zap/51|30|TtWw","DOCUMENTATION","","1178736376.3" ;;; 152 finishes dialing 151
-
-"EV\_CHAN\_START","2007-05-09 12:46:18","fxs.51","151","","","","s","extension","Zap/51-1","","","DOCUMENTATION","","1178736378.4","","" ;;; 151 channel created, starts ringing
-
-{\it (151 is ringing)}
-
-"EV\_ANSWER","2007-05-09 12:46:19","","151","152","","","151","extension","Zap/51-1","AppDial","(Outgoing Line)","DOCUMENTATION","","1178736378.4","","" ;;; 151 answers
-
-"EV\_ANSWER","2007-05-09 12:46:19","fxs.52","152","152","","","151","extension","Zap/52-1","Dial","Zap/51|30|TtWw","DOCUMENTATION","","1178736376.3","","" ;;; so does 152 (???)
-
-"EV\_BRIDGE\_START","2007-05-09 12:46:20","fxs.52","152","152","","","151","extension","Zap/52-1","Dial","Zap/51|30|TtWw","DOCUMENTATION","","1178736376.3","","Zap/51-1" ;;; 152 and 151 are bridged
-
-{\it (151 and 152 are conversing)}
-
-"EV\_BRIDGE\_END","2007-05-09 12:46:25","fxs.52","152","152","","","151","extension","Zap/52-1","Dial","Zap/51|30|TtWw","DOCUMENTATION","","1178736376.3","","" ;;; after 5 seconds, the bridge ends (152 dials \#700?)
-
-"EV\_BRIDGE\_START","2007-05-09 12:46:25","fxs.52","152","152","","","151","extension","Zap/52-1","Dial","Zap/51|30|TtWw","DOCUMENTATION","","1178736376.3","","Zap/51-1" ;;; extraneous 0-second bridge?
-
-"EV\_BRIDGE\_END","2007-05-09 12:46:25","fxs.52","152","152","","","151","extension","Zap/52-1","Dial","Zap/51|30|TtWw","DOCUMENTATION","","1178736376.3","","" ;;;
-
-"EV\_PARK\_START","2007-05-09 12:46:27","","151","152","","","","extension","Zap/51-1","Parked Call","","DOCUMENTATION","","1178736378.4","","" ;;; 151 is parked
-
-"EV\_HANGUP","2007-05-09 12:46:29","fxs.52","152","152","","","h","extension","Zap/52-1","","","DOCUMENTATION","","1178736376.3" ,"","" ;;; 152 hangs up 2 sec later
-
-"EV\_CHAN\_END","2007-05-09 12:46:29","fxs.52","152","152","","","h","extension","Zap/52-1","","","DOCUMENTATION","","1178736376.3","","" ;;; 152's channel goes away
-
-{\it (151 is parked and listening to MOH! now, 150 picks up, and dials 701)}
-
-"EV\_CHAN\_START","2007-05-09 12:47:08","fxs.50","150","","","","s","extension","Zap/50-1","","","DOCUMENTATION","","1178736428.5","","" ;;; 150 picks up the phone, dials 701
-
-"EV\_PARK\_END","2007-05-09 12:47:11","","151","152","","","","extension","Zap/51-1","Parked Call","","DOCUMENTATION","","1178736378.4","","" ;;; 151's park comes to end
-
-"EV\_ANSWER","2007-05-09 12:47:11","fxs.50","150","150","","","701","extension","Zap/50-1","ParkedCall","701","DOCUMENTATION","","1178736428.5","","" ;;; 150 gets answer (twice)
-
-"EV\_ANSWER","2007-05-09 12:47:12","fxs.50","150","150","","","701","extension","Zap/50-1","ParkedCall","701","DOCUMENTATION","","1178736428.5","","" ;;;
-
-"EV\_BRIDGE\_START","2007-05-09 12:47:12","fxs.50","150","150","","","701","extension","Zap/50-1","ParkedCall","701","DOCUMENTATION","","1178736428.5","","Zap/51-1" ;;; bridge begins between 150 and recently parked 151
-
-{\it (150 and 151 are conversing, then 151 hits flash)}
-
-"EV\_CHAN\_START","2007-05-09 12:47:51","fxs.51","151","","","","s","extension","Zap/51-2","","","DOCUMENTATION","","1178736471.6","","" ;;; 39 seconds later, 51-2 channel is created. (151 flashes hook)
-
-"EV\_HOOKFLASH","2007-05-09 12:47:51","","151","152","","","","extension","Zap/51-1","Bridged Call","Zap/50-1","DOCUMENTATION","","1178736378.4","","Zap/51-2" ;;; a marker to record that 151 flashed the hook
-
-"EV\_BRIDGE\_END","2007-05-09 12:47:51","fxs.50","150","150","","","701","extension","Zap/50-1","ParkedCall","701","DOCUMENTATION","","1178736428.5","","Zap/51-1" ;;; bridge ends between 150 and 151
-
-"EV\_BRIDGE\_START","2007-05-09 12:47:51","fxs.50","150","150","","","701","extension","Zap/50-1","ParkedCall","701","DOCUMENTATION","","1178736428.5","","Zap/51-1" ;;; 0-second bridge from 150 to ? 150 gets no sound at all
-
-"EV\_BRIDGE\_END","2007-05-09 12:47:51","fxs.50","150","150","","","701","extension","Zap/50-1","ParkedCall","701","DOCUMENTATION","","1178736428.5","","Zap/51-1" ;;;
-
-"EV\_BRIDGE\_START","2007-05-09 12:47:51","fxs.50","150","150","","","701","extension","Zap/50-1","ParkedCall","701","DOCUMENTATION","","1178736428.5","","Zap/51-1" ;;; bridge start on 150
-
-{\it (151 has dialtone after hitting flash; dials 152)}
-
-"EV\_APP\_START","2007-05-09 12:47:55","fxs.51","151","151","","","152","extension","Zap/51-2","Dial","Zap/52|30|TtWw","DOCUMENTATION","","1178736471.6","","" ;;; 151-2 dials 152 after 4 seconds
-
-"EV\_CHAN\_START","2007-05-09 12:47:55","fxs.52","152","","","","s","extension","Zap/52-1","","","DOCUMENTATION","","1178736475.7" ,"","" ;;; 152 channel created to ring 152.
-
-{\it (152 ringing)}
-
-"EV\_ANSWER","2007-05-09 12:47:58","","152","151","","","152","extension","Zap/52-1","AppDial","(Outgoing Line)","DOCUMENTATION","","1178736475.7","","" ;;; 3 seconds later, 152 answers
-
-"EV\_ANSWER","2007-05-09 12:47:58","fxs.51","151","151","","","152","extension","Zap/51-2","Dial","Zap/52|30|TtWw","DOCUMENTATION","","1178736471.6","","" ;;; ... and 151-2 also answers
-
-"EV\_BRIDGE\_START","2007-05-09 12:47:59","fxs.51","151","151","","","152","extension","Zap/51-2","Dial","Zap/52|30|TtWw","DOCUMENTATION","","1178736471.6","","Zap/51-1" ;;; 1 second later, bridge formed betw. 151-2 and 151
-
-{\it (152 answers, 151 and 152 convering; 150 is listening to silence; 151 hits flash again... to start a 3way)}
-
-"EV\_3WAY\_START","2007-05-09 12:48:58","","151","152","","","","extension","Zap/51-1","Bridged Call","Zap/50-1","DOCUMENTATION","","1178736378.4","","Zap/51-2" ;;; another hook-flash to begin a 3-way conference
-
-"EV\_BRIDGE\_END","2007-05-09 12:48:58","fxs.50","150","150","","","701","extension","Zap/50-1","ParkedCall","701","DOCUMENTATION","","1178736428.5","","Zap/51-1" ;;; -- almost 1 minute later, the bridge ends (151 flashes hook again)
-
-"EV\_BRIDGE\_START","2007-05-09 12:48:58","fxs.50","150","150","","","701","extension","Zap/50-1","ParkedCall","701","DOCUMENTATION","","1178736428.5","","Zap/51-1" ;;; 0-second bridge at 150. (3 way conf formed)
-
-"EV\_BRIDGE\_END","2007-05-09 12:48:58","fxs.50","150","150","","","701","extension","Zap/50-1","ParkedCall","701","DOCUMENTATION","","1178736428.5","","Zap/51-1" ;;;
-
-"EV\_BRIDGE\_START","2007-05-09 12:48:58","fxs.50","150","150","","","701","extension","Zap/50-1","ParkedCall","701","DOCUMENTATION","","1178736428.5","","Zap/51-1" ;;; bridge starts for 150
-
-{\it (3way now, then 151 hangs up.)}
-
-"EV\_BRIDGE\_END","2007-05-09 12:49:26","fxs.50","150","150","","","701","extension","Zap/50-1","ParkedCall","701","DOCUMENTATION","","1178736428.5","","Zap/51-1" ;;; 28 seconds later, bridge ends
-
-"EV\_HANGUP","2007-05-09 12:49:26","","151","152","","","","extension","Zap/51-1","Bridged Call","Zap/50-1","DOCUMENTATION","","1178736378.4","","" ;;; 151 hangs up, leaves 150 and 152 connected
-
-"EV\_CHAN\_END","2007-05-09 12:49:26","","151","152","","","","extension","Zap/51-1","Bridged Call","Zap/50-1","DOCUMENTATION","","1178736378.4","","" ;;; 151 channel ends
-
-"EV\_CHAN\_END","2007-05-09 12:49:26","fxs.51","151","151","","","h","extension","Zap/51-2$<$ZOMBIE$>$","","","DOCUMENTATION","","1178736428.5","","" ;;; 152-2 channel ends (zombie)
-
-{\it (just 150 and 152 now)}
-
-"EV\_BRIDGE\_END","2007-05-09 12:50:13","fxs.50","150","150","","","152","extension","Zap/50-1","Dial","Zap/52|30|TtWw","DOCUMENTATION","","1178736471.6","","" ;;; 47 sec later, the bridge from 150 to 152 ends
-
-"EV\_HANGUP","2007-05-09 12:50:13","","152","151","","","","extension","Zap/52-1","Bridged Call","Zap/50-1","DOCUMENTATION","","1178736475.7","","" ;;; 152 hangs up
-
-"EV\_CHAN\_END","2007-05-09 12:50:13","","152","151","","","","extension","Zap/52-1","Bridged Call","Zap/50-1","DOCUMENTATION","","1178736475.7","","" ;;; 152 channel ends
-
-"EV\_HANGUP","2007-05-09 12:50:13","fxs.50","150","150","","","h","extension","Zap/50-1","","","DOCUMENTATION","","1178736471.6","","" ;;; 150 hangs up
-
-"EV\_CHAN\_END","2007-05-09 12:50:13","fxs.50","150","150","","","h","extension","Zap/50-1","","","DOCUMENTATION","","1178736471.6","","" ;;; 150 ends
-\end{astlisting}
-
-In terms of Manager events, the above Events correspond to the following 80
-Manager events:
-
-\begin{astlisting}
-\begin{verbatim}
-Event: Newchannel
-Privilege: call,all
-Channel: Zap/52-1
-State: Rsrvd
-CallerIDNum: 152
-CallerIDName: fxs.52
-Uniqueid: 1178801102.5
-
-Event: Newcallerid
-Privilege: call,all
-Channel: Zap/52-1
-CallerIDNum: 152
-CallerIDName: fxs.52
-Uniqueid: 1178801102.5
-CID-CallingPres: 0 (Presentation Allowed, Not Screened)
-
-Event: Newcallerid
-Privilege: call,all
-Channel: Zap/52-1
-CallerIDNum: 152
-CallerIDName: fxs.52
-Uniqueid: 1178801102.5
-CID-CallingPres: 0 (Presentation Allowed, Not Screened)
-
-Event: Newstate
-Privilege: call,all
-Channel: Zap/52-1
-State: Ring
-CallerIDNum: 152
-CallerIDName: fxs.52
-Uniqueid: 1178801102.5
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/52-1
-Context: extension
-Extension: 151
-Priority: 1
-Application: Set
-AppData: CDR(myvar)=zingo
-Uniqueid: 1178801102.5
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/52-1
-Context: extension
-Extension: 151
-Priority: 2
-Application: Dial
-AppData: Zap/51|30|TtWw
-Uniqueid: 1178801102.5
-
-Event: Newchannel
-Privilege: call,all
-Channel: Zap/51-1
-State: Rsrvd
-CallerIDNum: 151
-CallerIDName: fxs.51
-Uniqueid: 1178801108.6
-
-Event: Newstate
-Privilege: call,all
-Channel: Zap/51-1
-State: Ringing
-CallerIDNum: 152
-CallerIDName: fxs.52
-Uniqueid: 1178801108.6
-
-Event: Dial
-Privilege: call,all
-SubEvent: Begin
-Source: Zap/52-1
-Destination: Zap/51-1
-CallerIDNum: 152
-CallerIDName: fxs.52
-SrcUniqueID: 1178801102.5
-DestUniqueID: 1178801108.6
-
-Event: Newcallerid
-Privilege: call,all
-Channel: Zap/51-1
-CallerIDNum: 151
-CallerIDName: <Unknown>
-Uniqueid: 1178801108.6
-CID-CallingPres: 0 (Presentation Allowed, Not Screened)
-
-Event: Newstate
-Privilege: call,all
-Channel: Zap/52-1
-State: Ringing
-CallerIDNum: 152
-CallerIDName: fxs.52
-Uniqueid: 1178801102.5
-
-Event: Newstate
-Privilege: call,all
-Channel: Zap/51-1
-State: Up
-CallerIDNum: 151
-CallerIDName: <unknown>
-Uniqueid: 1178801108.6
-
-Event: Newstate
-Privilege: call,all
-Channel: Zap/52-1
-State: Up
-CallerIDNum: 152
-CallerIDName: fxs.52
-Uniqueid: 1178801102.5
-
-Event: Link
-Privilege: call,all
-Channel1: Zap/52-1
-Channel2: Zap/51-1
-Uniqueid1: 1178801102.5
-Uniqueid2: 1178801108.6
-CallerID1: 152
-CallerID2: 151
-
-Event: Unlink
-Privilege: call,all
-Channel1: Zap/52-1
-Channel2: Zap/51-1
-Uniqueid1: 1178801102.5
-Uniqueid2: 1178801108.6
-CallerID1: 152
-CallerID2: 151
-
-Event: Link
-Privilege: call,all
-Channel1: Zap/52-1
-Channel2: Zap/51-1
-Uniqueid1: 1178801102.5
-Uniqueid2: 1178801108.6
-CallerID1: 152
-CallerID2: 151
-
-Event: Unlink
-Privilege: call,all
-Channel1: Zap/52-1
-Channel2: Zap/51-1
-Uniqueid1: 1178801102.5
-Uniqueid2: 1178801108.6
-CallerID1: 152
-CallerID2: 151
-
-Event: ParkedCall
-Privilege: call,all
-Exten: 701
-Channel: Zap/51-1
-From: Zap/52-1
-Timeout: 45
-CallerIDNum: 151
-CallerIDName: <unknown>
-
-Event: Dial
-Privilege: call,all
-SubEvent: End
-Channel: Zap/52-1
-DialStatus: ANSWER
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/52-1
-Context: extension
-Extension: h
-Priority: 1
-Application: Goto
-AppData: label1
-Uniqueid: 1178801102.5
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/52-1
-Context: extension
-Extension: h
-Priority: 4
-Application: Goto
-AppData: label2
-Uniqueid: 1178801102.5
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/52-1
-Context: extension
-Extension: h
-Priority: 2
-Application: NoOp
-AppData: In Hangup! myvar is zingo and accountcode is billsec is 26 and duration is 40 and end is 2007-05-10 06:45:42.
-Uniqueid: 1178801102.5
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/52-1
-Context: extension
-Extension: h
-Priority: 3
-Application: Goto
-AppData: label3
-Uniqueid: 1178801102.5
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/52-1
-Context: extension
-Extension: h
-Priority: 5
-Application: NoOp
-AppData: More Hangup message after hopping around"
-Uniqueid: 1178801102.5
-
-Event: Hangup
-Privilege: call,all
-Channel: Zap/52-1
-Uniqueid: 1178801102.5
-Cause: 16
-Cause-txt: Normal Clearing
-
-Event: Newchannel
-Privilege: call,all
-Channel: Zap/50-1
-State: Rsrvd
-CallerIDNum: 150
-CallerIDName: fxs.50
-Uniqueid: 1178801162.7
-
-Event: Newcallerid
-Privilege: call,all
-Channel: Zap/50-1
-CallerIDNum: 150
-CallerIDName: fxs.50
-Uniqueid: 1178801162.7
-CID-CallingPres: 0 (Presentation Allowed, Not Screened)
-
-Event: Newcallerid
-Privilege: call,all
-Channel: Zap/50-1
-CallerIDNum: 150
-CallerIDName: fxs.50
-Uniqueid: 1178801162.7
-CID-CallingPres: 0 (Presentation Allowed, Not Screened)
-
-Event: Newstate
-Privilege: call,all
-Channel: Zap/50-1
-State: Ring
-CallerIDNum: 150
-CallerIDName: fxs.50
-Uniqueid: 1178801162.7
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/50-1
-Context: extension
-Extension: 701
-Priority: 1
-Application: ParkedCall
-AppData: 701
-Uniqueid: 1178801162.7
-
-Event: UnParkedCall
-Privilege: call,all
-Exten: 701
-Channel: Zap/51-1
-From: Zap/50-1
-CallerIDNum: 151
-CallerIDName: <unknown>
-
-Event: Newstate
-Privilege: call,all
-Channel: Zap/50-1
-State: Up
-CallerIDNum: 150
-CallerIDName: fxs.50
-Uniqueid: 1178801162.7
-
-Event: Link
-Privilege: call,all
-Channel1: Zap/50-1
-Channel2: Zap/51-1
-Uniqueid1: 1178801162.7
-Uniqueid2: 1178801108.6
-CallerID1: 150
-CallerID2: 151
-
-Event: Newchannel
-Privilege: call,all
-Channel: Zap/51-2
-State: Rsrvd
-CallerIDNum: 151
-CallerIDName: fxs.51
-Uniqueid: 1178801218.8
-
-Event: Unlink
-Privilege: call,all
-Channel1: Zap/50-1
-Channel2: Zap/51-1
-Uniqueid1: 1178801162.7
-Uniqueid2: 1178801108.6
-CallerID1: 150
-CallerID2: 151
-
-Event: Link
-Privilege: call,all
-Channel1: Zap/50-1
-Channel2: Zap/51-1
-Uniqueid1: 1178801162.7
-Uniqueid2: 1178801108.6
-CallerID1: 150
-CallerID2: 151
-
-Event: Unlink
-Privilege: call,all
-Channel1: Zap/50-1
-Channel2: Zap/51-1
-Uniqueid1: 1178801162.7
-Uniqueid2: 1178801108.6
-CallerID1: 150
-CallerID2: 151
-
-Event: Link
-Privilege: call,all
-Channel1: Zap/50-1
-Channel2: Zap/51-1
-Uniqueid1: 1178801162.7
-Uniqueid2: 1178801108.6
-CallerID1: 150
-CallerID2: 151
-
-Event: Newcallerid
-Privilege: call,all
-Channel: Zap/51-2
-CallerIDNum: 151
-CallerIDName: fxs.51
-Uniqueid: 1178801218.8
-CID-CallingPres: 0 (Presentation Allowed, Not Screened)
-
-Event: Newcallerid
-Privilege: call,all
-Channel: Zap/51-2
-CallerIDNum: 151
-CallerIDName: fxs.51
-Uniqueid: 1178801218.8
-CID-CallingPres: 0 (Presentation Allowed, Not Screened)
-
-Event: Newstate
-Privilege: call,all
-Channel: Zap/51-2
-State: Ring
-CallerIDNum: 151
-CallerIDName: fxs.51
-Uniqueid: 1178801218.8
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/51-2
-Context: extension
-Extension: 152
-Priority: 1
-Application: Set
-AppData: CDR(myvar)=zingo
-Uniqueid: 1178801218.8
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/51-2
-Context: extension
-Extension: 152
-Priority: 2
-Application: Dial
-AppData: Zap/52|30|TtWw
-Uniqueid: 1178801218.8
-
-Event: Newchannel
-Privilege: call,all
-Channel: Zap/52-1
-State: Rsrvd
-CallerIDNum: 152
-CallerIDName: fxs.52
-Uniqueid: 1178801223.9
-
-Event: Newstate
-Privilege: call,all
-Channel: Zap/52-1
-State: Ringing
-CallerIDNum: 151
-CallerIDName: fxs.51
-Uniqueid: 1178801223.9
-
-Event: Dial
-Privilege: call,all
-SubEvent: Begin
-Source: Zap/51-2
-Destination: Zap/52-1
-CallerIDNum: 151
-CallerIDName: fxs.51
-SrcUniqueID: 1178801218.8
-DestUniqueID: 1178801223.9
-
-Event: Newcallerid
-Privilege: call,all
-Channel: Zap/52-1
-CallerIDNum: 152
-CallerIDName: <Unknown>
-Uniqueid: 1178801223.9
-CID-CallingPres: 0 (Presentation Allowed, Not Screened)
-
-Event: Newstate
-Privilege: call,all
-Channel: Zap/51-2
-State: Ringing
-CallerIDNum: 151
-CallerIDName: fxs.51
-Uniqueid: 1178801218.8
-
-Event: Newstate
-Privilege: call,all
-Channel: Zap/52-1
-State: Up
-CallerIDNum: 152
-CallerIDName: <unknown>
-Uniqueid: 1178801223.9
-
-Event: Newstate
-Privilege: call,all
-Channel: Zap/51-2
-State: Up
-CallerIDNum: 151
-CallerIDName: fxs.51
-Uniqueid: 1178801218.8
-
-Event: Link
-Privilege: call,all
-Channel1: Zap/51-2
-Channel2: Zap/52-1
-Uniqueid1: 1178801218.8
-Uniqueid2: 1178801223.9
-CallerID1: 151
-CallerID2: 152
-
-Event: Unlink
-Privilege: call,all
-Channel1: Zap/50-1
-Channel2: Zap/51-1
-Uniqueid1: 1178801162.7
-Uniqueid2: 1178801108.6
-CallerID1: 150
-CallerID2: 151
-
-Event: Link
-Privilege: call,all
-Channel1: Zap/50-1
-Channel2: Zap/51-1
-Uniqueid1: 1178801162.7
-Uniqueid2: 1178801108.6
-CallerID1: 150
-CallerID2: 151
-
-Event: Unlink
-Privilege: call,all
-Channel1: Zap/50-1
-Channel2: Zap/51-1
-Uniqueid1: 1178801162.7
-Uniqueid2: 1178801108.6
-CallerID1: 150
-CallerID2: 151
-
-Event: Link
-Privilege: call,all
-Channel1: Zap/50-1
-Channel2: Zap/51-1
-Uniqueid1: 1178801162.7
-Uniqueid2: 1178801108.6
-CallerID1: 150
-CallerID2: 151
-
-Event: Unlink
-Privilege: call,all
-Channel1: Zap/50-1
-Channel2: Zap/51-1
-Uniqueid1: 1178801162.7
-Uniqueid2: 1178801108.6
-CallerID1: 150
-CallerID2: 151
-
-Event: Hangup
-Privilege: call,all
-Channel: Zap/51-1
-Uniqueid: 1178801108.6
-Cause: 16
-Cause-txt: Normal Clearing
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/50-1
-Context: extension
-Extension: h
-Priority: 1
-Application: Goto
-AppData: label1
-Uniqueid: 1178801162.7
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/50-1
-Context: extension
-Extension: h
-Priority: 4
-Application: Goto
-AppData: label2
-Uniqueid: 1178801162.7
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/50-1
-Context: extension
-Extension: h
-Priority: 2
-Application: NoOp
-AppData: In Hangup! myvar is and accountcode is billsec is 0 and duration is 0 and end is 2007-05-10 06:48:37.
-Uniqueid: 1178801162.7
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/50-1
-Context: extension
-Extension: h
-Priority: 3
-Application: Goto
-AppData: label3
-Uniqueid: 1178801162.7
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/50-1
-Context: extension
-Extension: h
-Priority: 5
-Application: NoOp
-AppData: More Hangup message after hopping around"
-Uniqueid: 1178801162.7
-
-Event: Masquerade
-Privilege: call,all
-Clone: Zap/50-1
-CloneState: Up
-Original: Zap/51-2
-OriginalState: Up
-
-Event: Rename
-Privilege: call,all
-Oldname: Zap/50-1
-Newname: Zap/50-1<MASQ>
-Uniqueid: 1178801162.7
-
-Event: Rename
-Privilege: call,all
-Oldname: Zap/51-2
-Newname: Zap/50-1
-Uniqueid: 1178801218.8
-
-Event: Rename
-Privilege: call,all
-Oldname: Zap/50-1<MASQ>
-Newname: Zap/51-2<ZOMBIE>
-Uniqueid: 1178801162.7
-
-Event: Hangup
-Privilege: call,all
-Channel: Zap/51-2<ZOMBIE>
-Uniqueid: 1178801162.7
-Cause: 0
-Cause-txt: Unknown
-
-Event: Unlink
-Privilege: call,all
-Channel1: Zap/50-1
-Channel2: Zap/52-1
-Uniqueid1: 1178801218.8
-Uniqueid2: 1178801223.9
-CallerID1: 150
-CallerID2: 152
-
-Event: Hangup
-Privilege: call,all
-Channel: Zap/52-1
-Uniqueid: 1178801223.9
-Cause: 16
-Cause-txt: Normal Clearing
-
-Event: Dial
-Privilege: call,all
-SubEvent: End
-Channel: Zap/50-1
-DialStatus: ANSWER
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/50-1
-Context: extension
-Extension: h
-Priority: 1
-Application: Goto
-AppData: label1
-Uniqueid: 1178801218.8
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/50-1
-Context: extension
-Extension: h
-Priority: 4
-Application: Goto
-AppData: label2
-Uniqueid: 1178801218.8
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/50-1
-Context: extension
-Extension: h
-Priority: 2
-Application: NoOp
-AppData: In Hangup! myvar is and accountcode is billsec is 90 and duration is 94 and end is 2007-05-10 06:48:37.
-Uniqueid: 1178801218.8
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/50-1
-Context: extension
-Extension: h
-Priority: 3
-Application: Goto
-AppData: label3
-Uniqueid: 1178801218.8
-
-Event: Newexten
-Privilege: call,all
-Channel: Zap/50-1
-Context: extension
-Extension: h
-Priority: 5
-Application: NoOp
-AppData: More Hangup message after hopping around"
-Uniqueid: 1178801218.8
-
-Event: Hangup
-Privilege: call,all
-Channel: Zap/50-1
-Uniqueid: 1178801218.8
-Cause: 16
-Cause-txt: Normal Clearing
-\end{verbatim}
-\end{astlisting}
-
-And, humorously enough, the above 80 manager events, or 42 CEL events,
-correspond to the following two CDR records (at the moment!):
-
-\begin{astlisting}
-""fxs.52" $<$152$>$","152","h","extension","Zap/52-1","Zap/51-1","NoOp","More Hangup message after hopping around"","2007-05-09 17:35:56","2007-05-09 17:36:20","2007-05-09 17:36:36","40","16","ANSWERED","DOCUMENTATION","","1178753756.0",""
-
-""fxs.50" $<$150$>$","150","152","extension","Zap/50-1","Zap/51-1","NoOp","More Hangup message after hopping around"","2007-05-09 17:37:59","2007-05-09 17:38:06","2007-05-09 17:39:11","72","65","ANSWERED","DOCUMENTATION","","1178753871.3",""
-\end{astlisting}
-
-
-\section{Events \& Fields}
-
-While CDRs and the Manager are basically both event tracking mechanisms, CEL
-tries to track only those events that might pertain to billing issues.
-
-See table~\ref{event-table} for a list of events raised by CEL and
-table~\ref{field-table} for the list of fields passed for each CEL event.
-
-\begin{table}[h]
- \begin{tabular}{ | l | p{10cm} | }
- \hline
- Event & Description \\ \hline \hline
- CHAN\_START & The time a channel was created \\ \hline
- CHAN\_END & The time a channel was terminated \\ \hline
- ANSWER & The time a channel was answered (ie, phone taken off-hook, etc) \\ \hline
- HANGUP & The time at which a hangup occurred. \\ \hline
- CONF\_ENTER & The time a channel was connected into a conference room \\ \hline
- CONF\_EXIT & The time a channel was removed from a conference room \\ \hline
- CONF\_START & The time the first person enters a conference \\ \hline
- CONF\_END & The time the last person left a conf (and turned out the lights?) \\ \hline
- APP\_START & The time a tracked application was started \\ \hline
- APP\_END & the time a tracked application ended \\ \hline
- PARK\_START & The time a call was parked \\ \hline
- PARK\_END & unpark event \\ \hline
- BRIDGE\_START & The time a bridge is started \\ \hline
- BRIDGE\_END & The time a bridge is ended \\ \hline
- 3WAY\_START & When a 3-way conf starts (usually via attended xfer) \\ \hline
- 3WAY\_END & When one or all exit a 3-way conf \\ \hline
- BLINDTRANSFER & When a blind transfer is initiated \\ \hline
- ATTENDEDTRANSFER & When an attended transfer is initiated \\ \hline
- TRANSFER & Generic transfer initiated; not used yet...? \\ \hline
- HOOKFLASH & So far, when a hookflash event occurs on a Zap interface \\ \hline
- USER\_EVENT & these are triggered from the dialplan, and have a name given by the user. \\
- \hline
- \end{tabular}
- \caption{List of CEL Events}
- \label{event-table}
-\end{table}
-
-\begin{table}[h]
- \begin{tabular}{ | l | p{10cm} | }
- \hline
- Field & Description \\ \hline \hline
- eventtype & The name of the event; see the above list; each is prefixed with "EV\_". \\ \hline
- eventtime & The time the event happened \\ \hline
- cidname & CID name field \\ \hline
- cidnum & CID number field \\ \hline
- cidani & CID ANI field \\ \hline
- cidrdnis & CID RDNIS field \\ \hline
- ciddnid & CID DNID field \\ \hline
- exten & The extension in the dialplan \\ \hline
- context & The context in the dialplan \\ \hline
- channame & The name assigned to the channel in which the event took place \\ \hline
- appname & The name of the current application \\ \hline
- appdata & The arguments that will be handed to that application \\ \hline
- amaflags & The AMA flags associated with the event; user assignable. \\ \hline
- accountcode & A user assigned datum (string) \\ \hline
- uniqueid & Each Channel instance gets a unique ID associated with it. \\ \hline
- userfield & A user assigned datum (string) \\ \hline
- linkedid & the per-call id, spans several events, possibly. \\ \hline
- peer & For bridge or other 2-channel events, this would be the other channel name \\
- \hline
- \end{tabular}
- \caption{List of CEL Event Fields}
- \label{field-table}
-\end{table}
-
-\section{Applications \& Functions}
-
-\subsection{CEL Function}
-
-**** THIS IS NO LONGER TRUE. REWRITE. ****
-
-The CEL function parallels the CDR function, for fetching values from the
-channel or event. It has some notable notable differences, though! For
-instance, CEL data is not stored on the channel. Well, not much of it, anyway!
-You can use the CEL function to set the amaflags, accountcode, and userfield,
-which are stored on the channel.
-
-Channel variables are not available for reading from the CEL function, nor can
-any variable name other than what's in the list, be set. CDRs have a structure
-attached to the channel, where the CDR function could access the values stored
-there, or set the values there. CDRs could store their own variable lists, but
-CEL has no such storage. There is no reason to store any event information, as
-they are immediately output to the various backends at the time they are
-generated.
-
-See the description for the CEL function from the CLI: core show function CEL
-
-Here is a list of all the available channel field names:
-\begin{verbatim}
- cidname userfield
- cidnum amaflags
- cidani cidrdnis
- ciddnid appdata
- exten accountcode
- context uniqueid
- channame appname
- peer eventtime
- eventtype
-\end{verbatim}
-
-\subsection{CELGenUserEvent Application}
-
-This application allows the dialplan to insert custom events into the event
-stream.
-
-For more information, in the CLI, type: core show application CELGenUserEvent
-
-Its arguments take this format:
-
-\begin{verbatim}
- CELGenUserEvent(eventname)
-\end{verbatim}
-
-Please note that there is no restrictions on the name supplied. If it happens to
-match a standard CEL event name, it will look like that event was
-generated. This could be a blessing or a curse!
-
-\section{Configuration Files}
-
-\begin{itemize}
-\item cel.conf
-\end{itemize}
-
-\section{Generating Billing Information}
-
-*** This is the Next Big Task ***
-
-