HI Benny, I have pjsip integrated successfully into Mozilla FF in a loosely-coupled approach. The immediate problem is that once I de-register and try to register again, my browser hangs/crashes. Obviously, it has to do with thread because here is the error that I get at the console: firefox-bin: ../src/pj/os_core_unix.c:276: pj_thread_register: Assertion `thread->signature1 != 0xDEAFBEEF || thread->signature2 != 0xDEADC0DE || (thread->thread == pthread_self())' failed. [New LWP 11919] I understand that I need to register a thread when using an external API/program. First, my browser crashes when I try registering a thread before using pjsua_create,pjsua_init or pjsua_start. Otherwise, it works fine when i perform the registration task(pjsua_init, pjsua_start) without registering a thread first (i.e. it is using the PJSUA self-generated thread). Whenever I want to perform task like send IM and de-register, I need to register a thread (though same thread parameters). I usually call pjsua_destroy (to free resourses and de-register). Should I do this, my browser will crash whenever I want to register again and produces the error above. I tried couple of things like unregistering current/all thread (s) before/after calling pjsua_destroy but won't work. Any useful info on this. Here is my implementation code with thread being registered when sending IM (line 297) and destroying(line 374): http://pastebin.mozilla.org/343980 Is any resource is in use or there are existing threads after destroying?? How can I fix this?? Sorry for my poorly indented code!!! Mike.