[sr-dev] default config: do loose_route() for in-dialog NOTIFY as per new RFC 6665

Iñaki Baz Castillo ibc at aliax.net
Thu Aug 16 14:20:59 CEST 2012


2012/8/16 Iñaki Baz Castillo <ibc at aliax.net>:
> Sorry, I mean "doing record_route() for in-dialog NOTIFY's".

More rationale:


The problem is that, according to the new RFC 6665 (which obsoletes
RFC 3265), the UAC creates the dialog and gets the route set when the
first NOTIFY arrives (instead of taking it from the 200 to the initial
SUBSCRIBE):

RFC 6665:

------------
Section 4.4.1 has been updated to specify that dialogs should be
created when the NOTIFY arrives.  Previously, the dialog was
established by the SUBSCRIBE 200...
-----------

Therefore, an UAC compliant with RFC 6665 will ignore the Record-Route
headers in the SUBSCRIBE 200 and will wait for the first NOTIFY to get
the Record-Route headers and set them as the route set of the dialog.
If such a NOTIFY does not contain RR then the UAC will fail to create
the route set and the next re-SUBSCRIBE will miss them.

So in short: every proxy in the path of a subscription MUST add RR to
in-dialog NOTIFY requests, and thus Kamailio default script file
should perform record_route() for in-dialog NOTIFY requests.

Regards.


-- 
Iñaki Baz Castillo
<ibc at aliax.net>



More information about the sr-dev mailing list