[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now

x
?
Solved

convert perl routine to php - Get Cisco phone IP information

Posted on 2010-08-26
2
Medium Priority
?
361 Views
Last Modified: 2012-05-10
I have a perl script that returns the extension from a Cisco phone that calls it from its internal browser.  It works as follows:

sub getphoneextension
{
      my ($phoneip) = @_;
      my $url = "http://". $phoneip . "/DeviceInformationX";
      my $page = &getPhoneInfo($url);
      my $phoneEXT='';
      my $xmldoc = XMLin($page, ContentKey => '-content');
      $phoneEXT = $xmldoc->{phoneDN};
            
      return $phoneEXT;
}

sub getPhoneInfo
{
      my ($url) = @_;
      $doc = get $url;
      
      return $doc;
}


I need to accomplish the same thing in a PHP script.  Here is my unsuccessful attempt:

# Get Phone Extension
$phoneip=@$REMOTE_ADDR;

$url = "http://";
$url .= $phoneip;
$url .= "/DeviceInformationX";
# print $phoneip;

 $ch = curl_init();
$timeout = 5;
 // set to zero for no timeout
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$result = curl_exec($ch);
curl_close($ch);
$rss = simplexml_load_string($result);

# $rss =  simplexml_load_file('http://'.$phoneip.'/DeviceInformationX');

// Extract only the digits from phoneDN.
preg_match('{(\d+)}', $rss->phoneDN, $digits);

$phoneEXT = $digits;


Please give the correct PHP script.

Thanks.
0
Comment
Question by:tgeddings
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 35

Expert Comment

by:Terry Woods
ID: 33538125
It's hard for me to know where it's going wrong because I don't have a similar system to work with. Perhaps you could print the output of:
simplexml_load_string($result);
and that might give us something to work with.
0
 

Accepted Solution

by:
tgeddings earned 0 total points
ID: 33538185
I figured it out shortly after posting this.  Everything was correct except:

$phoneEXT = $digits;

should have been:

$phoneEXT = $digits[1];

The simple things always seem hard..

0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If your site has a few sections that need to be secure when data is transmitted between the server and local computer, such as a /order/ section for ordering or /customer/ which contains customer data, etc it would of course be recommended to secure…
Introduction This article is intended for those who are new to PHP error handling (https://www.experts-exchange.com/articles/11769/And-by-the-way-I-am-New-to-PHP.html).  It addresses one of the most common problems that plague beginning PHP develop…
The viewer will learn how to dynamically set the form action using jQuery.
Six Sigma Control Plans
Suggested Courses

650 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question