summaryrefslogtreecommitdiffstats
path: root/Handler/gsmcall_.py
blob: 1e2a0104bf3aacef81677a3a195ed1f078eed9b2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
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)