[Users] provisional response management ( 100 Trying )
Weiter Leiter
bp4mls at googlemail.com
Thu Jul 20 20:14:50 CEST 2006
Hi,
Evan Borgström wrote:
> Why would you want to prevent it? 1XX class messages are all
> provisional, do not solicit a response and are never forwarded upstream
> so only the previous hop will get multiple 100 messages which will
> effectively limit any chance of the upstream hop re-transmitting the
> original message.
>
> Take the following example; A user sends their initial INVITE, you
> sl_send_reply 100 and then check your proxy_authorize which returns a
> 407 and challenges the user. The user sends the second invite with
> credentials you sl_send_reply 100 and then check your proxy_authorize
> again and say, for instance, your DB server is now under heavy load (a
> cronjob runs, etc) and takes longer then 1s to respond, since you
> haven't called t_relay yet which generates the second 100 message your
> initial 100 message would still stop the user from re-transmitting the
> INVITE while proxy_authorize is waiting for the DB.
>
The question is not whether sl replying is good or not - it for sure is.
The question is how to be 100% conformant.
However, imho, this misalignment is completely negligible, as if you
make abstraction of the possible different reason phrase, the two
messages will be identical - this duplicating can be done by some lower
layered network entity, so, from the uac's point of view, the 2 100s
should not be a problem.
However, adding a config for tm not to take care of the 100 might be the
cherry on the cake.
WL.
ps. Imo, this is one of ser/openser's problems: one script function can
actually take some more (more or less documented) "atomic" actions than
its name states (even in cases where otherwise could be done, without a
performance or complexity impact), which, from a strictly programming
point of view is completely wrong.
> -Evan
>
> T.R. Missner wrote:
>
>> You have the question exactly correct
>>
>> Now - how can I do this?
>>
>> -----Original Message-----
>> From: users-bounces at openser.org [mailto:users-bounces at openser.org] On
>> Behalf Of Weiter Leiter
>> Sent: Thursday, July 20, 2006 1:31 PM
>> To: Norman Brandinger
>> Cc: users
>> Subject: Re: [Users] provisional response management ( 100 Trying )
>>
>> Hi,
>>
>> Norman Brandinger wrote:
>>
>>> At the top of our ROUTE_INVITE, we have:
>>>
>>>
>>> #---------------------------------------------------------------------
>>> - # Let the UA know we are working on their request - # they
>>> shouldn't send retransmissions
>>>
>>> #---------------------------------------------------------------------
>>> -
>>> sl_send_reply("100", "Trying");
>>>
>>> This seems to work and it was adapted from code used during REGISTER
>>> processing.
>>>
>> If I got Missner's problem right, he wants to prevent sending multiple
>> 100 replies back to the uac.
>>
>> The rfc says - Page 109, paragraph 5 - that "MUST be forwarded
>> immediately [...] Any provisional response other than 100 (Trying)" and
>> later, in same paragraph that "A stateful proxy MUST NOT immediately
>> forward any other [= 101<=x<=299] responses". Now, it's true that in
>> this case the proxy would not literally forward a 100 reply back, but
>> the uac would still see 2x100.
>>
>> Now, if he does SL reply at the beginning, the tm module will, again,
>> send a 100 on his own, before relaying.
>>
>> The question is how to prevent this, if I got it right...
>>
>>
>> WL.
>>
>>
>>> Regards,
>>> Norm
>>>
>>> Klaus Darilion wrote:
>>>
>>>> AFAI remember there was function t_relay_no_ack or similar. Take a
>>>> lookat the README from TM module.
>>>>
>>>> regards
>>>> klaus
>>>>
>>>> T.R. Missner wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>>
>>>>>
>>>>> I want to send an immediate 100 trying message when an Invite is
>>>>> received, then I do a DB lookup, then I rewrite the RURI and forward
>>>>>
>>>>> the message using t_relay.
>>>>>
>>>>> Since I have already sent a 100 trying manually I'd like to short
>>>>> circuit the 100 t_relay sends so multiple 100 trying messages aren't
>>>>>
>>>>> sent.
>>>>>
>>>>> Does anyone know of a way to do this?
>>>>>
>>>>>
>>>>>
>>>>> Thanks,
>>>>>
>>>>>
>>>>>
>>>>> T.R.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --------------------------------------------------------------------
>>>>> ----
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at openser.org
>>>>> http://openser.org/cgi-bin/mailman/listinfo/users
>>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at openser.org
>>>> http://openser.org/cgi-bin/mailman/listinfo/users
>>>>
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at openser.org
>>> http://openser.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>> _______________________________________________
>> Users mailing list
>> Users at openser.org
>> http://openser.org/cgi-bin/mailman/listinfo/users
>>
>> _______________________________________________
>> Users mailing list
>> Users at openser.org
>> http://openser.org/cgi-bin/mailman/listinfo/users
>>
>
>
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
>
>
More information about the Users
mailing list