]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add some tests,examples to fshelper, clean up the reconnect error message in fseventl...
authorTraun Leyden <tleyden@branchcut.com>
Thu, 18 Oct 2007 01:38:17 +0000 (01:38 +0000)
committerTraun Leyden <tleyden@branchcut.com>
Thu, 18 Oct 2007 01:38:17 +0000 (01:38 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5957 d0543943-73ff-0310-b7d9-9358b9ac24b2

scripts/socket/freepy/fseventlistener.py
scripts/socket/freepy/fshelper.py

index 7ab72ff86da15cb79743e24e11884725397613b4..7f7c1c99d1b9f7e1bbe083df948f3ac1b43190b1 100644 (file)
@@ -213,13 +213,17 @@ class FreeswitchEventListenerFactory(ClientFactory):
         self.protocol = None
     
     def clientConnectionFailed(self, connector, reason):
-        print "clientConnectionFailed! conn=%s, reason=%s" % (connector,
-                                                              reason)
-        #self.protocol = None
+
         if self.num_attempts < 100:
-            self.num_attempts += 1
+            self.num_attempts += 1            
+            print "Connection refused, retrying attempt #%s in 5 seconds" % \
+                  (self.num_attempts)
             return reactor.callLater(5, self.connect)
         else:
+            print "clientConnectionFailed! conn=%s, reason=%s" % (connector,
+                                                                  reason)
+            print ("Retry attempts exhausted, total attempts: %s" % 
+                  self.num_attempts)
             deferred2callback = self.connection_deferred
             deferred2callback.errback(reason)
 
index 9a7cc98211a9e276a365ade239654471e0f2614c..84e749b6b47e30e15e4d90c232b12bd521b98c4d 100644 (file)
@@ -321,6 +321,10 @@ class FsHelperTest:
 
     def test_dialconf(self):
 
+        # the following parties will be dialed out from the conference
+        # called "freeswitch" on the local freeswitch instance.
+        # one party is actually another conference, just to make
+        # the example more confusing.
         people2dial = [{'name':'freeswitch',
                         'number':'888@conference.freeswitch.org'},
                        {'name':'mouselike',
@@ -333,7 +337,6 @@ class FsHelperTest:
         d.addErrback(failed)
         def worked(*args):
             print "Worked! Dialed user result: %s" % str(args)
-            #reactor.stop()
         d.addCallback(worked)        
         return d
 
@@ -366,7 +369,9 @@ class FsHelperTest:
 
 def test1():
     kick_everyone = False
-    fshelper = FsHelper("mydomain.com")
+    fshelper = FsHelper(host="127.0.0.1",
+                        passwd="ClueCon",
+                        port=8021)
     fsht = FsHelperTest(fshelper)
     fsht.test_dialconf()
     d = fsht.test_listconf()
@@ -391,10 +396,113 @@ def test1():
     reactor.run()
 
 def test2():
-    fshelper = FsHelper("mydomain.com")
+    fshelper = FsHelper(host="127.0.0.1",
+                        passwd="ClueCon",
+                        port=8021)    
     fshelper.sofia_profile_restart("mydomain.com")
     reactor.run()    
+
+def test3():
+    fshelper = FsHelper(host="127.0.0.1",
+                        passwd="ClueCon",
+                        port=8021)        
+    print "Calling originate.."
+    party2dial="sofia/foo/600@192.168.1.202:5080"
+    d = fshelper.originate(party2dial=party2dial,
+                           dest_ext_app="101",
+                           bgapi=True)
+
+    def worked(result):
+        print "Originate succeeded: %s" % result
+        reactor.stop()
+        
+    def failed(failure):
+        print "failed: %s" % str(failure)
+        reactor.stop()
+        
+    d.addCallback(worked)
+    d.addErrback(failed)
+    reactor.run()    
+
+
+def test4():
+    fshelper = FsHelper(host="127.0.0.1",
+                        passwd="ClueCon",
+                        port=8021)        
+
+    def worked(result):
+        print "Originate succeeded: %s" % result
+        #reactor.stop()
+        
+    def failed(failure):
+        print "failed: %s" % str(failure)
+        #reactor.stop()
+
+
+    dest_ext_app = "101"
+    party2dial="sofia/foo/600@192.168.1.202:5080"
+    d = fshelper.originate(party2dial=party2dial,
+                           dest_ext_app=dest_ext_app,
+                           bgapi=True)
+    d.addCallback(worked)
+    d.addErrback(failed)
+    party2dial="sofia/foo/someone@bar.com"    
+    d2 = fshelper.originate(party2dial=party2dial,
+                            dest_ext_app=dest_ext_app,
+                            bgapi=True)
+        
+    d2.addCallback(worked)
+    d2.addErrback(failed)
+    reactor.run()    
+
+
+def test5():
+    fshelper = FsHelper(host="127.0.0.1",
+                        passwd="ClueCon",
+                        port=8021)        
+
+    def worked(result):
+        print "Originate succeeded: %s" % result
+        #reactor.stop()
+        
+    def failed(failure):
+        print "failed: %s" % str(failure)
+        #reactor.stop()
+
+    for i in xrange(20):
+
+        party2dial="sofia/foo/600@192.168.1.202:5080"
+        d = fshelper.originate(party2dial=party2dial,
+                               dest_ext_app="700",
+                               bgapi=True)
+        d.addCallback(worked)
+        d.addErrback(failed)
+
+    reactor.run()    
+
+def test6():
+    """
+    show channels for a given sofia profile
+    """
+    fshelper = FsHelper(host="127.0.0.1",
+                        passwd="ClueCon",
+                        port=8021)
+    from wikipbx import channelsutil
+    def show_chanels(raw_xml):
+        print raw_xml
     
+    def failure(failure):
+        print failure
+        
+    d = fshelper.showchannels(bgapi=False)
+    d.addCallback(show_chanels)
+    d.addErrback(failure)
+    reactor.run()
+                                                                            
+
 if __name__=="__main__":
     #test1()
-    test2()
+    #test2()
+    #test3()
+    test4()
+    #test5()