示例#1
0
count = py_pjsua.call_get_max_count()
print "py call get max count " + ` count `
count = py_pjsua.call_get_count()
print "py call get count " + ` count `
ids = py_pjsua.enum_calls()
for id in ids:
    print "py enum calls id " + ` id `
msg_data = py_pjsua.Msg_Data()
status, id = py_pjsua.call_make_call(-1, "sip:[email protected]", 0, 0,
                                     msg_data)
print "py call make call " + ` status ` + " id " + ` id `
if status != 0:
    py_pjsua.perror("py_pjsua", "call make call", status)
bool = py_pjsua.call_is_active(id)
print "py call is active " + ` bool `
bool = py_pjsua.call_has_media(id)
print "py call has media " + ` bool `
cp_id = py_pjsua.call_get_conf_port(id)
print "py call get conf port " + ` cp_id `
info = py_pjsua.call_get_info(id)
if info != None:
    print "py info id " + ` info.id `
status = py_pjsua.call_set_user_data(id, 0)
print "py call set user data status " + ` status `
if status != 0:
    py_pjsua.perror("py_pjsua", "set user data", status)
user_data = py_pjsua.call_get_user_data(id)
print "py call get user data " + ` user_data `

#end of lib call
示例#2
0
def app_menu():
	global g_acc_id
	global g_current_call

	quit = 0
	while quit == 0:
		print_menu()
		choice = sys.stdin.readline()

		if choice[0] == "q":
			quit = 1

		elif choice[0] == "i":
			# Sending IM	
			print "Send IM to SIP URL: ",
			url = sys.stdin.readline()
			if url == "\n":
				continue

			# Send typing indication
			py_pjsua.im_typing(g_acc_id, url, 1, None) 

			print "The content: ",
			message = sys.stdin.readline()
			if message == "\n":
				py_pjsua.im_typing(g_acc_id, url, 0, None) 		
				continue

			# Send the IM!
			py_pjsua.im_send(g_acc_id, url, None, message, None, 0)

		elif choice[0] == "m":
			# Make call 
			print "Using account ", g_acc_id
			print "Make call to SIP URL: ",
			url = sys.stdin.readline()
			url = url.replace("\n", "")
			if url == "":
				continue

			# Initiate the call!
			status, call_id = py_pjsua.call_make_call(g_acc_id, url, 0, 0, None)
            
			if status != 0:
				py_pjsua.perror(THIS_FILE, "Error making call", status)
			else:
				g_current_call = call_id

		elif choice[0] == "+" and choice[1] == "b":
			# Add new buddy
			bc = py_pjsua.Buddy_Config()
			print "Buddy URL: ",
			bc.uri = sys.stdin.readline()
			if bc.uri == "\n":
				continue
            
			bc.uri = bc.uri.replace("\n", "")
			bc.subscribe = 1
			status, buddy_id = py_pjsua.buddy_add(bc)
			if status != 0:
				py_pjsua.perror(THIS_FILE, "Error adding buddy", status)
		elif choice[0] == "-" and choice[1] == "b":
			print "Enter buddy ID to delete : "
			buf = sys.stdin.readline()
			buf = buf.replace("\n","")
			if buf == "":
				continue
			i = int(buf)
			if py_pjsua.buddy_is_valid(i) == 0:
				print "Invalid buddy id " + `i`
			else:
				py_pjsua.buddy_del(i)
				print "Buddy " + `i` + " deleted"		
		elif choice[0] == "+" and choice[1] == "a":
			# Add account
			add_account()
		elif choice[0] == "-" and choice[1] == "a":
			print "Enter account ID to delete : "
			buf = sys.stdin.readline()
			buf = buf.replace("\n","")
			if buf == "":
				continue
			i = int(buf)

			if py_pjsua.acc_is_valid(i) == 0:
				print "Invalid account id " + `i`
			else:
				py_pjsua.acc_del(i)
				print "Account " + `i` + " deleted"
	    
		elif choice[0] == "+" and choice[1] == "p":
			add_player()
		elif choice[0] == "+" and choice[1] == "r":
			add_recorder()
		elif choice[0] == "c" and choice[1] == "l":
			conf_list()
		elif choice[0] == "c" and choice[1] == "c":
			connect_port()
		elif choice[0] == "c" and choice[1] == "d":
			disconnect_port()
		elif choice[0] == "d" and choice[1] == "q":
			dump_call_quality()
		elif choice[0] == "x":
			xfer_call()
		elif choice[0] == "X":
			xfer_call_replaces()
		elif choice[0] == "h":
			if g_current_call != py_pjsua.PJSUA_INVALID_ID:
				py_pjsua.call_hangup(g_current_call, 603, None, None)
			else:
				print "No current call"
		elif choice[0] == "H":
			if g_current_call != py_pjsua.PJSUA_INVALID_ID:
				py_pjsua.call_set_hold(g_current_call, None)
		
			else:
				print "No current call"
		elif choice[0] == "v":
			if g_current_call != py_pjsua.PJSUA_INVALID_ID:
		
				py_pjsua.call_reinvite(g_current_call, 1, None);

			else:
				print "No current call"
		elif choice[0] == "#":
			if g_current_call == py_pjsua.PJSUA_INVALID_ID:		
				print "No current call"
			elif py_pjsua.call_has_media(g_current_call) == 0:
				print "Media is not established yet!"
			else:
				call = g_current_call
				print "DTMF strings to send (0-9*#A-B)"
				buf = sys.stdin.readline()
				buf = buf.replace("\n", "")
				if buf == "":
					continue
				if call != g_current_call:
					print "Call has been disconnected"
					continue
				status = py_pjsua.call_dial_dtmf(g_current_call, buf)
				if status != 0:
					py_pjsua.perror(THIS_FILE, "Unable to send DTMF", status);
				else:
					print "DTMF digits enqueued for transmission"
		elif choice[0] == "s":
			print "Subscribe presence of (buddy id) : "
			buf = sys.stdin.readline()
			buf = buf.replace("\n","")
			if buf == "":
				continue
			i = int(buf)
			py_pjsua.buddy_subscribe_pres(i, 1)
		elif choice[0] == "u":
			print "Unsubscribe presence of (buddy id) : "
			buf = sys.stdin.readline()
			buf = buf.replace("\n","")
			if buf == "":
				continue
			i = int(buf)
			py_pjsua.buddy_subscribe_pres(i, 0)
		elif choice[0] == "t":
			acc_info = py_pjsua.acc_get_info(g_acc_id)
			if acc_info.online_status == 0:
				acc_info.online_status = 1
			else:
				acc_info.online_status = 0
			py_pjsua.acc_set_online_status(g_acc_id, acc_info.online_status)
			st = ""
			if acc_info.online_status == 0:
				st = "offline"
			else:
				st = "online"
			print "Setting " + acc_info.acc_uri + " online status to " + st
		elif choice[0] == "r":
			if choice[1] == "r":	    
				py_pjsua.acc_set_registration(g_acc_id, 1)
			elif choice[1] == "u":
				py_pjsua.acc_set_registration(g_acc_id, 0)
		elif choice[0] == "d":
			py_pjsua.dump(choice[1] == "d")
		elif choice[0] == "a":
			if g_current_call != py_pjsua.PJSUA_INVALID_ID:				
				
				py_pjsua.call_answer(g_current_call, 200, None, None)
			else:
				print "No current call"
示例#3
0
count = py_pjsua.call_get_max_count()
print "py call get max count " + `count`
count = py_pjsua.call_get_count()
print "py call get count " + `count`
ids = py_pjsua.enum_calls()
for id in ids:
	print "py enum calls id " + `id`
msg_data = py_pjsua.Msg_Data()
status, id = py_pjsua.call_make_call(-1, "sip:[email protected]", 0, 0, msg_data)
print "py call make call " + `status` + " id " + `id`
if status != 0 :
	py_pjsua.perror("py_pjsua","call make call",status)
bool = py_pjsua.call_is_active(id)
print "py call is active " + `bool`
bool = py_pjsua.call_has_media(id)
print "py call has media " + `bool`
cp_id = py_pjsua.call_get_conf_port(id)
print "py call get conf port " + `cp_id`
info = py_pjsua.call_get_info(id)
if info != None :
	print "py info id " + `info.id`
status = py_pjsua.call_set_user_data(id, 0)
print "py call set user data status " + `status`
if status != 0 :
	py_pjsua.perror("py_pjsua","set user data",status)
user_data = py_pjsua.call_get_user_data(id)
print "py call get user data " + `user_data`