Open GoogleCodeExporter opened 9 years ago
Original comment by boss...@yahoo.fr
on 14 Oct 2010 at 2:27
From section 11 of RFC 3312
The mapping of offers and answers to SIP requests and responses is
performed following the rules given in [5]. Therefore, a user agent
including preconditions in the SDP MUST support the PRACK and UPDATE
methods. Consequently, it MUST include the "100rel" [7] tag in the
Supported header field and SHOULD include an Allow header field with
the "UPDATE" tag [5].
I just noticed in tinySIP/src/dialogs/tsip_dialog_invite.client.c that
preconditions and 100 rel are being handled independently even though support
for preconditions
requires 100rel support. So here is another proposed patch
Index: src/dialogs/tsip_dialog_invite.client.c
===================================================================
--- src/dialogs/tsip_dialog_invite.client.c (revision previous)
+++ src/dialogs/tsip_dialog_invite.client.c (revision new)
@@ -157,20 +157,25 @@
self->supported.timer = tsk_true;
}
+ /* 100rel */
+ self->supported._100rel = TSIP_DIALOG_GET_SS(self)->media.enable_100rel;
+
/* QoS
* One Voice Profile - 5.4.1 SIP Precondition Considerations
* The UE shall use the Supported header, and not the Require header, to
indicate the support of precondition in
* accordance with Section 5.1.3.1 of 3GPP TS 24.229.
*/
+if (self->supported._100rel) {
self->qos.type = TSIP_DIALOG_GET_SS(self)->media.qos.type;
self->qos.strength = TSIP_DIALOG_GET_SS(self)->media.qos.strength;
tmedia_session_mgr_set_qos(self->msession_mgr, self->qos.type, self->qos
.strength);
self->supported.precondition = (self->qos.strength == tmedia_qos_strengt
h_optional);
self->require.precondition = (self->qos.strength == tmedia_qos_strength_
mandatory);
+} else {
+ self->qos.type = tmedia_qos_stype_none;
+ self->qos.strength = tmedia_qos_strength_none;
+}
- /* 100rel */
- self->supported._100rel = TSIP_DIALOG_GET_SS(self)->media.enable_100rel;
-
/* send the request */
ret = send_INVITE(self, tsk_false);
Original comment by saket...@gmail.com
on 14 Oct 2010 at 10:41
Original issue reported on code.google.com by
saket...@gmail.com
on 14 Oct 2010 at 12:55