diff --git a/plugins/sip/calls-sip-origin.c b/plugins/sip/calls-sip-origin.c index e628b59..0ebd558 100644 --- a/plugins/sip/calls-sip-origin.c +++ b/plugins/sip/calls-sip-origin.c @@ -521,10 +521,17 @@ sip_i_state (int status, g_autoptr (GList) codecs = calls_sip_media_manager_get_codecs_from_sdp (origin->media_manager, r_sdp->sdp_media); - + const char *remote_ip = NULL; + if (r_sdp->sdp_connection && r_sdp->sdp_connection->c_address) { + remote_ip = r_sdp->sdp_connection->c_address; + } else { + g_warning ("Could not determine IP of remote peer. Hanging up"); + calls_call_hang_up (CALLS_CALL (call)); + return; + } calls_sip_call_set_codecs (call, codecs); calls_sip_call_setup_remote_media_connection (call, - r_sdp->sdp_connection->c_address, + remote_ip, r_sdp->sdp_media->m_port, r_sdp->sdp_media->m_port + 1); }