perl中连接AMI

前端之家收集整理的这篇文章主要介绍了perl中连接AMI前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
sub connect_ami
{
my    ($res,$ret1);
my    %info = (host=>'localhost',
               port=>5038,
               user=>'user',                #manager中的用户名
               secret=>'secret'          #manager密码
              );
#CONNECT


#CONNECT
my    ($host,$addr,$msg);
      $host = inet_aton($info{'host'});
      socket($SOCK,AF_INET,SOCK_STREAM,getprotobyname('tcp'));
      $addr = sockaddr_in($info{'port'},$host);


      connect($SOCK,$addr) or die "Can't Connect to Asterisk Manager Port : $!";


      $msg = <$SOCK>;
      if ($msg !~ /Asterisk Call Manager/){
             die "Connect not ok!";
             exit;
      }
      send($SOCK,"ACTION: LOGIN\r\nUSERNAME: $info{'user'}\r\nSECRET: $info{'secret'}\r\n\r\n",0);
#my    ($res,$ret);
      $res = <$SOCK>;
      if ($res =~ /Success/){
          $ret1 = "a";
#          print $ret1;
      }else{
          $ret1 = "b";

      }

      return $ret1; }

猜你在找的Perl相关文章