TT#9212 Add grandstream provisioning dummy implementation

Change-Id: Ia9fbe1ab953ea67a7cf8dc38c87925459f38c62d
changes/35/10935/6
Irina Peshinskaya 9 years ago
parent a74c57daba
commit 5053939fda

@ -254,11 +254,12 @@ has_field 'bootstrap_method' => (
{ label => 'Yealink', value => 'redirect_yealink' },
{ label => 'Polycom', value => 'redirect_polycom' },
{ label => 'Snom', value => 'redirect_snom' },
{ label => 'Grandstream', value => 'redirect_grandstream' },
],
default => 'http',
element_attr => {
rel => ['tooltip'],
title => ['Method to configure the provisioning server on the phone. One of http, redirect_panasonic, redirect_yealink, redirect_polycom, redirect_snom.'],
title => ['Method to configure the provisioning server on the phone. One of http, redirect_panasonic, redirect_yealink, redirect_polycom, redirect_snom, redirect_grandstream.'],
javascript => ' onchange="bootstrapDynamicFields(this.options[this.selectedIndex].value);" ',
},
);
@ -268,7 +269,7 @@ has_field 'bootstrap_uri' => (
label => 'Bootstrap URI',
default => '',
#we don't show this field for polycom, because polycom doesn't support now any possibility to configure provisioning url via API
wrapper_class => [qw/ngcp-devicetype ngcp-devicetype-phone ngcp-bootstrap-config ngcp-bootstrap-config-http ngcp-bootstrap-config-redirect_panasonic ngcp-bootstrap-config-redirect_yealink ngcp-bootstrap-config-redirect_snom/],
wrapper_class => [qw/ngcp-devicetype ngcp-devicetype-phone ngcp-bootstrap-config ngcp-bootstrap-config-http ngcp-bootstrap-config-redirect_panasonic ngcp-bootstrap-config-redirect_yealink ngcp-bootstrap-config-redirect_snom ngcp-bootstrap-config-redirect_grandstream/],
element_attr => {
rel => ['tooltip'],
title => ['Custom provisioning server URI.'],

@ -8,6 +8,7 @@ use NGCP::Panel::Utils::DeviceBootstrap::Panasonic;
use NGCP::Panel::Utils::DeviceBootstrap::Yealink;
use NGCP::Panel::Utils::DeviceBootstrap::Polycom;
use NGCP::Panel::Utils::DeviceBootstrap::Snom;
use NGCP::Panel::Utils::DeviceBootstrap::Grandstream;
sub dispatch{
my($c, $action, $fdev, $old_identifier) = @_;
@ -94,6 +95,8 @@ sub get_redirect_processor{
$redirect_processor = NGCP::Panel::Utils::DeviceBootstrap::Polycom->new( params => $params );
}elsif('redirect_snom' eq $bootstrap_method){
$redirect_processor = NGCP::Panel::Utils::DeviceBootstrap::Snom->new( params => $params );
}elsif('redirect_grandstream' eq $bootstrap_method){
$redirect_processor = NGCP::Panel::Utils::DeviceBootstrap::Grandstream->new( params => $params );
}elsif('http' eq $bootstrap_method){
#$ret = panasonic_bootstrap_register($params);
}

@ -0,0 +1,64 @@
package NGCP::Panel::Utils::DeviceBootstrap::Grandstream;
use strict;
use Moose;
use Data::Dumper;
extends 'NGCP::Panel::Utils::DeviceBootstrap::VendorRPC';
sub rpc_server_params{
my $self = shift;
my $cfg = {
proto => 'https',
host => '',
port => '',
path => '',
};
$cfg->{headers} = { %{$self->get_basic_authorization($self->params->{credentials})} };
$self->{rpc_server_params} = $cfg;
return $self->{rpc_server_params};
}
override 'redirect_server_call' => sub {
my($self,$action) = @_;
return 1;
};
sub register_content {
my $self = shift;
$self->{register_content} = "";
return $self->{register_content};
}
sub unregister_content {
my $self = shift;
$self->{unregister_content} = "";
return $self->{unregister_content};
}
1;
=head1 NAME
NGCP::Panel::Utils::DeviceBootstrap
=head1 DESCRIPTION
Make API requests to configure remote redirect servers for requested MAC with autorpov uri.
=head1 METHODS
=head2 bootstrap
Dispatch to proper vendor API call.
=head1 AUTHOR
Irina Peshinskaya C<< <ipeshinskaya@sipwise.com> >>
=head1 LICENSE
This library is free software. You can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
# vim: set tabstop=4 expandtab:
Loading…
Cancel
Save