mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-02-07 14:18:25 +00:00
fix NULL reason header & missed call when timeout
This commit is contained in:
parent
4dd2b64c0b
commit
853f442694
2 changed files with 6 additions and 5 deletions
|
|
@ -92,7 +92,8 @@ void CallSessionPrivate::setState (CallSession::State newState, const string &me
|
|||
case CallSession::State::Error:
|
||||
switch (linphone_error_info_get_reason(q->getErrorInfo())) {
|
||||
case LinphoneReasonDeclined:
|
||||
log->status = LinphoneCallDeclined;
|
||||
if(log->status == LinphoneCallSuccess) // Do not re-change the status of a call if it's already set
|
||||
log->status = LinphoneCallDeclined;
|
||||
break;
|
||||
case LinphoneReasonNotAnswered:
|
||||
if (log->dir == LinphoneCallIncoming)
|
||||
|
|
@ -470,7 +471,7 @@ void CallSessionPrivate::updatedByRemote () {
|
|||
if (deferUpdate || deferUpdateInternal) {
|
||||
if (state == CallSession::State::UpdatedByRemote && !deferUpdateInternal){
|
||||
lInfo() << "CallSession [" << q << "]: UpdatedByRemoted was signaled but defered. LinphoneCore expects the application to call linphone_call_accept_update() later";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (state == CallSession::State::UpdatedByRemote)
|
||||
q->acceptUpdate(nullptr);
|
||||
|
|
|
|||
|
|
@ -1037,7 +1037,7 @@ int SalCallOp::decline(SalReason reason, const char *redirection /*optional*/){
|
|||
}
|
||||
|
||||
belle_sip_header_reason_t *SalCallOp::make_reason_header( const SalErrorInfo *info){
|
||||
if (info != NULL){
|
||||
if (info && info->reason != SalReasonNone) {
|
||||
belle_sip_header_reason_t* reason = BELLE_SIP_HEADER_REASON(belle_sip_header_reason_new());
|
||||
belle_sip_header_reason_set_text(reason, info->status_string);
|
||||
belle_sip_header_reason_set_protocol(reason,info->protocol);
|
||||
|
|
@ -1123,12 +1123,12 @@ int SalCallOp::update(const char *subject, bool_t no_user_consent) {
|
|||
int SalCallOp::cancel_invite_with_info(const SalErrorInfo *info) {
|
||||
belle_sip_request_t* cancel;
|
||||
ms_message("Cancelling INVITE request from [%s] to [%s] ",get_from(), get_to());
|
||||
|
||||
|
||||
if (this->pending_client_trans == NULL){
|
||||
ms_warning("There is no transaction to cancel.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
cancel = belle_sip_client_transaction_create_cancel(this->pending_client_trans);
|
||||
if (cancel){
|
||||
if (info != NULL){
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue