您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 使用H.323测试遗留语音邮件系统

5b51 2022/1/14 8:21:25 python 字数 3774 阅读 489 来源 www.jb51.cc/python

我被要求开发一个脚本,可以通过H.323拨打需要更好监控的语音邮件系统. (该设备以神秘的方式死亡,并提供非常少的snmp).这个想法是拨打一个号码,看看该线路是否得到了解答.如果出现问题,语音邮件系统将响铃或无法应答.我的问题在于我对H.323或可用库一无所知. (Perl是我公司的首选语言,但对于这个特定的东西,我可能会使用python或使用一些二进制程

概述

我被要求开发一个脚本,可以通过H.323拨打需要更好监控的语音邮件系统. (该设备以神秘的方式死亡,并提供非常少的snmp).这个想法是拨打一个号码,看看该线路是否得到了解答.如果出现问题,语音邮件系统将响铃或无法应答.

我的问题在于我对H.323或可用库一无所知. (Perl是我公司的首选语言,但对于这个特定的东西,我可能会使用python或使用一些二进制程序.)

在寻找H.323时,我发现了一个黑暗的兔子洞.我不知道C或想要作为客户端运行pbx,我找到了开源库,但没有“call()”函数这样的东西.我没有循环来学习每一个进出.

(如果这不是为了工作,我会连接几行python并使用Twilio完成所有繁重的工作.)

我想我需要一些如何解决问题的指导.

谢谢

(sleep 30; echo q) | ohphone -s Default -n -u from_user to_user@gateway > /tmp/output.$$

你通常可以在linux发行版中找到ohphone作为一个包:

apt-get install ohphone

来源可以在voxgratia找到
虽然年纪较大,但仍然可以很好地运作.

使用ohphone处理输出有点棘手,但你可以使用perl脚本之类的东西将它处理成errno值.

这是一个快速而肮脏的例子:

#!/usr/bin/env perl

$delay=$ARGV[0];
if(! $delay) { $delay = 10; }

$from=$ARGV[1];
if(! $from) { $from = "default_from_user"; }

$to=$ARGV[2];
if(! $to) { $to = "default_to_user"; }

$gateway=$ARGV[3];
if(! $gateway) { $gateway = "127.0.0.1"; }

print "Running: (sleep $delay; echo q ) | (ohphone -s Default -n -u $from $to\@$gateway)|\n";
open(IN,"(sleep $delay; echo q ) | (ohphone -s Default -n -u $from $to\@$gateway)|");

my $call_started=false;
my $call_completed=false;

my @results;

my $skip=1;
while($line=
  
   Could not open sound device/) {
  next;
 }
 chomp($line);
 push(@results,$line);
 if($line=~/was busy$/) {
  print "$to: Called party busy\n";
  exit 1;
 }
 if($line=~/^Call with .* completed,duration (.*)$/) {
  print "$to: Completed duration $1 call.\n";
  exit 0;
 }
 if($line=~/has cleared the call,duration (.*)$/) {
  print "$to: Completed duration $1 call.\n";
  exit 0;
 }
 if($line=~/^Call with .* completed$/) {
  print "$to: No call duration.\n";
  exit 2;
 }
}

close(IN);

$result=join("\n",@results);
print "$ARGV[0]: Unk
   Nown results:\n$result\n";
exit 255;

  

这个剧本已有几年历史了,但在此期间它对我们来说效果很好.

总结

以上是编程之家为你收集整理的python – 使用H.323测试遗留语音邮件系统全部内容,希望文章能够帮你解决python – 使用H.323测试遗留语音邮件系统所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶