And specifically, the ambiguity I am referring to in your narrative is the following:
1) In your first reply to me after I posted the configs, you said:
"Your config is bogus. You are not doing proper record-routing (you commented out that section). In-dialog requests are matched during record-route handling, regardless of the dialog match mode."
2) In your subsequent reply to yourself and clarification of the issue with reference to the dialog docs, you say:
"The documentation is a little bit fuzzy about this, but here's the hint: http://kamailio.org/docs/modules/1.4.x/dialog#id2507978 http://kamailio.org/docs/modules/1.4.x/dialog#id2508031
<quote> This PV will be available only for sequential requests, after doing loose_route(). </quote>
So it means that you must perform loose_route() if you want to catch in-dialog request and have a consistent dialog state. With your config, all the dialogs will just time out ..."
3) So, which one is it? If I need to record_route(), that is obvious; you cannot monitor dialogs if subsequent in-dialog requests do not pass through the proxy. I am doing that.
If it is loose_route() that I need to correlate subsequent in-dialog requests, why? As you said, if no RR cookies are being used, why should the proxy care about the Route: header?
Thanks,
-- Alex
Ovidiu Sas wrote:
The cookie attribute is not used at all in mode 2. Inspect your traffic and you will see that there are no rr coockes and the dialog matching is working ok (in mode 2). The record-route mechanism is used as a _hook_ by the dialog module to intercept in dialog requests. I don't know how to put this better in words ... Hope that this clarifies your dialog matching issue.
So ... the dlg_match_mode works as advertised in the doc as long as you have a proper implementation of the record rote mechanism. For mode 0 and 1 you will have cookies in the Record-Route headers. For mode 2 you will have no cookies in the Record-Route headers and the matching will still work.
Regards, Ovidiu Sas
On Thu, Oct 16, 2008 at 1:58 PM, Alex Balashov abalashov@evaristesys.com wrote:
Yep. That was the conclusion I came to as well; even though dlg_match_mode insinuates that the cookie attribute is optional, implying there are other ways to match subsequent requests as well, it is actually not.
On Thu, October 16, 2008 1:45 pm, Ovidiu Sas wrote:
That was the topic of my original post: how to correlate dialogs purely based on SIP attributes without the use of loose-routing.
short answer: you can't (and the matching method doesn't matter). proper loose-routing is a must.
-- Alex Balashov Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 Mobile : (+1) (706) 338-8599