[Freeswitch-svn] [commit] r12376 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua
FreeSWITCH SVN
mikej at freeswitch.org
Tue Mar 3 09:20:24 PST 2009
Author: mikej
Date: Tue Mar 3 11:20:24 2009
New Revision: 12376
Log:
Thu Feb 26 15:39:37 CST 2009 Pekka Pessi <first.last at nokia.com>
* nua/check_simple.c: removed extra debug logging, fixed 6.3.4 name
Modified:
freeswitch/trunk/libs/sofia-sip/.update
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_simple.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c
Modified: freeswitch/trunk/libs/sofia-sip/.update
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/.update (original)
+++ freeswitch/trunk/libs/sofia-sip/.update Tue Mar 3 11:20:24 2009
@@ -1 +1 @@
-Tue Mar 3 11:19:17 CST 2009
+Tue Mar 3 11:20:05 CST 2009
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_simple.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_simple.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_simple.c Tue Mar 3 11:20:24 2009
@@ -711,7 +711,7 @@
struct event *response;
sip_t *sip;
- s2_case("6.3.3", "NOTIFY server - terminate with error response to NOTIFY",
+ s2_case("6.3.4", "NOTIFY server - terminate with error response to NOTIFY",
"NUA receives SUBSCRIBE, sends 202 and NOTIFY. "
"The subscription terminates when watcher "
"returns 481 to second NOTIFY. The queued 3rd NOTIFY gets "
@@ -719,9 +719,6 @@
nh = subscribe_to_nua("presence", SIPTAG_EXPIRES_STR("300"), TAG_END());
- tport_set_params(s2->master, TPTAG_LOG(1), TAG_END());
- s2_setup_logs(7);
-
nua_notify(nh,
NUTAG_SUBSTATE(nua_substate_active),
SIPTAG_PAYLOAD_STR(presence_closed),
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c Tue Mar 3 11:20:24 2009
@@ -1767,11 +1767,23 @@
else if (nh->nh_soa == NULL) {
offer_sent = session_get_description(sip, NULL, NULL);
}
- /* When 100rel response status was 183 do support for preconditions */
- else if (ss->ss_precondition && cri->cr_status == 183 &&
- cri->cr_offer_sent && cri->cr_answer_recv) {
- if (soa_generate_offer(nh->nh_soa, 0, NULL) < 0 ||
- session_include_description(nh->nh_soa, 1, msg, sip) < 0) {
+ else {
+ /* When 100rel response status was 183 do support for preconditions */
+ int send_offer = ss->ss_precondition &&
+ cri->cr_status == 183 && cri->cr_offer_sent && cri->cr_answer_recv;
+
+ if (!send_offer) {
+ tagi_t const *t = tl_find_last(tags, nutag_include_extra_sdp);
+ send_offer = t && t->t_value;
+ }
+
+ if (!send_offer) {
+ }
+ else if (soa_generate_offer(nh->nh_soa, 0, NULL) >= 0 &&
+ session_include_description(nh->nh_soa, 1, msg, sip) >= 0) {
+ offer_sent = 1;
+ }
+ else {
status = soa_error_as_sip_response(nh->nh_soa, &phrase);
SU_DEBUG_3(("nua(%p): PRACK offer: %d %s\n", (void *)nh,
status, phrase));
@@ -1779,9 +1791,6 @@
nua_i_media_error, status, phrase, NULL);
return nua_client_return(cr, status, phrase, msg);
}
- else {
- offer_sent = 1;
- }
}
retval = nua_base_client_request(cr, msg, sip, NULL);
More information about the Freeswitch-svn
mailing list