}
bool TunnelManager::isReady() const {
- return mTunnelClient && mTunnelClient->isReady();
+ return mTunnelClient && mTunnelClient->isReady() && mReady;
}
int TunnelManager::customSendto(struct _RtpTransport *t, mblk_t *msg , int flags, const struct sockaddr *to, socklen_t tolen){
,mEnabled(false)
,mTunnelClient(NULL)
,mAutoDetectStarted(false)
+,mReady(false)
,mHttpProxyPort(0){
mExosipTransport.data=this;
if (lProxy) {
linphone_proxy_config_done(lProxy);
}
+ mReady=true;
}else if (mEnabled && !mTunnelClient->isReady()){
/* we got disconnected from the tunnel */
if (lProxy && linphone_proxy_config_is_registered(lProxy)) {
linphone_proxy_config_edit(lProxy);
linphone_core_iterate(mCore);
}
+ mReady=false;
}
}
mEnabled=false;
stopClient();
-
+ mReady=false;
linphone_core_set_rtp_transport_factories(mCore,NULL);
eXosip_transport_hook_register(NULL);