Benny Prijono wrote: Is the problem still with stream not being closed? *Answer:* I think that problem's gone and I would preffer to address the other exceptions on the other thread, as they make the application to crash. However, I will answer your questions. So what do you exactly do in on_media_update()? *Answer:* I call pjmedia_session_info_from_sdp, pjmedia_session_create, [I now added pjmedia_conf_disconnect_port, pjmedia_conf_remove_port, pjmedia_snd_port_disconnect and pjmedia_snd_port_destroy, so that any existing streams are closed before creating new ones], pjmedia_session_get_port, pjmedia_conf_get_master_port, pjmedia_snd_port_create, pjmedia_snd_port_set_ec, pjmedia_snd_port_connect, pjmedia_conf_add_port, pjmedia_conf_connect_port, pjmedia_transport_attach and pjmedia_rtp_session_init. And is on_media_update() called? *Answer:* yes, it is called after the initial offer / answer. As the application is crashing while in the ICE connectivity checks, I don't know if this is called after subsequent offer / answer. And do you close the stream when the call is disconnected? A snippet will help. *Answer:* Yes, I do And lets discuss this on separate/the other thread please. Hope this helps Pedro Gon?alves