Index: /pjproject/trunk/pjsip/src/pjsip-ua/sip_inv.c
===================================================================
--- /pjproject/trunk/pjsip/src/pjsip-ua/sip_inv.c (revision 3207)
+++ /pjproject/trunk/pjsip/src/pjsip-ua/sip_inv.c (revision 3208)
@@ -459,4 +459,14 @@
if (inv->state < PJSIP_INV_STATE_DISCONNECTED) {
inv_check_sdp_in_incoming_msg(inv, inv->invite_tsx, rdata);
+
+ /* Check if local offer got no SDP answer and INVITE session
+ * is in CONFIRMED state.
+ */
+ if (pjmedia_sdp_neg_get_state(inv->neg)==
+ PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER &&
+ inv->state==PJSIP_INV_STATE_CONFIRMED)
+ {
+ pjmedia_sdp_neg_cancel_offer(inv->neg);
+ }
}
@@ -3976,4 +3986,11 @@
inv_check_sdp_in_incoming_msg(inv, tsx,
e->body.tsx_state.src.rdata);
+
+ /* Check if local offer got no SDP answer */
+ if (pjmedia_sdp_neg_get_state(inv->neg)==
+ PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER)
+ {
+ pjmedia_sdp_neg_cancel_offer(inv->neg);
+ }
}
@@ -4013,4 +4030,11 @@
inv_check_sdp_in_incoming_msg(inv, tsx,
e->body.tsx_state.src.rdata);
+
+ /* Check if local offer got no SDP answer */
+ if (pjmedia_sdp_neg_get_state(inv->neg)==
+ PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER)
+ {
+ pjmedia_sdp_neg_cancel_offer(inv->neg);
+ }
/* Send ACK */
Index: /pjproject/trunk/tests/pjsua/scripts-sipp/uac-inv-and-ack-without-sdp.xml
===================================================================
--- /pjproject/trunk/tests/pjsua/scripts-sipp/uac-inv-and-ack-without-sdp.xml (revision 3208)
+++ /pjproject/trunk/tests/pjsua/scripts-sipp/uac-inv-and-ack-without-sdp.xml (revision 3208)
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ;tag=[call_number]
+ To: sut
+ Call-ID: [call_id]
+ CSeq: 1 INVITE
+ Contact: sip:sipp@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ ;tag=[call_number]
+ To: sut [peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 1 ACK
+ Contact: sip:sipp@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /pjproject/trunk/tests/pjsua/scripts-sipp/uas-answer-200-inv-without-sdp.xml
===================================================================
--- /pjproject/trunk/tests/pjsua/scripts-sipp/uas-answer-200-inv-without-sdp.xml (revision 3208)
+++ /pjproject/trunk/tests/pjsua/scripts-sipp/uas-answer-200-inv-without-sdp.xml (revision 3208)
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /pjproject/trunk/tests/pjsua/scripts-sipp/uas-answer-200-reinvite-without-sdp.xml
===================================================================
--- /pjproject/trunk/tests/pjsua/scripts-sipp/uas-answer-200-reinvite-without-sdp.xml (revision 3208)
+++ /pjproject/trunk/tests/pjsua/scripts-sipp/uas-answer-200-reinvite-without-sdp.xml (revision 3208)
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /pjproject/trunk/tests/pjsua/scripts-sipp/uas-answer-200-update-without-sdp.xml
===================================================================
--- /pjproject/trunk/tests/pjsua/scripts-sipp/uas-answer-200-update-without-sdp.xml (revision 3208)
+++ /pjproject/trunk/tests/pjsua/scripts-sipp/uas-answer-200-update-without-sdp.xml (revision 3208)
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /pjproject/trunk/tests/pjsua/scripts-sipp/uas-reinv-and-ack(same-branch)-without-sdp.xml
===================================================================
--- /pjproject/trunk/tests/pjsua/scripts-sipp/uas-reinv-and-ack(same-branch)-without-sdp.xml (revision 3208)
+++ /pjproject/trunk/tests/pjsua/scripts-sipp/uas-reinv-and-ack(same-branch)-without-sdp.xml (revision 3208)
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ;tag=[call_number]
+ To[$3]
+ Call-ID: [call_id]
+ Cseq: 1 INVITE
+ Contact: sip:sipp@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ ;tag=[call_number]
+ To[$3]
+ Call-ID: [call_id]
+ Cseq: 1 ACK
+ Contact: sip:sipp@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /pjproject/trunk/tests/pjsua/scripts-sipp/uas-reinv-and-ack-without-sdp.xml
===================================================================
--- /pjproject/trunk/tests/pjsua/scripts-sipp/uas-reinv-and-ack-without-sdp.xml (revision 3208)
+++ /pjproject/trunk/tests/pjsua/scripts-sipp/uas-reinv-and-ack-without-sdp.xml (revision 3208)
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ;tag=[call_number]
+ To[$3]
+ Call-ID: [call_id]
+ Cseq: 1 INVITE
+ Contact: sip:sipp@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ ;tag=[call_number]
+ To[$3]
+ Call-ID: [call_id]
+ Cseq: 1 ACK
+ Contact: sip:sipp@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+