Solved

convert perl routine to php - Get Cisco phone IP information

Posted on 2010-08-26
2
343 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
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

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Suggested Solutions

Things That Drive Us Nuts Have you noticed the use of the reCaptcha feature at EE and other web sites?  It wants you to read and retype something that looks like this.Insanity!  It's not EE's fault - that's just the way reCaptcha works.  But it is …
In Solr 4.0 it is possible to atomically (or partially) update individual fields in a document. This article will show the operations possible for atomic updating as well as setting up your Solr instance to be able to perform the actions. One major …
The viewer will learn how to count occurrences of each item in an array.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

760 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now