add asterisk format that skips clid, RT#20669
authorIvan Kohler <ivan@freeside.biz>
Thu, 10 Jan 2013 01:05:31 +0000 (17:05 -0800)
committerIvan Kohler <ivan@freeside.biz>
Thu, 10 Jan 2013 01:05:31 +0000 (17:05 -0800)
FS/FS/cdr/asterisk_skip_clid.pm [new file with mode: 0644]

diff --git a/FS/FS/cdr/asterisk_skip_clid.pm b/FS/FS/cdr/asterisk_skip_clid.pm
new file mode 100644 (file)
index 0000000..1a105b3
--- /dev/null
@@ -0,0 +1,45 @@
+package FS::cdr::asterisk_skip_clid;
+
+use strict;
+use vars qw(@ISA %info);
+use FS::cdr qw(_cdr_date_parser_maker);
+
+@ISA = qw(FS::cdr);
+
+#http://www.the-asterisk-book.com/unstable/funktionen-cdr.html
+my %amaflags = (
+  DEFAULT       => 0,
+  OMIT          => 1, #asterisk 1.4+
+  IGNORE        => 1, #asterisk 1.2
+  BILLING       => 2, #asterisk 1.4+
+  BILL          => 2, #asterisk 1.2
+  DOCUMENTATION => 3,
+  #? '' => 0,
+);
+
+%info = (
+  'name'          => 'Asterisk (skip Caller ID)',
+  'weight'        => 11,
+  'import_fields' => [
+    'accountcode',
+    'src',
+    'dst',
+    'dcontext',
+    'SKIP_clid',
+    'channel',
+    'dstchannel',
+    'lastapp',
+    'lastdata',
+    _cdr_date_parser_maker('startdate'),
+    _cdr_date_parser_maker('answerdate'),
+    _cdr_date_parser_maker('enddate'),
+    'duration',
+    'billsec',
+    'disposition',
+    sub { my($cdr, $amaflags) = @_; $cdr->amaflags($amaflags{$amaflags}); },
+    'uniqueid',
+    'userfield',
+  ],
+);
+
+1;