diff --git a/coreapi/callbacks.c b/coreapi/callbacks.c index 3a21e5a6d..142b4b163 100644 --- a/coreapi/callbacks.c +++ b/coreapi/callbacks.c @@ -628,6 +628,11 @@ static void call_failure(SalOp *op, SalError error, SalReason sr, const char *de /*resume to the call that send us the refer automatically*/ linphone_core_resume_call(lc,call->referer); } + +#ifdef BUILD_UPNP + linphone_call_delete_upnp_session(call); +#endif //BUILD_UPNP + if (sr == SalReasonDeclined) { call->reason=LinphoneReasonDeclined; linphone_call_set_state(call,LinphoneCallEnd,"Call declined."); diff --git a/coreapi/upnp.c b/coreapi/upnp.c index 909fca3b3..ff4a1eae2 100644 --- a/coreapi/upnp.c +++ b/coreapi/upnp.c @@ -529,6 +529,7 @@ bool_t linphone_core_upnp_hook(void *data) { if(port_bindings != NULL) { for(port_bindings_item = port_bindings;port_bindings_item!=NULL;port_bindings_item=port_bindings_item->next) { port_mapping = (UpnpPortBinding *)port_bindings_item->data; + //TODO: Don't send id it's udp/tcp/tls port binding upnp_context_send_remove_port_binding(lc, port_mapping); } ms_list_for_each(port_bindings,(void (*)(void*))upnp_port_binding_release); diff --git a/mediastreamer2 b/mediastreamer2 index 34de96d6b..f9e4fed0b 160000 --- a/mediastreamer2 +++ b/mediastreamer2 @@ -1 +1 @@ -Subproject commit 34de96d6b33f58b248f7d46e9c25edb11e6a5426 +Subproject commit f9e4fed0b113f04895ae24a4e40f618e156b3754