From 8f496dfb6c1bde6a98ae37526cdc798cdc15201e Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Fri, 22 Jun 2012 08:53:11 +0000 Subject: Fix #1526: - Fix incoming call without SDP by delaying media init in on_incoming_call() until call setting is set i.e: via call answer. Note that there is no need to delay the media init in the case of call replace request, the call setting is already set in the incoming call callback, i.e: via on_call_replace_request2() callback or just the current setting of the replaced call. - Fix processing call replace request when the media init is performed asynchronously. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4175 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/include/pjsua-lib/pjsua_internal.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'pjsip/include/pjsua-lib/pjsua_internal.h') diff --git a/pjsip/include/pjsua-lib/pjsua_internal.h b/pjsip/include/pjsua-lib/pjsua_internal.h index 326f916d..80ebec01 100644 --- a/pjsip/include/pjsua-lib/pjsua_internal.h +++ b/pjsip/include/pjsua-lib/pjsua_internal.h @@ -108,6 +108,7 @@ typedef struct call_answer pjsua_msg_data *msg_data; /**< Answer's headers list. */ pj_str_t *reason; /**< Answer's reason phrase. */ unsigned code; /**< Answer's status code. */ + pjsua_call_setting *opt; /**< Answer's call setting. */ } call_answer; @@ -120,6 +121,8 @@ struct pjsua_call { unsigned index; /**< Index in pjsua array. */ pjsua_call_setting opt; /**< Call setting. */ + pj_bool_t opt_inited;/**< Initial call setting has been set, + to avoid different opt in answer. */ pjsip_inv_session *inv; /**< The invite session. */ void *user_data; /**< User/application data. */ pjsip_status_code last_code; /**< Last status code seen. */ @@ -170,6 +173,7 @@ struct pjsua_call } out_call; struct { call_answer answers;/**< A list of call answers. */ + pjsip_dialog *replaced_dlg; /**< Replaced dialog. */ } inc_call; } call_var; } async_call; /**< Temporary storage for async -- cgit v1.2.3