2012/8/16 Iñaki Baz Castillo ibc@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.