cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
272
Views
0
Helpful
1
Replies

HTTP Error when trying to access HTTP directory on 7965G and 7965G

Joerg -
Level 1
Level 1
Good evening Everyone,
I followed the instructions on this page to setup a phone book search (installed and configured database, ...).
When entering the URL
http://192.168.178.207/cisco/menu.xml
I noticed an "HTTP error" on the phone and nothing else happened.
A tcpdump
tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -vv
to monitor port 80 on my webserver showed that the URL was altered to
http://192.168.178.207/cisco/menu.xml?locale=germany&name=SEP002155D64F77
Here's the link to the dump.
And here's the files:
menu.xml

<CiscoIPPhoneMenu>
  <Title>Asterisk Directory</Title>
  <MenuItem>
      <Name>Personensuche</Name>
      <URL>http://192.168.178.207/cisco/menu2.xml</URL>
  </MenuItem>
</CiscoIPPhoneMenu>
menu2.xml

<CiscoIPPhoneInput>
  <Title>Telefonbuch</Title>
  <Prompt>Namenssuche</Prompt>
  <URL>http://192.168.178.207/cisco/search.php</URL>
  <InputItem>
    <DisplayName>Name</DisplayName>
    <QueryStringParam>sn</QueryStringParam>
    <InputFlags>U</InputFlags>
  </InputItem>
</CiscoIPPhoneInput>
search.php

<?php
header ("content-type: text/xml");

// Change here to match the webaddress absolute path
$URL = 'http://your_web_server_ip/cisco/';

// Choose how many results to return if search term produces a lot of output
$per_page = '32';

// Change here to match your own passwords
$mysql_conn = mysql_connect('localhost', 'db_username', 'db_password');

// Dont change anything from here unless you know what you are doing
mysql_select_db('db_name', $mysql_conn );

$NAME=$_GET["sn"];
$page = $_GET['page'];

if ( ($page=='') )
{
   //check to see how many
   $result= mysql_query("SELECT count(tbl_kontakte.name) as total
                         FROM tbl_kontakte
                         WHERE tbl_kontakte.name LIKE '%$NAME%' ", $mysql_conn);
   $howmany = mysql_fetch_row($result);
   if ($howmany[0] > $per_page)
   {
      $start = 0;
      $index = 0;
      $total = $howmany[0];
      $remain = $per_page;
      print("\n");
      print("<CiscoIPPhoneDirectory>\n");
      print("<Title>Telefonbuch</Title>\n");
      print("<Prompt>Telefonbuch</Prompt>\n");
      print("<DirectoryEntry>\n");
      print("<Name>Num.coincidences > 32 </Name>\n");
      print("</DirectoryEntry>\n");
      while ($start < ($total + 1))
      {
         print("<SoftKeyItem>\n");
         print("\t<Name>");
         print($index);
         print("</Name>\n");
         print("\t<URL>");
         print($URL."search.php?page=".$index."&amp;sn=".$NAME);
         print("</URL>\n");
         print("<Position>");
         print($index+1);
         print("</Position>");
         print("</SoftKeyItem>\n");
         $start = $start + $per_page;
         $index = $index+1;
      }
      print("</CiscoIPPhoneDirectory>\n");
   } else {
      $result = mysql_query("SELECT name,telefonnummer,telefonnummer  
                             FROM tbl_kontakte
                             WHERE tbl_kontakte.name LIKE '%$NAME%'
                             ORDER BY name ", $mysql_conn);
      print("\n");
      print("<CiscoIPPhoneDirectory>\n");
      print("<Title>Telefonbuch</Title>\n");
      print("<Prompt>Telefonbuch</Prompt>\n");   
      while($row = mysql_fetch_row($result))
      {
         print("<DirectoryEntry>\n");
         print("\t<Name>");
         print($row[0]." - ".$row[1] );
         print("</Name>\n");
         print("\t<Telefon>");
         print($row[2]);
         print("</Telefon>\n");
         print("</DirectoryEntry>\n");
      }
      print("</CiscoIPPhoneDirectory>\n");
   }
} else {
   $OFFSET = $page * $per_page;
   $sql = "SELECT name,telefonnummer,telefonnummer
           FROM tbl_kontakte
           WHERE name LIKE '%$NAME%'
           ORDER BY name
           LIMIT $OFFSET, $per_page";
   $result = mysql_query($sql, $mysql_conn);
   print("\n");
   print("<CiscoIPPhoneDirectory>\n");
   print("<Title>Telefonbuch</Title>\n");
   print("<Prompt>Telefonbuch</Prompt>\n");
   while($row = mysql_fetch_row($result))
   {
      print("<DirectoryEntry>\n");
      print("\t<Name>");
      print($row[0]." - ".$row[1] );
      print("</Name>\n");
      print("\t<Telefon>");
      print($row[2]);
      print("</Telefon>\n");
      print("</DirectoryEntry>\n");
   }
   print("</CiscoIPPhoneDirectory>\n");
}
?>
I highly appreciate any help in this case.
Best regards,
Joerg
1 Reply 1

Jaime Valencia
Cisco Employee
Cisco Employee

Might want to try asking in DevNet.

HTH

java

if this helps, please rate
Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: