Pjsua 2 android创建帐户具有相同的SIP号码但不同的IP地址

时间:2017-11-09 14:03:21

标签: android sip pjsip

我尝试创建多个sip帐户,当其中一个服务器可用时,这些帐户应该与不同的服务器一起使用,但只能同时使用一个服务器。我可以轻松地创建具有不同IP和SIP号码的帐户,并且工作正常。但是,在这种情况下,我创建了一个具有不同服务器IP的帐号,但SAME SIP帐户pjsip崩溃时出现此错误:

A/DEBUG(200): Abort message: '../src/pj/os_core_unix.c:692: pj_thread_this: assertion "!"Calling pjlib from unknown/external thread. You must " "register external threads with pj_thread_register() " "before calling any pjlib functions."" failed' 

我是pjsip和SIP的新手,问题是它有可能吗?

1 个答案:

答案 0 :(得分:1)

这种崩溃可能是因为您从unregisterer线程调用PJSUA2,或者因为没有手动销毁对象而GC从其线程中清除它,而该线程也未注册。

检查您的主题是否已注册:

libIsThreadRegistered()

注册线程:

libRegisterThread(const string &name)

请参阅pjsua2 reference

确保根据文档手动销毁对象:

... application ‘’‘MUST immediately destroy PJSUA2 objects using object’s delete() 
method (in Java)’‘’, instead of relying on the GC to clean up the object

所以你必须手动删除PjSip对象,例如:

account.delete();

See also