Multithreading OPAL(开放电话抽象库)传输在重新连接线程时未终止?
我目前正在编写一个应用程序,使用OPAL进行H323调用。我在网上查找了许多工作示例,并成功地将一些类似于它应该是什么样子的东西放在一起。目前,我可以通过我的应用程序调用外部ip,但当我接受调用时,它就失效了 留给我的是:Multithreading OPAL(开放电话抽象库)传输在重新连接线程时未终止?,multithreading,sip,voip,h.323,opalvoip,Multithreading,Sip,Voip,H.323,Opalvoip,我目前正在编写一个应用程序,使用OPAL进行H323调用。我在网上查找了许多工作示例,并成功地将一些类似于它应该是什么样子的东西放在一起。目前,我可以通过我的应用程序调用外部ip,但当我接受调用时,它就失效了 留给我的是: 0:12.949 SetUpCall:8752 as sert.cxx(259) Assertion fail: Transport not terminated when reattaching thread , file d:\
0:12.949 SetUpCall:8752 as
sert.cxx(259) Assertion fail: Transport not terminated when reattaching thread
, file d:\voip\software\opal\src\opal\transports.cxx, line 1021
PAssertFunc(0xde3f88, 0xffffffffd228226f, 0, 0) + 0x82
PAssertFunc(0x10d6e5f8, 0x3fd, 0, 0x10d6eb98) + 0x15b
OpalTransport::AttachThread(0xde5870, 0xffffffffd22fc76b, 0, 0) + 0x96
H323Connection::SetUpConnection(0xffffffffd22fc713, 0, 0, 0xde6ea8) + 0x196
AsynchCallSetUp(0x10d3572c, 0, 0, 0xdd0108) + 0x7c
PThread1Arg<PSafePtr<OpalConnection,PSafePtrBase> >::Main(0xffffffffd2282faf
我的呼叫与您在拨打电话时预期的一样,例如SetUpCallsrcEP、ip、callToken
我知道我一定是在某个我看不见的地方被绊倒了,如果有任何帮助,我将不胜感激
bool OpalManagerLite::Init()
{
h323EP = new MyH323EndPoint(*this);
SetAudioJitterDelay(20, 1000);
DisableDetectInBandDTMF(true);
if(!InitEndpoint(h323EP))
{
return false;
}
if (h323EP != NULL) {
AddRouteEntry("pc:.* = h323:<da>");
AddRouteEntry("h323:.* = pc:<da>");
AddRouteEntry("pots:.*\\*.*\\*.* = h323:<dn2ip>");
AddRouteEntry("h323:.*\\*.*\\*.* = pots:<dn2ip>");
AddRouteEntry("h323:.* = pots:<da>");
AddRouteEntry("pots:.* = h323:<da>");
}
PString defaultSrcEP = "pc:*";
srcEP = defaultSrcEP;
return true;
}
bool OpalManagerLite::InitEndpoint(MyH323EndPoint * h323EP)
{
h323EP->DisableFastStart(true);
h323EP->DisableH245Tunneling(true);
h323EP->ForceSymmetricTCS(true);
h323EP->SetLocalUserName("Ronnie");
h323EP->SetDefaultLocalPartyName("Ronnie");
PStringArray listeners; // Default listeners opened
OpalListenerTCP *toListen = new OpalListenerTCP(*h323EP,
PIPSocket::GetDefaultIpAny(), NULL, NULL);
if (!h323EP->StartListeners(listeners))
{
return false;
}
return true;
}