[an error occurred while processing this directive]

Набор номера на Cisco IP Phone 7960/7940 из скрипта
Решил поделиться скриптом для набора номера на аппаратах Cisco IP Phone
7960/7940 (возможно, работает и на других с аналогичной прошивкой). Зачем это
может быть нужно? Я это использую для интеграции с callto:// links и
интеграцией со своим телефонным справочником. Скрипт работает через telnet, так
что вы должны включить его на телефоне. Набор номера использует команду test,
которая служит для эмуляции нажатия кнопок на аппарате. Пауза (с зависимостью
от длинны номера) требуется для того, чтобы телефон не сходил с ума.

Надеюсь, кому-то это скрипт тоже пригодится.

   #!/usr/bin/perl

   use Net::Telnet;
   use Time::HiRes;

   # cisco phone host name
   my $host='192.168.0.1';
   # cisco phone password
   my $password='cisco';
   # mute on a dial 0/1
   my $mute=0;

   my $sleeptime=.2;
   my $prompt='/> $/';

   my $argc = @ARGV;
   if ($argc!=1){
       print "Usage: call.pl <number>\\n";
       exit;
   }
   my $number=@ARGV[0];

   if($number!~/^[0-9*#]+$/) {
       print "Error: wrong characters in the numer\\n";
       exit 2;
   }
   $telnet = new Net::Telnet ( Timeout=>3, Errmode=>'die');
   # connecting
   $telnet->open($host);
   $telnet->waitfor('/Password :$/i'); 
   $telnet->print($password); 
   $telnet->waitfor($prompt);
   
   $telnet->print('test open');
   $telnet->waitfor($prompt);
   $telnet->print('test key spkr');
   $telnet->waitfor($prompt);Time::HiRes::sleep($sleeptime);
   if($mute){
       $telnet->print('test key mute');
       $telnet->waitfor($prompt);Time::HiRes::sleep($sleeptime);
   }
   $telnet->print("test key ".$number."#");
   $telnet->waitfor($prompt);Time::HiRes::sleep((length($number)+1)*$sleeptime);
   $telnet->print('test close');
   $telnet->waitfor($prompt);
   $telnet->close($host);
 
17.03.2012 , Автор: Alex Samorukov
Ключи: perl, cisco, ipphone, telnet / Лицензия: CC-BY
Раздел:    Корень / Маршрутизаторы Cisco, VoIP / VoIP

[an error occurred while processing this directive]

[an error occurred while processing this directive]