use Locale::Country qw(country_code2code);
use Date::Format qw(time2str);
use Carp qw( cluck );
+use FS::DBI;
@ISA = qw(FS::part_export);
sub dbh {
my $self = shift;
- $self->{dbh} ||= DBI->connect(
+ $self->{dbh} ||= FS::DBI->connect(
$self->option('datasrc'),
$self->option('username'),
$self->option('password')
- ) or die $DBI::errstr;
+ ) or die $FS::DBI::errstr;
$self->{dbh}->trace(1, '%%%FREESIDE_LOG%%%/a2b_exportlog.'.$self->exportnum)
if $DEBUG;
'';
}
-sub export_insert {
+sub _export_insert {
my $self = shift;
my $svc = shift;
my $cust_pkg = $svc->cust_svc->cust_pkg;
zipcode => $location->zip,
simultaccess => $part_pkg->option('a2billing_simultaccess'),
typepaid => $part_pkg->option('a2billing_type'),
+ email_notification => $cust_main->invoicing_list_emailonly_scalar,
+ notify_email => ($cust_main->invoicing_list_emailonly_scalar ? 1 : 0),
+ credit_notification => $cust_main->credit_limit || $self->option('credit') || 0,
sip_buddy => 1,
company_name => $cust_main->company,
activated => 't',
id_cc_didgroup => $self->option('didgroup'),
id_cc_country => $cc_country_id,
iduser => $cc_card_id,
- did => $svc->phonenum,
+ did => $svc->countrycode. $svc->phonenum,
billingtype => ($self->option('billtype') eq 'Dial Out Rate' ? 2 : 3),
activated => 1,
+ aleg_carrier_cost_min_offp => $part_pkg->option('a2billing_carrier_cost_min'),
+ aleg_carrier_initblock_offp => $part_pkg->option('a2billing_carrier_initblock_offp'),
+ aleg_carrier_increment_offp => $part_pkg->option('a2billing_carrier_increment_offp'),
+ aleg_retail_cost_min_offp => $part_pkg->option('a2billing_retail_cost_min_offp'),
+ aleg_retail_initblock_offp => $part_pkg->option('a2billing_retail_initblock_offp'),
+ aleg_retail_increment_offp => $part_pkg->option('a2billing_retail_increment_offp'),
);
# use 'did' as the key here so that if the DID already exists, we
my $cc_did_id = $self->a2b_find('cc_did', 'svcnum', $svc->svcnum);
- my $destination = 'SIP/' . $svc->phonenum . '@' . $svc_acct->username;
+ my $destination = 'SIP/user-'. $svc_acct->username. '@'. $svc->sip_server. "!". $svc->countrycode. $svc->phonenum;
my %cc_did_destination = (
destination => $destination,
priority => 1,
id_cc_card => $cc_card_id,
id_cc_did => $cc_did_id,
+ validated => 1,
+ voip_call => 1,
);
# and if there's already a destination, change it to point to
'';
}
-sub export_delete {
+sub _export_delete {
my $self = shift;
my $svc = shift;
'';
}
-sub export_replace {
+sub _export_replace {
my $self = shift;
my $new = shift;
my $old = shift || $self->replace_old;
} elsif ( $new->isa('FS::svc_phone') ) {
# if the phone number has changed, need to create a new DID.
- if ( $new->phonenum ne $old->phonenum ) {
+ if ( $new->phonenum ne $old->phonenum || $new->countrycode ne $old->countrycode ) {
# deactivate/unlink/close the old DID
# and create/link the new one
$error = $self->export_delete($old)
'';
}
-sub export_suspend {
+sub _export_suspend {
my $self = shift;
my $svc = shift;
$error || '';
}
-sub export_unsuspend {
+sub _export_unsuspend {
my $self = shift;
my $svc = shift;