#-------------------------------------------------------------------------------
# Name: CallGenerator
# Purpose: To initate call generator using SIPp
#
# Author: vallikkv
#
# Created: 02-11-2014
# Last Modified: 10-11-2014
# Copyright: (c) vallikkv 2014
# Licence: V2.0
#-------------------------------------------------------------------------------
import wx
import subprocess
import threading
import fileinput, socket, os
class MyFrame(wx.Frame):
""" Dervice new class of Frame"""
def __init__ (self, parent, title):
wx.Frame.__init__(self,parent,title=title,size=(410,355))
panel = wx.Panel(self)
# CreatingTextbox for Extension/Queue number input
self.filename = wx.TextCtrl(panel,pos=(175,50),size=(100,25))
self.serveraddress = wx.TextCtrl(panel,pos=(175,90),size=(100,25))
self.calltime = wx.TextCtrl(panel, pos=(175,130),size=(100,25))
self.callerNum = wx.TextCtrl(panel, pos=(175,10),size=(100,25))
#Label
callerlabel = wx.StaticText(panel, label="Caller ID: ", pos =(55,15))
labelname = wx.StaticText(panel, label="Queue Number: ", pos =(55,55))
serverlabel = wx.StaticText(panel, label="Server IP: ", pos =(55,95))
Calls = wx.StaticText(panel, label="Call timeout in secs: ", pos =(55,135))
# Creating button which collects the Queuenumber and written it in the csv file and start the sipp.
startbutton = wx.Button(panel, label="Start", pos=(100,200), size=(80,25)) #Creating Start button
self.Bind(wx.EVT_BUTTON,self.StartClicked, startbutton) #Binding Start button with Startclicked method
closebutton = wx.Button(panel, label="Close",pos=(250,200),size=(80,25)) #Creating Close button to close the app
self.Bind(wx.EVT_BUTTON, self.OnCloseMe, closebutton)
self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
self.Queueinput1 = str(self.filename.GetValue())
def OnCloseMe(self, event):
self.Close(True)
def OnCloseWindow(self, event):
self.removefiles()
self.Destroy()
def csvfilecreation(self):
print "Calling csvfilecreation method"
self.Queueinput = str(self.filename.GetValue())
self.serverip = str(self.serveraddress.GetValue())
self.callerid = str(self.callerNum.GetValue())
#Creating CSV File based on the queue
queuefile=open(r"C:\Program Files (x86)\Sipp_3.1\Sample"+self.Queueinput+".csv", 'w+')
queuefile.write("SEQUENTIAL\n"+self.callerid+";"+self.serverip+";[authentication username="+self.callerid+" password=connect];"+self.Queueinput+";")
queuefile.close
def InputQueue(self):
self.inputvalue = str(self.filename.GetValue())
return self.inputvalue
def updatetimeincsv(self):
print "Updating timeout in xml"
oldxml=open(r"C:\Program Files (x86)\Sipp_3.1\xml.xml",'r')
newxml=open(r"C:\Program Files (x86)\Sipp_3.1\Sample"+self.Queueinput+".xml", 'w+')
for line in oldxml:
newxml.write(line.replace('<pause milliseconds="60000" />','<pause milliseconds="'+str(int(self.Timeout)*1000)+'" />'))
newxml.close()
oldxml.close()
def updatecsvfileinbat(self):
os.chdir(r"C:\Program Files (x86)\Sipp_3.1")
print "Calling updatecsvfileinbat method"
self.hostip=socket.gethostbyname(socket.gethostname())
updatecsv=open(r'C:\Program Files (x86)\Sipp_3.1\SampleCall'+self.Queueinput+'.bat','w+')
updatecsv.write(":start\nsipp.exe "+self.serverip+" -sf Sample"+self.Queueinput+".xml -inf Sample"+self.Queueinput+".csv"+" -m 1 -l 1 -i "+self.hostip+"\nsleep 10\ngoto start")
def StartClicked(self, event):
print 'Calling StartClicked Method'
MyFrame.calltimeout(self)
MyFrame.csvfilecreation(self)
MyFrame.updatecsvfileinbat(self)
MyFrame.updatetimeincsv(self)
MyFrame.ThreadStart(self)
def ThreadStart(self):
print "Calling Threadstart Method"
#myinstance=The()
Sippscript = threading.Thread(target=self.sippthread)
Sippscript.daemon=True
Sippscript.start()
def stopthread(self):
while self.threads:
thread = self.thread[0]
thread.stop()
self.threads.remove(thread)
def sippthread(self):
""" New Child Thread for Sipp"""
self.filepath=r'C:\Program Files (x86)\Sipp_3.1\SampleCall'+self.Queueinput+'.bat'
print "Chile tread"
print self.filepath
os.startfile(self.filepath)
def calltimeout(self):
print "Calling calltimeout Method"
self.Timeout= str(self.calltime.GetValue())
print self.Timeout
def clear(self):
self.clear()
def removefiles(self):
os.chdir(r"C:\Program Files (x86)\Sipp_3.1")
for file in os.listdir("."):
if os.path.isfile(file) and file.startswith("Sample"):
try:
os.remove(file)
except Exception,e:
print e
if __name__ == '__main__':
app = wx.App()
frame = MyFrame(None, "CallGenerator")
frame.Show()
app.MainLoop()
# Name: CallGenerator
# Purpose: To initate call generator using SIPp
#
# Author: vallikkv
#
# Created: 02-11-2014
# Last Modified: 10-11-2014
# Copyright: (c) vallikkv 2014
# Licence: V2.0
#-------------------------------------------------------------------------------
import wx
import subprocess
import threading
import fileinput, socket, os
class MyFrame(wx.Frame):
""" Dervice new class of Frame"""
def __init__ (self, parent, title):
wx.Frame.__init__(self,parent,title=title,size=(410,355))
panel = wx.Panel(self)
# CreatingTextbox for Extension/Queue number input
self.filename = wx.TextCtrl(panel,pos=(175,50),size=(100,25))
self.serveraddress = wx.TextCtrl(panel,pos=(175,90),size=(100,25))
self.calltime = wx.TextCtrl(panel, pos=(175,130),size=(100,25))
self.callerNum = wx.TextCtrl(panel, pos=(175,10),size=(100,25))
#Label
callerlabel = wx.StaticText(panel, label="Caller ID: ", pos =(55,15))
labelname = wx.StaticText(panel, label="Queue Number: ", pos =(55,55))
serverlabel = wx.StaticText(panel, label="Server IP: ", pos =(55,95))
Calls = wx.StaticText(panel, label="Call timeout in secs: ", pos =(55,135))
# Creating button which collects the Queuenumber and written it in the csv file and start the sipp.
startbutton = wx.Button(panel, label="Start", pos=(100,200), size=(80,25)) #Creating Start button
self.Bind(wx.EVT_BUTTON,self.StartClicked, startbutton) #Binding Start button with Startclicked method
closebutton = wx.Button(panel, label="Close",pos=(250,200),size=(80,25)) #Creating Close button to close the app
self.Bind(wx.EVT_BUTTON, self.OnCloseMe, closebutton)
self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
self.Queueinput1 = str(self.filename.GetValue())
def OnCloseMe(self, event):
self.Close(True)
def OnCloseWindow(self, event):
self.removefiles()
self.Destroy()
def csvfilecreation(self):
print "Calling csvfilecreation method"
self.Queueinput = str(self.filename.GetValue())
self.serverip = str(self.serveraddress.GetValue())
self.callerid = str(self.callerNum.GetValue())
#Creating CSV File based on the queue
queuefile=open(r"C:\Program Files (x86)\Sipp_3.1\Sample"+self.Queueinput+".csv", 'w+')
queuefile.write("SEQUENTIAL\n"+self.callerid+";"+self.serverip+";[authentication username="+self.callerid+" password=connect];"+self.Queueinput+";")
queuefile.close
def InputQueue(self):
self.inputvalue = str(self.filename.GetValue())
return self.inputvalue
def updatetimeincsv(self):
print "Updating timeout in xml"
oldxml=open(r"C:\Program Files (x86)\Sipp_3.1\xml.xml",'r')
newxml=open(r"C:\Program Files (x86)\Sipp_3.1\Sample"+self.Queueinput+".xml", 'w+')
for line in oldxml:
newxml.write(line.replace('<pause milliseconds="60000" />','<pause milliseconds="'+str(int(self.Timeout)*1000)+'" />'))
newxml.close()
oldxml.close()
def updatecsvfileinbat(self):
os.chdir(r"C:\Program Files (x86)\Sipp_3.1")
print "Calling updatecsvfileinbat method"
self.hostip=socket.gethostbyname(socket.gethostname())
updatecsv=open(r'C:\Program Files (x86)\Sipp_3.1\SampleCall'+self.Queueinput+'.bat','w+')
updatecsv.write(":start\nsipp.exe "+self.serverip+" -sf Sample"+self.Queueinput+".xml -inf Sample"+self.Queueinput+".csv"+" -m 1 -l 1 -i "+self.hostip+"\nsleep 10\ngoto start")
def StartClicked(self, event):
print 'Calling StartClicked Method'
MyFrame.calltimeout(self)
MyFrame.csvfilecreation(self)
MyFrame.updatecsvfileinbat(self)
MyFrame.updatetimeincsv(self)
MyFrame.ThreadStart(self)
def ThreadStart(self):
print "Calling Threadstart Method"
#myinstance=The()
Sippscript = threading.Thread(target=self.sippthread)
Sippscript.daemon=True
Sippscript.start()
def stopthread(self):
while self.threads:
thread = self.thread[0]
thread.stop()
self.threads.remove(thread)
def sippthread(self):
""" New Child Thread for Sipp"""
self.filepath=r'C:\Program Files (x86)\Sipp_3.1\SampleCall'+self.Queueinput+'.bat'
print "Chile tread"
print self.filepath
os.startfile(self.filepath)
def calltimeout(self):
print "Calling calltimeout Method"
self.Timeout= str(self.calltime.GetValue())
print self.Timeout
def clear(self):
self.clear()
def removefiles(self):
os.chdir(r"C:\Program Files (x86)\Sipp_3.1")
for file in os.listdir("."):
if os.path.isfile(file) and file.startswith("Sample"):
try:
os.remove(file)
except Exception,e:
print e
if __name__ == '__main__':
app = wx.App()
frame = MyFrame(None, "CallGenerator")
frame.Show()
app.MainLoop()
Permit me to introduce you to LE-MERIDIAN FUNDING SERVICES. We are directly into pure loan and project(s) financing in terms of investment. We provide financing solutions to private/companies seeking access to funds in the capital markets i.e. oil and gas, real estate, renewable energy, Pharmaceuticals, Health Care, transportation, construction, hotels and etc. We can finance up to the amount of $900,000,000.000 (Nine Hundred Million Dollars) in any region of the world as long as our 1.9% ROI can be guaranteed on the projects.
ReplyDeleteLe-Meridian Funding Service.
(60 Piccadilly, Mayfair, London W1J 0BH, UK) Email Email Contact....lnfo@lemeridianfds.com