From ec00e658780b9a29c50bbe48def95852d1c30938 Mon Sep 17 00:00:00 2001 From: Irina Peshinskaya Date: Thu, 13 Nov 2014 10:55:07 +0200 Subject: [PATCH] MT#9177 Yealink requires server length < 20 --- .../Panel/Utils/DeviceBootstrap/VendorRPC.pm | 18 ++++++++++-------- .../Panel/Utils/DeviceBootstrap/Yealink.pm | 7 ++++++- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/lib/NGCP/Panel/Utils/DeviceBootstrap/VendorRPC.pm b/lib/NGCP/Panel/Utils/DeviceBootstrap/VendorRPC.pm index 73938bf2ab..8906f23b3b 100644 --- a/lib/NGCP/Panel/Utils/DeviceBootstrap/VendorRPC.pm +++ b/lib/NGCP/Panel/Utils/DeviceBootstrap/VendorRPC.pm @@ -92,26 +92,28 @@ sub get_bootstrap_uri{ my ($self) = @_; my $uri = $self->params->{redirect_uri}; my $uri_params = $self->params->{redirect_uri_params} || ''; - if($uri){ - if($uri !~/^https?:\/\//i ){ - $uri = 'http://'.$uri; - } - }else{ + if(!$uri){ my $cfg = $self->get_bootstrap_uri_conf(); $uri = "$cfg->{schema}://$cfg->{host}:$cfg->{port}/device/autoprov/config/"; } + $uri .= $uri_params; + return $self->process_uri($uri); +} + +sub process_uri{ + my($self,$uri) = @_; + if($uri !~/^https?:\/\//i ){ + $uri = 'http://'.$uri; + } if ($uri !~/\{MAC\}$/){ if ($uri !~/\/$/){ $uri .= '/' ; } $uri .= '{MAC}' ; } - $uri .= $uri_params; $uri = URI::Escape::uri_escape($uri); return $uri; } - - #separated as this logic also used in other places, so can be moved to other utils module sub get_bootstrap_uri_conf{ my ($self) = @_; diff --git a/lib/NGCP/Panel/Utils/DeviceBootstrap/Yealink.pm b/lib/NGCP/Panel/Utils/DeviceBootstrap/Yealink.pm index ac1be5213a..b0d5a7c121 100644 --- a/lib/NGCP/Panel/Utils/DeviceBootstrap/Yealink.pm +++ b/lib/NGCP/Panel/Utils/DeviceBootstrap/Yealink.pm @@ -42,7 +42,7 @@ sub register_content { ".$self->content_params->{mac}." -".$self->content_params->{uri}." +content_params->{uri}."]]> 1 @@ -79,6 +79,11 @@ sub extract_response_description{ return; } } + +sub process_uri{ + my($self,$uri) = @_; + return $uri; +} 1; =head1 NAME