from registrar README:
3.24. outbound_mode (integer)
If set to 0 then this module will accept REGISTER requests that do not contain a Supported: header with the outbound options-tag. The 200 OK response to REGISTER requests that this module generates will not contain Require: or Supported: headers with the outbound options tag.
If set to 1 then this module will accept REGISTER requests that do not contain a Supported: header with the outbound options-tag. The 200 OK response to REGISTER requests that this module generates will contain a Supported: header with the outbound options tag.
If set to 2 then this module will reject REGISTER requests that do not contain a Supported: header with the outbound options-tag. The 200 OK response to REGISTER requests that this module generates will contain Require: and Supported: headers with the outbound options tag.
looks likes there is no mode that could be used by registrar that intends to support registrations from both outbound capable and non-outbound capable UAs.
i would like to change mode 1 as follows:
If set to 1 then this module will accept REGISTER requests that do not contain a Supported: header with the outbound options-tag. The 200 OK response to REGISTER requests that this module generates will contain a Require: or Supported: header with the outbound options tag depending on if REGISTER requests contain or do not contain, respectively, a Supported: header with the outbound options-tag.
without this modification UAs that support outbound don't get back a response that tells them that registrar supports outbound:
4.2.1. Initial Registrations ... If outbound registration succeeded, as indicated by the presence of the outbound option-tag in the Require header field of a successful registration response, the UA begins sending keep-alives as described in Section 4.4.
i would thus like to consider the current definition of mode 1 as a bug, since it does not achieve anything more than mode 0.
comments?
-- juha
i would like to change mode 1 as follows:
If set to 1 then this module will accept REGISTER requests that do not contain a Supported: header with the outbound options-tag. The 200 OK response to REGISTER requests that this module generates will contain a Require: or Supported: header with the outbound options tag depending on if REGISTER requests contain or do not contain, respectively, a Supported: header with the outbound options-tag.
the patch below implements this change. is it ok that i commit it (plus the above change to README)?
-- juha
*** /usr/src/orig/sip-router/modules/registrar/reply.c 2013-02-06 10:56:37.000000000 +0200 --- reply.c 2013-03-09 10:25:15.000000000 +0200 *************** *** 658,668 **** if (add_flow_timer(_m) < 0) return -1; } - /* Fall-thru */ - case REG_OUTBOUND_SUPPORTED: if (add_supported(_m, &outbound_str) < 0) ! return -1; break; } break; case R_OB_UNSUP: --- 658,675 ---- if (add_flow_timer(_m) < 0) return -1; } if (add_supported(_m, &outbound_str) < 0) ! return -1; break; + case REG_OUTBOUND_SUPPORTED: + if ((parse_supported(_m) == 0) && + (((struct supported_body *)_m->supported->parsed)->supported_all & F_SUPPORTED_OUTBOUND)) { + if (add_require(_m, &outbound_str) < 0) + return -1; + } + if (add_supported(_m, &outbound_str) < 0) + return -1; + break; } break; case R_OB_UNSUP:
Hi,
There are a few issues with the outbound support at the moment (found by Olle during SIPit).
I have been working through that list and adding fixes to the pd/outbound branch and I hope to have all of the known issues sorted by the end of next week.
I think this issue may already be fixed on that branch.
Regards,
Peter
On 9 Mar 2013, at 08:33, Juha Heinanen jh@tutpro.com wrote:
i would like to change mode 1 as follows:
If set to 1 then this module will accept REGISTER requests that do not contain a Supported: header with the outbound options-tag. The 200 OK response to REGISTER requests that this module generates will contain a Require: or Supported: header with the outbound options tag depending on if REGISTER requests contain or do not contain, respectively, a Supported: header with the outbound options-tag.
the patch below implements this change. is it ok that i commit it (plus the above change to README)?
-- juha
*** /usr/src/orig/sip-router/modules/registrar/reply.c 2013-02-06 10:56:37.000000000 +0200 --- reply.c 2013-03-09 10:25:15.000000000 +0200
*** 658,668 **** if (add_flow_timer(_m) < 0) return -1; }
/* Fall-thru */
case REG_OUTBOUND_SUPPORTED: if (add_supported(_m, &outbound_str) < 0)
! return -1; break; } break; case R_OB_UNSUP: --- 658,675 ---- if (add_flow_timer(_m) < 0) return -1; } if (add_supported(_m, &outbound_str) < 0) ! return -1; break;
case REG_OUTBOUND_SUPPORTED:
if ((parse_supported(_m) == 0) &&
(((struct supported_body *)_m->supported->parsed)->supported_all & F_SUPPORTED_OUTBOUND)) {
if (add_require(_m, &outbound_str) < 0)
return -1;
}
if (add_supported(_m, &outbound_str) < 0)
return -1;
case R_OB_UNSUP:break; } break;
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
Most of the known issues with outbound are listed in the completing_outbound page in the devel section of the Kamailio wiki.
There is also a bug relating to how the flow token is used during loose routing of in-dialog requests.
Regards,
Peter
On 9 Mar 2013, at 12:19, Peter Dunkley peter.dunkley@crocodile-rcs.com wrote:
Hi,
There are a few issues with the outbound support at the moment (found by Olle during SIPit).
I have been working through that list and adding fixes to the pd/outbound branch and I hope to have all of the known issues sorted by the end of next week.
I think this issue may already be fixed on that branch.
Regards,
Peter
On 9 Mar 2013, at 08:33, Juha Heinanen jh@tutpro.com wrote:
i would like to change mode 1 as follows:
If set to 1 then this module will accept REGISTER requests that do not contain a Supported: header with the outbound options-tag. The 200 OK response to REGISTER requests that this module generates will contain a Require: or Supported: header with the outbound options tag depending on if REGISTER requests contain or do not contain, respectively, a Supported: header with the outbound options-tag.
the patch below implements this change. is it ok that i commit it (plus the above change to README)?
-- juha
*** /usr/src/orig/sip-router/modules/registrar/reply.c 2013-02-06 10:56:37.000000000 +0200 --- reply.c 2013-03-09 10:25:15.000000000 +0200
*** 658,668 **** if (add_flow_timer(_m) < 0) return -1; }
/* Fall-thru */
case REG_OUTBOUND_SUPPORTED: if (add_supported(_m, &outbound_str) < 0)
! return -1; break; } break; case R_OB_UNSUP: --- 658,675 ---- if (add_flow_timer(_m) < 0) return -1; } if (add_supported(_m, &outbound_str) < 0) ! return -1; break;
case REG_OUTBOUND_SUPPORTED:
if ((parse_supported(_m) == 0) &&
(((struct supported_body *)_m->supported->parsed)->supported_all & F_SUPPORTED_OUTBOUND)) {
if (add_require(_m, &outbound_str) < 0)
return -1;
}
if (add_supported(_m, &outbound_str) < 0)
return -1;
case R_OB_UNSUP:break; } break;
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
Peter Dunkley writes:
I have been working through that list and adding fixes to the pd/outbound branch and I hope to have all of the known issues sorted by the end of next week.
I think this issue may already be fixed on that branch.
yes, i checked that there are changes in pd/outbound related to adding Require: outbound.
since we are in final phases of releasing 4.0, it would be nice if all changes that are bug fixes could be merged to 4.0 branch so that it would be easier to test them.
-- juha
The changes in pd/outbound are not complete or tested at all yet. That won't happen for a few days at least. They are not safe to merge back into master or the 4.0 branch yet.
Regards,
Peter
On 9 Mar 2013, at 19:03, Juha Heinanen jh@tutpro.com wrote:
Peter Dunkley writes:
I have been working through that list and adding fixes to the pd/outbound branch and I hope to have all of the known issues sorted by the end of next week.
I think this issue may already be fixed on that branch.
yes, i checked that there are changes in pd/outbound related to adding Require: outbound.
since we are in final phases of releasing 4.0, it would be nice if all changes that are bug fixes could be merged to 4.0 branch so that it would be easier to test them.
-- juha
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
Peter Dunkley writes:
The changes in pd/outbound are not complete or tested at all yet. That won't happen for a few days at least. They are not safe to merge back into master or the 4.0 branch yet.
ok. i don't know that the 4.0 release timetable is, but it would be nice to get those changed merged before the release that are considered to be bug fixes.
-- juha
I had hoped to do this but simply ran out of time.
So they will have to be bug-fixes to the 4.0 branch after the release.
Regards,
Peter
On 10/03/13 22:03, Juha Heinanen wrote:
Peter Dunkley writes:
The changes in pd/outbound are not complete or tested at all yet. That won't happen for a few days at least. They are not safe to merge back into master or the 4.0 branch yet.
ok. i don't know that the 4.0 release timetable is, but it would be nice to get those changed merged before the release that are considered to be bug fixes.
-- juha
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev