summaryrefslogblamecommitdiffstats
path: root/For Weekly Test/07-08-2011/gsmcall_.py
blob: 48466cb3ae2d3717cf6768a93080bc29ce9ed9c7 (plain) (tree)
1
2
3
4
5
6
7
8



                  
 
                 

                    








                             
                  
 
             
 



                                                       
 


                                              

 
 
                         
 

                
        
                                                         









                                                                               
                                                                   
                                                             
 

                                     

                                                                                                                             
 

                                                                                                                  
                                                   
                                                                








                                                                      
                                                  
 

                                                     


                                                                                  
                                                                      
 





                                                                           







                                                                                                                          
                                


                                        


                               





                                            
import sys
import pjsua as pj
import socket
import time

import subprocess
import os
from serial import *

import classServer

from time import sleep
from datetime import datetime
import string


stop ="false"
success = "failed"

global server

global ser
portAddress = '/dev/ttyUSB1'
portName = portAddress[-4:]
portExist = os.popen('dmesg | grep ' + portName).read()

if portExist == '':
	print 'The serial port does not exist'
	sys.exit()



while stop <> "true":#???


	try:	
	
		server = classServer.ServerHandler(50098)
		tried = server.openSocket()

		if server.error != 'No error':
			print server.error
			if server.error == '[Errno 98] Address already in use':
				print 'one should try to kill the port'
				print server.killPort()
				server.closeConection()

			
		server.sendData('ready')#send message to controller
		print "Controller status: ", server.connected


		while stop <> "true":
			try:
				data = server.receiveData() # waiting mode, until receiver start message or terminate message

				if data == "start": # if receiver start message, handler start to call destination
						
					num = "929"
					server.closeConnection()

					ser = Serial(
						port=portAddress,
						baudrate=19200,
						bytesize=EIGHTBITS,
						parity=PARITY_NONE,
						stopbits=STOPBITS_ONE)

					ser.close()
					ser.open()


					if num <> "":

						ser.write('ATD4661' + num + ';\r')
						sleep(3)
						ser.write('AT+CHUP\r')

						ser.close()
						tried = server.openSocket()
						sleep(2)
						success = "success"
						server.sendData(success)
				
				if data == "terminated": # will terminate the handler if controller send terminate message
					stop = "true"
					break
	
			except ValueError:
				print "error when sending message"
				server.closeConnection()
				del server
				

		server.closeConnection()
		del server
		print "Goodbye"
		sleep(3)
		sys.exit(1)
					
	except ValueError:    
		print "Exception: " + str(e)

print "Goodbye"
sleep(3)