#'server' => { label => 'Thirdlane server name or IP address', },
'username' => { label => 'Thirdlane username', },
'password' => { label => 'Thirdlane password', },
- 'port' => { label => 'Port number if not 80', },
+ 'ssl' => { label => 'Enable HTTPS (SSL) connection',
+ type => 'checkbox',
+ },
+ 'port' => { label => 'Port number if not 80 or 443', },
'prototype_tenant' => { label => 'Prototype tenant name', },
+ 'omit_countrycode' => { label => 'Omit country code', type => 'checkbox' },
'debug' => { label => 'Checkbox label', type => 'checkbox' },
# 'select_option' => { label => 'Select option description',
# type => 'select', options=>[qw(chocolate vanilla)],
my $result = $self->_thirdlane_command(
'asterisk::rpc_did_create',
- $svc_x->countrycode. $svc_x->phonenum,
+ $self->_thirdlane_did($svc_x)
);
#use Data::Dumper;
$result = $self->_thirdlane_command(
'asterisk::rpc_did_assign',
- $svc_x->countrycode. $svc_x->phonenum,
+ $self->_thirdlane_did($svc_x),
$svc_x->pbx_title,
);
if ( $old->pbxsvc ) {
my $result = $self->_thirdlane_command(
'asterisk::rpc_did_unassign',
- $new->countrycode. $new->phonenum,
+ $self->_thirdlane_did($svc_x),
);
$result eq '0' or return 'Thirdlane API failure (rpc_did_unassign)';
}
if ( $new->pbxsvc ) {
my $result = $self->_thirdlane_command(
'asterisk::rpc_did_assign',
- $new->countrycode. $new->phonenum,
+ $self->_thirdlane_did($svc_x),
$new->pbx_title,
);
$result eq '0' or return 'Thirdlane API failure (rpc_did_assign)';
if ( $svc_x->pbxsvc ) {
my $result = $self->_thirdlane_command(
'asterisk::rpc_did_unassign',
- $svc_x->countrycode. $svc_x->phonenum,
+ $self->_thirdlane_did($svc_x),
);
$result eq '0' or return 'Thirdlane API failure (rpc_did_unassign)';
}
my $result = $self->_thirdlane_command(
'asterisk::rpc_did_delete',
- $svc_x->countrycode. $svc_x->phonenum,
+ $self->_thirdlane_did($svc_x),
);
$result eq '0' ? '' : 'Thirdlane API failure (rpc_did_delete)';
sub _thirdlane_command {
my($self, @param) = @_;
- my $url = 'http://'. uri_escape($self->option('username')). ':'.
- uri_escape($self->option('password')). '@'.
- $self->machine;
- $url.= ':'. $self->option('port') if $self->option('port');
+ my $url = $self->option('ssl') ? 'https://' : 'http://';
+ $url .= uri_escape($self->option('username')). ':'.
+ uri_escape($self->option('password')). '@'.
+ $self->machine;
+ $url .= ':'. $self->option('port') if $self->option('port');
$url .= '/xmlrpc.cgi';
warn "$me connecting to $url\n"
}
+sub _thirdlane_did {
+ my($self, $svc_x) = @_;
+ if ( $self->option('omit_countrycode') ) {
+ $svc_x->phonenum;
+ } else {
+ $svc_x->countrycode. $svc_x->phonenum;
+ }
+}
+
#my( $self, $svc_something ) = (shift, shift);
#$err_or_queue = $self->thirdlane_queue( $svc_something->svcnum,
# 'delete', $svc_something->username );