Hi. Manjeet, thanks for your reply. Unfortunately I still have problems with that. Maybe I?ll write what I have and what I want to have: My driver ( DLL) is based on external library. In one method of its class, let say: Line::MakeCall() I want to call pjsip function to handle SIP communication. This function is simply PJSUA example with little changes from: http://www.pjsip.org/pjsip/docs/html/page_pjsip_sample_simple_pjsuaua_c.htm Currently I have this PJSUA example as method of my another class, let say SipComm::initial(). As I see this code has some threads because without my changes I was receiving: "Calling pjlib from unknown/external thread. You must register external threads with pj_thread_register() before calling any pjlib functions." Thus I wanted to register and create thread ( e.g. pj_thread_create with SipComm::initial() as parameter) and different combinations with calling it in SipComm::initial() or in Line::MakeCall() before invoking SipComm::initial() but I receive only "Calling pjlib from unknown/external thread.." or hang out of driver. I know that this description may be not satisfactory and so I would have bigger thanks for any advices, because currently I?m out of ideas. Best Regards Michael manjeet pisze: > Hi Michael, > > You have to call "pj_thread_register()" from the thread which is trying to use PJlib. > > Something like below should work for you :- > > pj_thread_desc rtpdesc; > pj_thread_t *thread = 0; > > // Register the thread with PJLIB, this is must for any external threads > // which need to use the PJLIB framework > if (!pj_thread_is_registered()) > { > status = pj_thread_register("Threadname", rtpdesc, &thread ); > if (status != PJ_SUCCESS) > { > app_perror("Threadname Failed to register with PJLIB,exit", status); > exit(1); > } > } > > if (pj_thread_is_registered()) > { > REPORTERROR("Threadname is succesfully registered with PJMedia"); > } > > > Regards, > Manjeet > > > --- On Thu, 4/2/09, Michael <s-michael at o2.pl> wrote: > > From: Michael <s-michael@xxxxx> > Subject: Threads question > To: pjsip at lists.pjsip.org > Date: Thursday, April 2, 2009, 1:31 AM > > Hi All, > > I?m trying to use threads in my SIP driver under windows but without > experience with threads I?m only receiving: "Calling pjlib from > unknown/external thread. You must register external > threads with > pj_thread_register() before calling any pjlib functions." or it crashes as > soon as it reaches pj_pool_create and I can?t do anything. > > I?m trying use simple PJSUA in my method responsible for starting SIP > communication and from what I?ve read I have to register pjsip thread. I would > be very thankful for any advice when and where can I (have to) register a > thread, call pj_pool_create, pj_thread_create etc, or do I have to consider > other issues? . Maybe someone have sample code with threads, besides those from > pjsip site?. > > > Thanks in advance > Michael > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org