use FS::Record qw(qsearch dbh);
use FS::part_export;
use FS::phone_avail;
+use Data::Dumper;
@ISA = qw(FS::part_export);
'svc' => 'svc_phone',
'desc' => 'Provision phone numbers to VoIP Innovations (formerly GlobalPOPs VoIP)',
'options' => \%options,
+ 'no_machine' => 1,
'notes' => <<'END'
Requires installation of
<a href="http://search.cpan.org/dist/Net-GlobalPOPs-MediaServicesAPI">Net::GlobalPOPs::MediaServicesAPI</a>
sub rebless { shift; }
+sub can_get_dids { 1; }
+
sub get_dids {
my $self = shift;
my %opt = ref($_[0]) ? %{$_[0]} : @_;
}
my $dids = $self->gp_command('getDIDs', %getdids);
+
if ( $dids->{'type'} eq 'Error' ) {
- die "Error running VoIP Innovations getDIDs: ".
- $search->{'statuscode'}. ': '. $search->{'status'}; #die??
+ my $error = "Error running VoIP Innovations getDIDs: ".
+ $dids->{'statuscode'}. ': '. $dids->{'status'}. "\n";
+ warn $error;
+ die $error;
}
- #use Data::Dumper;
- #warn Dumper($dids);
-
my $search = $dids->{'search'};
if ( $search->{'statuscode'} == 302200 ) {
return [];
} elsif ( $search->{'statuscode'} != 100 ) {
- die "Error running VoIP Innovations getDIDs: ".
- $search->{'statuscode'}. ': '. $search->{'status'}; #die??
+
+ my $error = "Error running VoIP Innovations getDIDs: ";
+ if ( $search->{'statuscode'} || $search->{'status'} ) {
+ $error .= $search->{'statuscode'}. ': '. $search->{'status'}. "\n";
+ } else {
+ $error .= Dumper($search);
+ }
+ warn $error;
+ die $error;
}
my @return = ();
sub gp_command {
my( $self, $command, @args ) = @_;
- eval "use Net::GlobalPOPs::MediaServicesAPI;";
- die $@ if $@;
+ eval "use Net::GlobalPOPs::MediaServicesAPI 0.03;";
+ if ( $@ ) {
+ warn $@;
+ die $@;
+ }
my $gp = Net::GlobalPOPs::MediaServicesAPI->new(
'login' => $self->option('login'),
sub globalpops_voip_command {
my($login, $password, $method, @args) = @_;
- eval "use Net::GlobalPOPs::MediaServicesAPI;";
+ eval "use Net::GlobalPOPs::MediaServicesAPI 0.03;";
die $@ if $@;
my $gp = new Net::GlobalPOPs