Ejemplo n.º 1
0
    def run(self):
        print("[Info :] Thread started for sending streaming data..")
        while self.Run:
            rawImageDataList = self.getBytes()
            #if (self.ConnectionEstablished):
            for rawData in rawImageDataList:
                rawData = rawData.tostring()
                if (rawData is not None):
                    try:
                        #dataToSend = rawData
                        dataToSend = self.rawByteProcessor.makeOrderedByte(
                            rawData)
                        #print (len(dataToSend))
                        self.sendBytes(dataToSend)
                        PacketDetails.Details()
                        #print(len(self.BufferMessg))
                    except Exception as e:
                        print("[Warning :] Sender Thread --> " + str(e))
                        #x=0
                else:
                    print "?",
            rawData = "EndImageEndImageEndImageEndImageEndImageEndImage"
            dataToSend = self.rawByteProcessor.makeOrderedByte(rawData)
            self.sendBytes(dataToSend)
            sleep(0.1)

        print("[Info :] Thread terminated for sending streaming data..")
Ejemplo n.º 2
0
 def WaitTillCallisDisconnected(self):
     while (True):
         try:
             sleep(1)
             if (self.Talking.ConnectionEstablished == False):
                 print("[Info :] You have closed the connection")
                 break
             if (self.Hearing.ConnectionEstablished == False):
                 print("[Info :] The reciver has disconnected")
                 break
             if (self.Run == False):
                 break
             PacketDetails.Details()
         except KeyboardInterrupt:
             break
Ejemplo n.º 3
0
 def WaitTillCallisDisconnected(self):
   while (True):
     try:
         sleep(0.1)
         if (self.Talking.ConnectionEstablished == False) :
             self.printC("[Info :] You have closed the connection")
             break
         if(self.Hearing.ConnectionEstablished == False):
             self.printC("[Info :] The reciver has disconnected")
             break
         if(self.Run == False):
             break
         if (self.ConnectionStatus == 'Disconnect'):
                break
         if(self.IsPhysicalKeyConnected()==False):
               self.printC("[Alert :] Physical key not connected closing the call")
               break
         PacketDetails.Details()
     except KeyboardInterrupt:
         break
Ejemplo n.º 4
0
    def run(self):
        print("[Info :] Phone terminal service started")
        self.Run = True
        while (self.Run):
            try:
                sleep(1)
                if (self.ConnectionStatus == 'ConnectTo'):
                    print("Hold on")
                    while (self.Hearing.ConnectionEstablished == False):
                        self.sine_tone(440, 1)
                        #print ".",
                        if (self.Run == False):
                            return
                        PacketDetails.Details()
                        sleep(1)
                    print("The client " + str(self.Hearing.callerIP[0]) +
                          " has just connected.. Please start talking")
                    self.Talking.clearBuffer()
                    self.ConnectionStatus = 'Talking'
                    self.WaitTillCallisDisconnected()
                    self.Disconnect()
                    self.ConnectionStatus = 'idle'

                if (self.ConnectionStatus == 'idle'):
                    if (self.Hearing.callerIP is not None):
                        print(self.Hearing.callerIP)
                        print("Getting a call from " +
                              str(self.Hearing.callerIP[0]))
                        while True:
                            self.sine_tone(440, 3)
                            #print ".",
                            #i, o, e = select.select( [sys.stdin], [], [], 2)
                            i = 1
                            if (i):
                                print "You picked up phone.."
                                break
                            if (self.Run == False):
                                return
                            PacketDetails.Details()
                        print("The client " + str(self.Hearing.callerIP[0]) +
                              " has just connected..")
                        self.ConnectTo(self.Hearing.callerIP[0])
                        self.Talking.clearBuffer()
                        self.ConnectionStatus = 'Talking'
                        self.WaitTillCallisDisconnected()
                        self.Disconnect()
                        self.ConnectionStatus = 'idle'

                if (self.ConnectionStatus == 'Conference'):
                    print("Hold on for participants to join")
                    while (self.Hearing.callerIP is None):
                        #print ".",
                        if (self.Run == False):
                            return
                        sleep(2)
                        PacketDetails.Details()
                    print("The client " + str(self.Hearing.callerIP[0]) +
                          " has just connected.. Please start talking")
                    self.ConnectionStatus = 'Talking'
                    #self.WaitTillCallisDisconnected()
                    #self.LeaveConference(MultiCastGrp, MuliCastPortNo)
                    #self.ConnectionStatus = 'idle'
                PacketDetails.Details()

            except KeyboardInterrupt:
                break
Ejemplo n.º 5
0
    def run(self):
        print("[Info :] Phone terminal service started")
        self.Run = True
        while(self.Run):
            try:
                sleep(1)
                if(self.ConnectionStatus == 'ConnectTo'):
                    self.printC("Hold on")
                    while (self.Hearing.ConnectionEstablished == False):
                            while True:
                                dataTone = self.callingTone.readframes(2048)
                                if(dataTone!=''):
                                   self.Hearing.returnBytes(dataTone)
                                else:
                                    self.callingTone = wave.open('ring.wav', 'rb')
                                    break
                            #print ".",
                            if(self.Run == False):
                              return
                            PacketDetails.Details()
                            if(self.ConnectionStatus=="Disconnect"):
                                break
                            if(self.IsPhysicalKeyConnected()==False):
                                     self.printC("[Alert :] Physical key not connected closing the call")
                                     self.ConnectionStatus = "Disconnect"
                                     break
                            sleep(1)
                    if (self.ConnectionStatus != "Disconnect"):
                        self.printC("The client " + str(self.Hearing.callerIP[0]) + " has just connected.. Please start talking")
                        self.Talking.clearBuffer()
                        self.Hearing.ONReceptionToSpeakers = True
                        if(enableVideoCalling):
                               self.VideoSender.ConnectTo(self.Hearing.callerIP[0], VideoPortNo)
                        self.ConnectionStatus = 'Talking'
                        self.WaitTillCallisDisconnected()
                    else:
                        self.printC("Idle. Make sure physical key is attached to the system")
                    self.Disconnect()
                    sleep(4)
                    self.ConnectionStatus = 'idle'
                    
                    
                if (self.ConnectionStatus == 'idle'): 
                    self.CallersIP =  self.Hearing.callerIP
                    if(self.CallersIP is not None):
                         
                        print(self.Hearing.callerIP)
                        self.printC("Getting a call from " + str(self.Hearing.callerIP[0]))
                        self.ConnectionStatus = 'ringing'
                        while self.ConnectionStatus != 'pickup':                        
                             #self.sine_tone(440, 0.1)
                             while True :
                                 dataTone = self.RingingTone.readframes(2048)
                                 if (dataTone != ''):
                                     self.Hearing.returnBytes(dataTone)
                                 else:
                                     self.RingingTone = wave.open('bell.wav', 'rb')
                                     sleep(2)
                                     break

                             #print ".",
                             #i, o, e = select.select( [sys.stdin], [], [], 2)
                             #i = 1
                             #if (i):
                             #     
                             #     break
                             #     if (self.ConnectionStatus == "Disconnect"):
                             #         break
                             if (self.ConnectionStatus == "Disconnect"):
                                     break
                             if(self.Run == False):
                                return
                             if(self.IsPhysicalKeyConnected()==False):
                                     self.printC("[Alert :] Physical key not connected closing the call")
                                     self.ConnectionStatus = "Disconnect"
                                     break
                             PacketDetails.Details()
                             sleep(0.05)
                             #print("*")
                        self.printC( "You picked up phone..")
                        if (self.ConnectionStatus != "Disconnect"):
                               self.printC("The client " + str(self.Hearing.callerIP[0]) + " has just connected..")
                               self.Talking.ConnectTo(self.Hearing.callerIP[0], PortNumber)
                               self.Talking.clearBuffer()
                               self.Hearing.ONReceptionToSpeakers = True
                               if(enableVideoCalling):
                                     self.VideoSender.ConnectTo(self.Hearing.callerIP[0], VideoPortNo)
                               self.ConnectionStatus = 'Talking'
                        else:
                            self.printC("Idle. Make sure physical key is attached to the system")
                        self.WaitTillCallisDisconnected()
                        self.Disconnect()
                        sleep(4)
                        self.ConnectionStatus = 'idle'
                        self.CallersIP = None

                     
                 
                if(self.ConnectionStatus == 'Conference'):
                    self.printC("Hold on for participants to join")
                    while (self.Hearing.callerIP is None):
                        #print ".",
                        if(self.Run == False):
                              return
                        if (self.ConnectionStatus == "Disconnect"):
                            break
                        if(self.IsPhysicalKeyConnected()==False):
                                     self.printC("[Alert :] Physical key not connected closing the call")
                                     self.ConnectionStatus = "Disconnect"
                                     break
                        sleep(2)
                        PacketDetails.Details()
                    if (self.ConnectionStatus != "Disconnect"):
                        self.printC("The client " + str(self.Hearing.callerIP[0]) + " has just connected.. Please start talking")
                        self.Hearing.ONReceptionToSpeakers = True
                        self.ConnectionStatus = 'Talking'
                        self.WaitTillCallisDisconnected()
                    else:
                        self.printC("Idle")
                        sleep(2)
                    self.LeaveConference(MultiCastGrp, MuliCastPortNo)
                    self.ConnectionStatus = 'idle. Make sure physical key is attached to the system'
                    
                PacketDetails.Details()
        
            except KeyboardInterrupt:
               break