summaryrefslogblamecommitdiffstats
path: root/Handler/gsmcall_.py
blob: 1e2a0104bf3aacef81677a3a195ed1f078eed9b2 (plain) (tree)






























































































                                                                                                                             
import sys
import pjsua as pj
import socket
import time
import MySQLdb
import subprocess

import classServer

from time import sleep
from datetime import datetime
import string


stop ="false"

LOG_LEVEL=2
current_call = None
success = ""



while stop <> "true":


	try:
		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()

		ser = Serial(
			port=portAddress,
			baudrate=19200,
			bytesize=EIGHTBITS,
			parity=PARITY_NONE,
			stopbits=STOPBITS_ONE)
		ser.open()
	
	
		server = classServer.ServerHandler(50097) 
		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('I am ready')#send message to controller
		print "here:", server.connected

		while 1:
			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
						
					while 1:
	
						num = server.receiveData() # waiting destination number
						if num <> "":
								
							callBackNumber=
							ser.write('ATD' + num + ';\r')
							sleep(5)
							server.sendData('success')
							ser.write('AT+CHUP\r')
							break

				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
				ser.close()

		server.closeConnection()
		del server
		ser.close()
					
	except ValueError:    
		print "Exception: " + str(e)

print "Goodbye"
sleep(3)