So, now you put py_pjsua_app on your machine. You will see it fault out on url = sys.stdin.readline() line 589. Thats because in all likely hood the stdin.readline() does not work since winCE has no console mode. So, I attempted to redirect standard input , output to a TKinter entry widget and text widget. That actually worked for the main thread, but once I had the client successfully register with my asterisk server, it just hung. Dont really know why. So, I moved on to another solution. For me, all of my calls are originated from the asterisk server anyway, so I really did not need the input loop app_menu() line 574. So my app basically overrides a few things in py_pjsua_app to accommodate limitations on the CE python port (for example i have my own add_account, app_init, on_incoming_call that I point the original pjsua_app. My app_init does this, ua_cfg.cb.on_incoming_call = pjsua_app_client_on_incoming_call (this is my on_incoming). So basically I was able to keep all the functionality of the pjsua_app.py in tact, and just import it and redirect stuff. A true TKinter app could be produced if someone could figure out why the app freezes once the client has successfully registered. I actually needed to create my own windprocedure for the TKinter app i created anyway, so I did not bother to investigate why everything hung. I basically am using the TKinter so I can get into the message loop but really am not doing anything graphically. I am really very new to python and Tkinter so, I probably am not the best guy to spearhead anything along this line. I will be glad to help if I can. I can tell you two things, "Python Rocks!" and pjsip is "Awesome!"