intl home code 44 VAT 17.5% type_code { # # try to guess the network (this could be wrong) # if ($number =~ /^(07775|0421|07788|07899)$/) { $network = 'vodafone'; } elsif ($number =~ /^(0795[6-8]|07961|0956|0961|07901|07970)$/) { $network = 'one2one'; } elsif ($number =~ /^(07971|0966|0468|097[36])$/) { $network = 'orange'; } elsif ($number =~ /^(040[1-3]|041[01]|058[59]|07801)$/) { $network = 'cellnet'; } # # SMS # if ($network and $duration == 0 and $cost > 0) { $type = $network . ' sms'; } elsif (exists $tariff->{sms_rate_lookup}{$post_vat_cost * 100} and $duration == 0 and $cost > 0) { $type = $tariff->{sms_rate_lookup}{$post_vat_cost * 100}[0]; } # # standard call types # elsif ($network) { $type = $network . ' mobile'; } elsif ($number =~ /^(07\d{3}|09\d\d|0860)$/) { $type = 'mobile'; } elsif ($number =~ /^(01\d{2,3}|020[78])$/) { $type = 'landline'; } # # miscellaneous types # elsif ($number eq '121') { $type = 'voicemail'; } elsif ($cost == 0 and $duration > 0 and ! $bundle) { $type = 'free??'; } if ($number == 1400) { $type = 'battery discharge'; } elsif ($number =~ /^0385/) { $type = 'received sms'; } elsif ($number =~ /^(191|196|333)$/) { $type = 'operator'; } elsif ($number == 192) { $type = 'service'; } elsif ($number =~ /^(0345)$/) { $type = $number; } }