ms_message("TunnelManager: UDP mirror test succeed on %s:%d",mCurrentUdpMirrorClient->getServerAddress().mAddr.c_str(),mCurrentUdpMirrorClient->getServerAddress().mPort);
if(mTunnelClient){
if(mTunnelizeSipPackets)doUnregistration();
sal_set_tunnel(mCore->sal,NULL);
deletemTunnelClient;
mTunnelClient=NULL;
if(mTunnelizeSipPackets)doRegistration();
if(mSimulateUdpLoss||!ev.mData.mHaveUdp){
if(mSimulateUdpLoss){
ms_message("TunnelManager: simulate UDP lost on %s:%d",mCurrentUdpMirrorClient->getServerAddress().mAddr.c_str(),mCurrentUdpMirrorClient->getServerAddress().mPort);
}else{
ms_message("TunnelManager: UDP mirror test failed on %s:%d",mCurrentUdpMirrorClient->getServerAddress().mAddr.c_str(),mCurrentUdpMirrorClient->getServerAddress().mPort);
}
mState=disabled;
}else{
ms_message("TunnelManager: UDP mirror test failed on %s:%d",mCurrentUdpMirrorClient->getServerAddress().mAddr.c_str(),mCurrentUdpMirrorClient->getServerAddress().mPort);
ms_message("TunnelManager: trying another UDP mirror on %s:%d",mCurrentUdpMirrorClient->getServerAddress().mAddr.c_str(),mCurrentUdpMirrorClient->getServerAddress().mPort);
ms_message("TunnelManager: UDP mirror test succeed on %s:%d",mCurrentUdpMirrorClient->getServerAddress().mAddr.c_str(),mCurrentUdpMirrorClient->getServerAddress().mPort);
BC_ASSERT_TRUE(wait_for_until(pauline->lc,marie->lc,&pauline->stat.number_of_LinphonePresenceActivityBusy,4,5000));/*re- schedule marie to clean up things*/
BC_ASSERT_TRUE(wait_for_until(pauline->lc,marie->lc,&pauline->stat.number_of_LinphonePresenceActivityBusy,3,5000));/*re- schedule marie to clean up things*/
/*simulate a rapid presence change to make sure only first and last are transmited*/