diff --git a/assets/polycom-vvx-configtemplate.tt b/assets/polycom-vvx-configtemplate.tt new file mode 100644 index 0000000000..20f281ac2b --- /dev/null +++ b/assets/polycom-vvx-configtemplate.tt @@ -0,0 +1,46 @@ + + + + diff --git a/lib/NGCP/Panel/Controller/Device.pm b/lib/NGCP/Panel/Controller/Device.pm index 7d3acf197f..bc99dd9cd3 100644 --- a/lib/NGCP/Panel/Controller/Device.pm +++ b/lib/NGCP/Panel/Controller/Device.pm @@ -877,8 +877,27 @@ sub dev_field_config :Chained('/') :PathPart('device/autoprov/config') :Args() { $c->response->status(404); return; } + + if($id =~ /^[a-fA-F0-9]{12}\.cfg$/ + && $c->req->user_agent =~ /PolycomVVX/ + ) { + $id =~ s/\.cfg$//; + $c->response->content_type('text/xml'); + $c->response->body( + ''. + '' + ); + return; + } + $id =~ s/^([^\=]+)\=0$/$1/; $id = lc $id; + $id =~ s/\-phone\.cfg$//; # polycoms send a -phone.cfg suffix my $dev = $c->model('DB')->resultset('autoprov_field_devices')->find({ identifier => $id