Gone ahead and wrote it tonight, long story. Here is the c implementation at http://mrgeckosmedia.net/PJTest.zip. I get the same result from it as I do in my full application. I am using revision 3310 as noted in the note file. This is set to compile for the mac, so if you are not on a mac, you'll have to compile using your own method. Thanks for any help, Mr. Gecko On Sep 21, 2010, at 11:55 PM, Benny Prijono wrote: > Am I right to say that you use local variable for your PJThreadDesc? > This variable needs to be valid for the duration of the thread, so you > can't use local variable for it. > > Other than that, I don't know. As I said, I'd prefer to see small > program to reproduce this, not a complete app which I can't even > compile. > > Best regards, > Benny > > On Wed, Sep 22, 2010 at 8:49 AM, Mr. Gecko <grmrgecko at gmail.com> wrote: >> I have the complete application's source code up at http://opensource.mrgeckosmedia.com/?a=tree&p=VoiceMac&h=06da2d96a78b2b5cd1a12a19387b9bfd7c8366ba&hb=7278b4e61267fad3419e10eed400a8da5edf2c43&f=Classes/VoiceBase/SIP if that will help. >> >> On Sep 21, 2010, at 8:45 PM, Benny Prijono wrote: >> >>> I don't know what the problem either, since I only see snippet of your >>> program. If you can, make a small (100 line-ish) but complete program >>> to demonstrate this and I'll see what the problem is. >>> >>> Best regards, >>> Benny >>> >>> >>> On Wed, Sep 22, 2010 at 12:45 AM, Mr. Gecko <grmrgecko at gmail.com> wrote: >>>> I tried that with no effect. I also get this problem randomly with other >>>> things so it may not only be a problem with stopping pjsua. I changed the >>>> code so I can bzero the threads that I register, so here is what my code >>>> looks like now. >>>> - (void)registerThread:(pj_thread_desc *)thePJThreadDesc { >>>> if (!pj_thread_is_registered()) { >>>> pj_thread_t *PJThread; >>>> pj_status_t status = pj_thread_register(NULL, *thePJThreadDesc, &PJThread); >>>> if (status!=PJ_SUCCESS) >>>> NSLog(@"Error registering thread for PJSUA with status %d", status); >>>> } >>>> } >>>> pj_thread_desc PJThreadDesc; >>>> [self registerThread:&PJThreadDesc]; >>>> >>>> if (ringbackPort!=NULL && ringbackSlot!=PJSUA_INVALID_ID) { >>>> pjsua_conf_remove_port(ringbackSlot); >>>> ringbackSlot = PJSUA_INVALID_ID; >>>> pjmedia_port_destroy(ringbackPort); >>>> ringbackPort = NULL; >>>> } >>>> >>>> if (PJPool!=NULL) { >>>> pj_pool_release(PJPool); >>>> PJPool = NULL; >>>> } >>>> pjsua_transport_close(UDPTransport, PJ_FALSE); >>>> pjsua_transport_close(TCPTransport, PJ_FALSE); >>>> >>>> status = pjsua_destroy(); >>>> if (status!=PJ_SUCCESS) >>>> NSLog(@"Error stopping SIP"); >>>> bzero(&PJThreadDesc, sizeof(pj_thread_desc)); >>>> I am on a mac using cocoa if you didn't know. This is the one problem I have >>>> no understanding of as I do not know the implementation of PJSIP. >>> >>> _______________________________________________ >>> 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 >> >> > > _______________________________________________ > 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