MT#9177 Yealink works

ipeshinskaya/9177
Irina Peshinskaya 11 years ago
parent 51336e2b18
commit ac8115bcc2

@ -11,7 +11,7 @@ sub dispatch{
my($c, $action, $fdev, $old_identifier) = @_;
my $params = {
%{$self->get_devmod_params($c, $fdev->profile->config->device)},
%{get_devmod_params($c, $fdev->profile->config->device)},
mac => $fdev->identifier,
mac_old => $old_identifier,
};
@ -25,8 +25,8 @@ sub dispatch{
sub dispatch_devmod{
my($c, $action, $devmod) = @_;
my $params = $self->get_devmod_params($c,$devmod);
my $redirect_processor = get_redirect_processor($c,$params);
my $params = get_devmod_params($c,$devmod);
my $redirect_processor = get_redirect_processor($params);
my $ret;
if($redirect_processor){
$ret = $redirect_processor->redirect_server_call($action);
@ -34,7 +34,7 @@ sub dispatch_devmod{
return $ret;
}
sub get_devmod_params{
my($self, $devmod) = @_;
my($c, $devmod) = @_;
my $credentials = $devmod->autoprov_redirect_credentials;
my $vcredentials;

@ -35,12 +35,13 @@ sub rpc_server_params{
sub register_content {
my $self = shift;
#<param><value><string>".URI::Escape::uri_escape($self->content_params->{uri})."</string></value></param>
$self->{register_content} = "<?xml version=\"1.0\"?>
<methodCall>
<methodName>ipredirect.registerPhone</methodName>
<params>
<param><value><string>".$self->content_params->{mac}."</string></value></param>
<param><value><string>".$self->content_params->{uri}."</string></value></param>
<param><value><string><![CDATA[".$self->content_params->{uri}."]]></string></value></param>
</params>
</methodCall>";
return $self->{register_content};

@ -106,7 +106,7 @@ sub get_bootstrap_uri{
sub process_uri{
my($self,$uri) = @_;
if($uri !~/^https?:\/\//i ){
if($uri !~/^(?:https?|t?ftp):\/\//i ){
$uri = 'http://'.$uri;
}
if ($uri !~/\{MAC\}$/){
@ -115,7 +115,6 @@ sub process_uri{
}
$uri .= '{MAC}' ;
}
$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

@ -50,9 +50,7 @@ sub register_content {
<param>
<value><string><![CDATA[".$self->content_params->{server_name}."]]></string></value>
</param>
<param>
<value><string>1</string></value>
</param></params>
</params>
</methodCall>";
return $self->{register_content};
}
@ -72,7 +70,6 @@ sub unregister_content {
}
sub add_server_content {
my $self = shift;
$self->uri2server_name();
$self->{add_server_content} ||= "<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
<methodName>redirect.addServer</methodName>
@ -106,6 +103,12 @@ sub extract_response_description{
return;
}
}
override 'process_uri' => sub {
my($self,$uri) = @_;
$self->content_params->{uri} = super();
$self->uri2server_name();
return $self->content_params->{uri};
};
sub uri2server_name{
my($self) = @_;

Loading…
Cancel
Save