X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2Fbin%2Ffreeside-cdrrewrited;h=f9d97af9187abe90e5293fe9209f60779050569b;hb=a238acfb85cd4bef6a99bfe3560a0999c9386dfb;hp=16f931fbf0108f7c131bf21517f316db01ad6b01;hpb=54a357b171aa44f9399b4c146acd2afd3b686075;p=freeside.git diff --git a/FS/bin/freeside-cdrrewrited b/FS/bin/freeside-cdrrewrited index 16f931fbf..f9d97af91 100644 --- a/FS/bin/freeside-cdrrewrited +++ b/FS/bin/freeside-cdrrewrited @@ -198,6 +198,18 @@ while (1) { } + if ( $conf->exists('cdr-userfield_dnis_rewrite') and + $cdr->userfield =~ /DNIS=(\d+)/ ) { + $cdr->dst($1); + push @status, 'userfield_dnis'; + } + + if ( $conf->exists('cdr-intl_to_domestic_rewrite') and + $cdr->dst =~ /^(011)(\d{0,7})$/ ) { + $cdr->dst($2); + push @status, 'intl_to_domestic'; + } + $cdr->freesiderewritestatus( scalar(@status) ? join('/', @status) : 'skipped' ); @@ -233,6 +245,8 @@ sub _shouldrun { || $conf->exists('cdr-charged_party_rewrite') || $conf->exists('cdr-taqua-accountcode_rewrite') || $conf->exists('cdr-taqua-callerid_rewrite') + || $conf->exists('cdr-intl_to_domestic_rewrite') + || $conf->exists('cdr-userfield_dnis_rewrite') || 0 ; } @@ -252,8 +266,44 @@ freeside-cdrrewrited - Real-time daemon for CDR rewriting =head1 DESCRIPTION Runs continuously, searches for CDRs and does forwarded-call rewriting if any -of the "cdr-asterisk_forward_rewrite", "cdr-charged_party_rewrite" or -"cdr-taqua-accountcode_rewrite" config options are enabled. +of the following config options are enabled: + +=over 4 + +=item cdr-asterisk_australia_rewrite + +Classifies Australian numbers as domestic, mobile, tollfree, international, or +"other", and tries to assign a cdrtypenum based on that. + +=item cdr-asterisk_forward_rewrite + +Identifies Asterisk forwarded calls using the 'dstchannel' field. If the +dstchannel is "Local/" followed by a number, but the number doesn't match the +dst field, the dst field will be rewritten to match. + +=item cdr-charged_party_rewrite + +Calls set_charged_party on all calls. + +=item cdr-taqua-accountcode_rewrite + +=item cdr-taqua-callerid_rewrite + +These actually have the same effect. Taqua uses cdrtypenum = 1 to tag accessory +records. They will have "sessionnum" = that of the primary record, and +"lastapp" indicating their function: + +- "acctcode": "lastdata" contains the dialed account code. Insert this into the +accountcode field of the primary record. + +- "CallerId": "lastdata" contains "allowed" or "restricted". If "restricted" +then the clid field of the primary record is set to "PRIVATE". + +=item cdr-intl_to_domestic_rewrite + +Finds records where the destination number has the "011" international prefix, +but with seven or fewer digits in the rest of the number, and strips the "011" +prefix so that they will be treated as domestic calls. This is very uncommon. =head1 SEE ALSO