.titleBar { margin-bottom: 5px!important; }

7940/7960: Anzeige von VoIP-News-Feed auf dem Display

Dieses Thema im Forum "Cisco" wurde erstellt von RB, 21 Nov. 2004.

  1. RB

    RB Aktives Mitglied

    Registriert seit:
    22 Juni 2004
    Beiträge:
    1,311
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Selbständiger Bitbeißer
    Ort:
    40883 Ratingen
    Hallo zusammen!

    Hab ich gerade per Zufall entdeckt!

    Hier bei voip-info.de wird beschrieben, wie man deren News-Feed auf dem Display eines Cisco 7940/7960 anzeigen lassen kann.
    Hab's direkt ausprobiert :arrow: klappt 8)

    Hier zusammengefasst:

    Entweder in SIPDefault.cnf oder SIP<MAC>.cnf muß folgender Eintrag rein
    Code:
    services_url: "http://www.voip-info.de/feeds/cisco7960/index.xml"
    Das setzt natürlich voraus, daß das Telefon Zugriff aufs Internet hat.

    Nach dem Reboot des Telefons kann man die News dann über die services-Taste (die mit der Weltkugel) aufrufen.

    Probiert's mal...

    Gruß,
    Ralf
     
  2. RB

    RB Aktives Mitglied

    Registriert seit:
    22 Juni 2004
    Beiträge:
    1,311
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Selbständiger Bitbeißer
    Ort:
    40883 Ratingen
    Moin!

    Das ganze hat mich neugierig gemacht :)
    Mit ein wenig Fahnden habe ich dieses Skript gefunden
    Code:
    #!/usr/bin/perl
    
    # RSS2cisco, An RSS feed to Cisco IP Phone Script version 0.6
    # Copyright 2004, Joshua Cantara <jcantara@grappone.com>
    # This program is licensed under the GPL: http://www.gnu.org/licenses/gpl.txt
    # Newest version can always be found at: http://dontpokebadgers.com/rss2cisco/
    
    use strict;
    use LWP::Simple qw($ua get);;
    use CGI;
    
    print "Content-Type: text/xml\n\n";
    
    ################################################
    # MAIN MENU
    ################################################
    my $query = new CGI;
    
    if (!$query->param('rssurl'))
    	{
    	&printmenu;
    	}
    elsif ($query->param('rssurl') ne '')
    	{
    	&printfeed;
    	}
    else	{
    	&error;
    	}
    
    exit;
    
    ################################################
    # PRINT A MENU OF FEEDS
    # Useage: &printmenu;
    ################################################
    sub printmenu {
    
    # Change the following to the location of rss2cisco.pl on your server
    my $pathto = 'http://www.yourserver.cc/folder/name';
    
    $pathto = $pathto . '/rss2cisco.pl?rssurl';
    
    # Add/Remove RSS feeds below. There is a max of 64 feeds. Remember to remove the "http://"
    print qq|
    <CiscoIPPhoneMenu>
    <Title>Choose an RSS Feed</Title>
    <Prompt>Make a selection</Prompt>
    
     <MenuItem>
      <Name>Slashdot</Name>
      <URL>$pathto=slashdot.org/index.rss</URL>
     </MenuItem>
    
     <MenuItem>
      <Name>NHPR</Name>
      <URL>$pathto=nhpr.org/view_rss</URL>
     </MenuItem>
    
     <MenuItem>
      <Name>BBC World</Name>
      <URL>$pathto=www.bbc.co.uk/syndication/feeds/news/ukfs_news/world/rss091.xml</URL>
     </MenuItem>
    
     <MenuItem>
      <Name>Wired News</Name>
      <URL>$pathto=www.wired.com/news_drop/netcenter/netcenter.rdf</URL>
     </MenuItem>
    
    </CiscoIPPhoneMenu>
    |;
    }
    
    ################################################
    # PRINT A SINGLE RSS FEED
    # Useage: &printfeed($address);
    ################################################
    sub printfeed {
    my $query = new CGI;
    my $rssfeed = $query->param('rssurl');
    $rssfeed = 'http://' . $rssfeed;
    $ua->timeout(15);
    my $rssxml = get $rssfeed;
    
    print qq|
    <CiscoIPPhoneText>
    <Title>RSS2Cisco</Title>
    <Prompt></Prompt>
    <Text>|;
    
    # For the record, the following is an awful excuse for an XML parser
    # but I didn't want to require a whole module just to spit out the
    # title and description fields.
    
    my @items = split(/<item/,$rssxml);
    foreach my $item (@items)
    	{
    	my ($title,$description);
    	$item =~ s/&#(.*?);//g;
    	if ($item =~ m@</item>@)
    		{
    		if ($item =~ m@<title>(.*?)</title>@)
    			{
    			$title = $1;
    			}
    		if ($item =~ m@<description>(.*?)</description>@)
    			{
    			$description = $1;
    			}
    		print "$title\n     $description\n\n";
    		}
    	}
    
    print qq|</Text>
    </CiscoIPPhoneText>
    |;
    }
    
    ###############################################################
    # PRINT ERROR MESSAGE
    # Useage: &error;
    ###############################################################
    sub error {
    print qq|
    <CiscoIPPhoneText>
    <Title>Error...</Title>
    <Prompt></Prompt>
    <Text>There was an error.</Text>
    </CiscoIPPhoneText>
    |;
    }
    Das Ding habe ich angepasst und zum Experimentieren auf einen Webspace von mir gestellt. Funktioniert erstmal soweit. Ist garantiert ausbaufähig :)
    Unter dieser URL ist das ganze als .txt hinterlegt, damit man mal reingucken kann...

    Frage an die Admins: Wäre doch eine nette Idee, hier für das Board einen rss-Feed zu basteln. Ich könnte mir vorstellen, daß eine Übersicht der neuen Beiträge zum Beispiel ganz nett wäre.

    Im Skype-Forum bieten die sowas an (Habe ich spontan auch mal in meinem Experimentier-Skript untergebracht). Da die dort auch phpBB benutzen, gibt's vielleicht ein Mod dafür ?!

    Gruß,
    Ralf