MT#9177 Yealink url via serverName

ipeshinskaya/9177
Irina Peshinskaya 12 years ago
parent ec00e65878
commit 6dc0fde8dd

@ -47,6 +47,7 @@ my $builder = Local::Module::Build->new(
'DateTime::Format::ISO8601' => 0,
'DateTime::Format::RFC3339' => 0,
'DBIx::Class::ResultSet::RecursiveUpdate' => '0.30',
'Digest::MD5' => 0,
'Email::Sender::Simple' => 0,
'Email::Sender::Transport::SMTP' => 0,
'Email::Valid' => 0,

@ -7,16 +7,6 @@ use NGCP::Panel::Utils::DeviceBootstrap::VendorRPC;
use NGCP::Panel::Utils::DeviceBootstrap::Panasonic;
use NGCP::Panel::Utils::DeviceBootstrap::Yealink;
#NGCP::Panel::Utils::DeviceBootstrap::RPC params =>
#$params = {
# redirect_uri
# redirect_uri_params
# mac
# mac_old (optional)
# c for log, config sync uri from config
# credentials => {user=>, password=>}
#};
sub dispatch{
my($c, $action, $fdev, $old_identifier) = @_;

@ -27,14 +27,18 @@ sub redirect_server_call{
my $c = $self->params->{c};
$self->init_content_params();
$c->log->debug(Dumper ($self->content_params));
my($content,$response_value);
if('unregister' eq $action){
$content = $self->unregister_content();
}elsif('register' eq $action){
$content = $self->register_content();
my($content,$response_value,$ret);
my $method = $action.'_content';
if($self->can($method)){
$content = $self->$method();
}else{
$ret = "Unknown method: $action";
}
$response_value = $self->rpc_https_call($content);
return $self->extract_response_description($response_value);
if($content){
$response_value = $self->rpc_https_call($content);
$ret = $self->extract_response_description($response_value);
}
return $ret;
}
sub rpc_https_call{

@ -2,6 +2,7 @@ package NGCP::Panel::Utils::DeviceBootstrap::Yealink;
use strict;
use Moose;
use Digest::MD5 qw/md5_hex/;
extends 'NGCP::Panel::Utils::DeviceBootstrap::VendorRPC';
has 'rpc_server_params' => (
@ -19,6 +20,11 @@ has 'unregister_content' => (
isa => 'Str',
accessor => '_unregister_content',
);
has 'add_server_content' => (
is => 'rw',
isa => 'Str',
accessor => '_add_server_content',
);
sub rpc_server_params{
my $self = shift;
my $cfg = {
@ -34,7 +40,7 @@ sub rpc_server_params{
sub register_content {
my $self = shift;
$self->{register_content} = "<?xml version='1.0' encoding='UTF-8'?>
$self->{register_content} ||= "<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
<methodName>redirect.registerDevice</methodName>
<params>
@ -42,7 +48,7 @@ sub register_content {
<value><string>".$self->content_params->{mac}."</string></value>
</param>
<param>
<value><string><![CDATA[".$self->content_params->{uri}."]]></string></value>
<value><string><![CDATA[".$self->content_params->{server_name}."]]></string></value>
</param>
<param>
<value><string>1</string></value>
@ -53,7 +59,7 @@ sub register_content {
sub unregister_content {
my $self = shift;
$self->{unregister_content} = "<?xml version='1.0' encoding='UTF-8'?>
$self->{unregister_content} ||= "<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
<methodName>redirect.deRegisterDevice</methodName>
<params>
@ -64,6 +70,26 @@ sub unregister_content {
</methodCall>";
return $self->{unregister_content};
}
sub add_server_content {
my $self = shift;
$self->{add_server_content} ||= "<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
<methodName>redirect.addServer</methodName>
<params>
<param>
<value>
<string><![CDATA[".$self->content_params->{uri_server_name}."]]></string>
</value>
</param>
<param>
<value>
<string><![CDATA[".$self->content_params->{uri}."]]></string>
</value>
</param>
</params>
</methodCall>";
return $self->{add_server_content};
}
sub parse_rpc_response{
my($self,$rpc_response) = @_;
@ -80,8 +106,11 @@ sub extract_response_description{
}
}
sub process_uri{
sub uri2server_name{
my($self,$uri) = @_;
#http://stackoverflow.com/questions/4826403/hash-algorithm-with-alphanumeric-output-of-20-characters-max
return $uri;
}
1;

Loading…
Cancel
Save