[Users] failure route problem
Klaus Darilion
klaus.mailinglists at pernau.at
Wed Aug 24 13:50:55 CEST 2005
I do not understand the whole scheme of codes and UAS codes, and local
generated responses vs. received responses.
I think it should be simple like:
1. if CANCEL is received, mark the corresponding transaction as
"canceled by caller"
2. allow to check if a transcation is "canceled by caller"
regards
klaus
Bogdan-Andrei Iancu wrote:
> Hi Klaus, Hi Juha,
>
> I agree with Juha - failure route must catch all negative replies
> disregarding its cause; also "487" is RFC compliant for cancelled
> INVITEs, so we should stick to it.
>
> secondly, I also see your problem and I agree that somehow, the admin
> must have the possibility (via scripting) to deal with it.
>
> I suggested a solution in a previous email (like t_check_status to be
> able to check also the UAC codes and not only the UAS)... but no opinion
> on this.....
>
> regards,
> bogdan
>
>
> Klaus Darilion wrote:
>
>> Hi Juha!
>>
>>
>> Juha Heinanen wrote:
>>
>>> Klaus Darilion writes:
>>>
>>> > I wonder if there is any reason at all, why a failure route will
>>> be > executed in case of the caller cancels the call. Thus, another
>>> option > would be to remove execution of the failure route if the
>>> caller cancels > the call.
>>>
>>> i don't like these kind of exceptions. a failure route will be
>>> definition be called if failure response is received. i have in my
>>> failure route test
>>>
>>> if (t_check_status("487")) {
>>> return;
>>> };
>>
>>
>>
>> This is also what I do at the moment.
>>
>>> which makes 487 a no-op and i don't have experienced any problems with
>>> it.
>>
>>
>>
>> imagine a parallel forked call: one phone is busy (486), the other
>> phone is ringing.
>>
>> If the caller cancels the call, the status is 486, thus
>> t_check_status("487") won't match and you send a canceled call to the
>> voicebox :-(
>>
>>> > If we still want to execute the failure route, having the call
>>> canceled > by the caller should be visible in a status variable,
>>> which is > explicitly set by the caller action, not by any reply
>>> code from the > clients. Imagine a broken client which sends 4xx
>>> instead of 487 for any > reason. If this is the last response, the
>>> failure route again won't work > if it checks for status 487.
>>>
>>> coping with all kinds of broken clients in the proxy makes life very
>>> complicated.
>>>
>>> whatever you decide to do make sure it is backwards compatible with
>>> current behavior, i.e., introduce a new module option or something.
>>> this is very dedicated stuff and i don't want to get into a position
>>> where i need to re-test my ser.cfg.
>>
>>
>>
>> ACK. Maybe we could introduce a new function which allows to test if
>> the called canceled the call.
>>
>> regards
>> klaus
>>
>
>
More information about the Users
mailing list