[Freeswitch-svn] [commit] r7082 - freeswitch/trunk/scripts/scenario

Freeswitch SVN brian at freeswitch.org
Fri Jan 4 13:24:00 EST 2008


Author: brian
Date: Fri Jan  4 13:24:00 2008
New Revision: 7082

Added:
   freeswitch/trunk/scripts/scenario/
   freeswitch/trunk/scripts/scenario/attended_transfer.button
   freeswitch/trunk/scripts/scenario/blind_transfer.button
   freeswitch/trunk/scripts/scenario/offhook.button
   freeswitch/trunk/scripts/scenario/phones.cfg
   freeswitch/trunk/scripts/scenario/runscenario.pl   (contents, props changed)

Log:
These are used to run test scenarios against snom phones for automated testing

Added: freeswitch/trunk/scripts/scenario/attended_transfer.button
==============================================================================
--- (empty file)
+++ freeswitch/trunk/scripts/scenario/attended_transfer.button	Fri Jan  4 13:24:00 2008
@@ -0,0 +1,14 @@
+Snom_300,key,CANCEL
+Snom_360,key,CANCEL
+Snom_370,key,CANCEL
+Snom_300,key,ONHOOK
+Snom_360,key,ONHOOK
+Snom_370,key,ONHOOK,1
+Snom_300,number,1006,1
+Snom_360,key,OFFHOOK, 1
+Snom_360,key,F_HOLD, 1
+Snom_360,number,1007,2
+Snom_370,key,OFFHOOK,1
+Snom_360,key,F_TRANSFER,2
+Snom_360,key,ONHOOK
+

Added: freeswitch/trunk/scripts/scenario/blind_transfer.button
==============================================================================
--- (empty file)
+++ freeswitch/trunk/scripts/scenario/blind_transfer.button	Fri Jan  4 13:24:00 2008
@@ -0,0 +1,11 @@
+Snom_300,key,CANCEL
+Snom_360,key,CANCEL
+Snom_370,key,CANCEL
+Snom_300,key,ONHOOK
+Snom_360,key,ONHOOK
+Snom_370,key,ONHOOK,1
+Snom_300,number,1006,1
+Snom_360,key,OFFHOOK,1
+Snom_360,key,F_TRANSFER,1
+Snom_360,number,1007,2
+Snom_370,key,OFFHOOK,1

Added: freeswitch/trunk/scripts/scenario/offhook.button
==============================================================================
--- (empty file)
+++ freeswitch/trunk/scripts/scenario/offhook.button	Fri Jan  4 13:24:00 2008
@@ -0,0 +1,8 @@
+Snom_300,key,OFFHOOK
+Snom_320,key,OFFHOOK
+Snom_360,key,OFFHOOK
+Snom_370,key,OFFHOOK
+Snom_300,key,ONHOOK
+Snom_320,key,ONHOOK
+Snom_360,key,ONHOOK
+Snom_370,key,ONHOOK

Added: freeswitch/trunk/scripts/scenario/phones.cfg
==============================================================================
--- (empty file)
+++ freeswitch/trunk/scripts/scenario/phones.cfg	Fri Jan  4 13:24:00 2008
@@ -0,0 +1,4 @@
+Snom_300,10.0.1.241,1000
+Snom_320,10.0.1.242,1002
+Snom_360,10.0.1.243,1006
+Snom_370,10.0.1.244,1007

Added: freeswitch/trunk/scripts/scenario/runscenario.pl
==============================================================================
--- (empty file)
+++ freeswitch/trunk/scripts/scenario/runscenario.pl	Fri Jan  4 13:24:00 2008
@@ -0,0 +1,59 @@
+#!/usr/bin/perl
+#
+#  Scenario Test Execution.
+#
+use LWP::UserAgent;
+use Data::Dumper;
+
+$| =1;
+
+our $ua = LWP::UserAgent->new;
+my $phone = load_config();
+
+if(-f $ARGV[0]) {
+  run_scenario($ARGV[0]);
+} else {
+  print "No Scenario File?\n";
+  exit;
+}
+
+sub run_scenario($$) {
+  $file = shift;
+  open(SCENARIO,"<$file");
+  @commands = <SCENARIO>;
+  print Dumper $info;
+  foreach $command (@commands) {
+    chomp $command;
+    my($target, $type, $button, $delay) = split(",",$command);
+    &push_button($phone->{$target}, "$type", "$button", $delay);
+
+  }
+}
+
+sub push_button ($$$) {
+  $info = shift;
+  $type = shift;
+  $button = shift;
+  $delay = shift;
+
+  if($delay) {
+    sleep($delay);
+  } else {
+    $delay = 0;
+  }
+  print "$info->{name} -> $type => $button with delay $delay\n";
+
+  $request = HTTP::Request->new("GET", "http://$info->{ip}/command.htm?$type=$button");
+  $return = $ua->request($request);
+}
+
+sub load_config {
+  open(CFG,"<phones.cfg");
+  @phones = <CFG>;
+  foreach $line (@phones) {
+    chomp $line;
+    my($name,$ip,$extension) = split(",", $line);
+    $phone->{$name} = {name => $name, ip => $ip, extension => $extension}
+  }
+  return $phone;
+}



More information about the Freeswitch-svn mailing list