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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值