summaryrefslogblamecommitdiffstats
path: root/For Weekly Test/20-07-2011/sipReceiver.py
blob: b58990b56ccfa6a02b5b3cce26478cf848029fdd (plain) (tree)
1
2
3
4
5
6
7
8
9

                  
                  
                      
 

 
                            
                                         

 

                                            
                                         
 
                                   
 

                                
 
                          
 



                                        


              
            

    
        

                                                 
        
                                                                  
                                                                                     
   


                              


                                                                                       
 
                                               
 
                                                
 
















                                                           
 



                                                
                        
 

                                                 

                             

                                        






                                
import sys
import pjsua as pj
import classServer
from time import sleep



def log_cb(level, str, len):
    print str, "SIP Handler Receiver Log"


class MyAccountCallback(pj.AccountCallback):

	def on_incoming_call(self, call):

		current_call = call

		sleep(0.5)
		call.answer(200)

		sleep(0.5)

		if current_call <> None:
			call.hangup()
		
		server.sendData('200')

        
lib = pj.Lib()
stop = False

try:
	
	server = classServer.ServerHandler(50104)
	tried = server.openSocket()
	
	lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
	transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
   
    	lib.start()
    	lib.set_null_snd_dev()

	try:
    		acc_cfg = pj.AccountConfig("132.230.4.8", "mpselftest2", "2mpselftest")
    		acc = lib.create_account(acc_cfg, cb=MyAccountCallback())

		if acc.info().reg_status < 700:

			server.sendData('ready')

    			while stop <> True:
			
				data = server.receiveData()

				if data == "487":
					stop = True
					break

    			transport = None
    			acc.delete()
    			acc = None
    			lib.destroy()
    			lib = None
			server.closeConnection()
			
		else:
			print "Bad Register"

			lib.destroy()
			lib = None
    			acc = None
			server.closeConnection()
			

	except pj.Error, e:
		print "401 Unauthorized " +str(e)
    		lib.destroy()
    		lib = None
    		server.closeConnection()
    		

except pj.Error, e:
    print "Exception: " + str(e)
    lib.destroy()
    lib = None
    server.closeConnection()
    del server