diff --git a/libs/sofia-sip/.update b/libs/sofia-sip/.update index 74a8383624..0c2ac87a19 100644 --- a/libs/sofia-sip/.update +++ b/libs/sofia-sip/.update @@ -1 +1 @@ -Tue Dec 16 15:19:47 CST 2008 +Tue Dec 16 15:20:42 CST 2008 diff --git a/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c b/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c index 63c65eced8..4a3c3888b0 100644 --- a/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c +++ b/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c @@ -1315,8 +1315,9 @@ int nua_invite_client_ack(nua_client_request_t *cr, tagi_t const *tags) ; else if (nh->nh_soa && soa_is_complete(nh->nh_soa)) { /* signal SOA that O/A round(s) is (are) complete */ - if (soa_activate(nh->nh_soa, NULL) >= 0) + if (soa_activate(nh->nh_soa, NULL) >= 0) { ss->ss_sdp_version = soa_get_user_version(nh->nh_soa); + } } else if (nh->nh_soa == NULL /* NUA does not necessarily know dirty details */ @@ -1748,8 +1749,9 @@ static int nua_prack_client_request(nua_client_request_t *cr, } else { answer_sent = 1; - if (soa_activate(nh->nh_soa, NULL) >= 0) + if (soa_activate(nh->nh_soa, NULL) >= 0) { ss->ss_sdp_version = soa_get_user_version(nh->nh_soa); + } } } else if (nh->nh_soa == NULL) { @@ -2326,8 +2328,9 @@ int nua_invite_server_respond(nua_server_request_t *sr, tagi_t const *tags) else if (answer) sr->sr_answer_sent = 1 + reliable, ss->ss_oa_sent = Answer; - if (answer && reliable) + if (answer && reliable && nh->nh_soa) { ss->ss_sdp_version = soa_get_user_version(nh->nh_soa); + } } if (reliable && sr->sr_status < 200) {