if registrar method_filtering param is set, lookup produces -2 and $du is not set if method is not listed in allow header of register request.
this is fine with initial requests, but in case of an invite dialog, initial invite may list another set of methods that the ua supports in in-dialog requests.
if request uri of in-dialog request is gruu, lookup on it would thus fail and $du is not set if method of the request was not in allow header of register request, but was in allow header of initial invite.
in order to solve the problem, my suggestion is that lookup would set $du also when it returns -2. comments?
-- juha
On 07.04.17 10:50, Juha Heinanen wrote:
if registrar method_filtering param is set, lookup produces -2 and $du is not set if method is not listed in allow header of register request.
this is fine with initial requests, but in case of an invite dialog, initial invite may list another set of methods that the ua supports in in-dialog requests.
if request uri of in-dialog request is gruu, lookup on it would thus fail and $du is not set if method of the request was not in allow header of register request, but was in allow header of initial invite.
in order to solve the problem, my suggestion is that lookup would set $du also when it returns -2. comments?
I think it would better to have an option (eventually via a new flags parameter) to control this and lookup() return true, because returning false but setting some of the destination attributes is somehow misleading.
A quicker solution will be to disable method matching based on presence of To-tag, because this is anyhow part of an established dialog and this can be end-to-end without involving the proxy/registrar.
Cheers, Daniel
On 07.04.17 10:50, Juha Heinanen wrote:
if registrar method_filtering param is set, lookup produces -2 and $du is not set if method is not listed in allow header of register request.
this is fine with initial requests, but in case of an invite dialog, initial invite may list another set of methods that the ua supports in in-dialog requests.
if request uri of in-dialog request is gruu, lookup on it would thus fail and $du is not set if method of the request was not in allow header of register request, but was in allow header of initial invite.
in order to solve the problem, my suggestion is that lookup would set $du also when it returns -2. comments?
I think it would better to have an option (eventually via a new flags parameter) to control this and lookup() return true, because returning false but setting some of the destination attributes is somehow misleading.
A quicker solution will be to disable method matching based on presence of To-tag, because this is anyhow part of an established dialog and this can be end-to-end without involving the proxy/registrar.
Cheers, Daniel
Daniel-Constantin Mierla writes:
A quicker solution will be to disable method matching based on presence of To-tag, because this is anyhow part of an established dialog and this can be end-to-end without involving the proxy/registrar.
Sounds good to me, although in case of gruu, registrar (lookup) is involved also when forwarding in-dialog requests.
Is it OK if I try to add the To-tag check?
-- Juha
On 07.04.17 17:38, Juha Heinanen wrote:
Daniel-Constantin Mierla writes:
A quicker solution will be to disable method matching based on presence of To-tag, because this is anyhow part of an established dialog and this can be end-to-end without involving the proxy/registrar.
Sounds good to me, although in case of gruu, registrar (lookup) is involved also when forwarding in-dialog requests.
Is it OK if I try to add the To-tag check?
Yes, I am fine with such solution.
Cheers, Daniel