Hi all, Some of the later changes must have broken the 1.x branch, as it'll crash on making a call --- pjsua_media.h --- pj_status_t pjsua_media_channel_update(pjsua_call_id call_id, const pjmedia_sdp_session *local_sdp, const pjmedia_sdp_session *remote_sdp) { unsigned i; int prev_media_st; pjsua_call *call = &pjsua_var.calls[call_id]; pjmedia_session_info sess_info; pjmedia_stream_info *si = NULL; pj_status_t status; pj_bool_t media_changed = PJ_FALSE; int audio_idx; if (!pjsua_var.med_endpt) { /* We're being shutdown */ return PJ_EBUSY; } /* Create media session info based on SDP parameters. */ status = pjmedia_session_info_from_sdp( call->inv->pool_prov, pjsua_var.med_endpt, PJMEDIA_MAX_SDP_MEDIA, &sess_info, local_sdp, remote_sdp); if (status != PJ_SUCCESS) return status; /* Override ptime, if this option is specified. */ if (pjsua_var.media_cfg.ptime != 0) { si->param->setting.frm_per_pkt = (pj_uint8_t) (pjsua_var.media_cfg.ptime / si->param->info.frm_ptime); if (si->param->setting.frm_per_pkt == 0) si->param->setting.frm_per_pkt = 1; } /* Disable VAD, if this option is specified. */ if (pjsua_var.media_cfg.no_vad) { si->param->setting.vad = 0; } ----- As you can see, 'si' is initialized with NULL, and then the fields of the structure are modified, which, of course, rises the exception. For now I fixed it by moving the code which modifies the 'si' structure after the /* Find which session is audio */ PJ_ASSERT_RETURN(call->audio_idx != -1, PJ_EBUG); PJ_ASSERT_RETURN(call->audio_idx < (int)sess_info.stream_cnt, PJ_EBUG); si = &sess_info.stream_info[call->audio_idx]; ... which is actually where 'si' is properly initialized. Greets ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.