perl中连接AMI
发布时间:2020-12-16 00:29:03 所属栏目:大数据 来源:网络整理
导读:sub connect_ami { my ? ?($res,$ret1); my ? ?%info = (host='localhost', ? ? ? ? ? ? ? ?port=5038, ? ? ? ? ? ? ? ?user='user',? ? ? ? ? ? ? ? #manager中的用户名 ? ? ? ? ? ? ? ?secret='secret' ? ? ? ? ?#manager密码 ? ? ? ? ? ? ? ); #CONNECT #
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: LOGINrnUSERNAME: $info{'user'}rnSECRET: $info{'secret'}rnrn",0); #my ? ?($res,$ret); ? ? ? $res = <$SOCK>; ? ? ? if ($res =~ /Success/){ ? ? ? ? ? $ret1 = "a"; # ? ? ? ? ?print $ret1; ? ? ? }else{ ? ? ? ? ? $ret1 = "b"; ? ? ? } ? ? ? return $ret1; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |