[ previous ] [ next ] [ threads ]
 To :  Paul Chitescu <paulc@v...>
 From :  "G. Jacobsen" <g_jacobsen@y...>
 Subject :  Re: [yate] Re: Bug fallback revision 4984
 Date :  Thu, 23 Aug 2012 09:26:11 +0300
That looks correct to me.

On 22 Aug 2012, at 18:35, Paul Chitescu wrote:

> Hi!
> 
> One's bug may be other's feature.
> 
> The problem here is that 480 received from upstream is turned into "noanswer"
> 
> What do you think moving the line:
>    { "congestion", 480 },
> just above the:
> 	{ "noanswer", 480 },
> 
> This way:
> 	- local "noanswer" maps to 480 as introduced in Rev. 4984
> 	- remote 480 maps to "congestion", if returned to caller maps back to 480
> 	- remote 487 maps no "noanswer" but if returned to caller maps to 480
> 
> The last case shouldn't happen as usually a 487 is the answer to a CANCEL from the caller which already terminates the inbound call leg.
> 
> Unfortunately interoperation between SIP and PSTN doesn't always make sense and each side insists its way is the correct one...
> 
> Paul
> 
> 
> On Wednesday 22 August 2012 05:56:19 pm G. Jacobsen wrote:
>> I did not see an answer on this - is this bug confirmed ?
>> 
>> On 30 Jul 2012, at 07:52, G. Jacobsen wrote:
>>> Hello Paul,
>>> hello yate team,
>>> 
>>> Revision 4984 introduced an additional SIP status translation of SIP 480
>>> = noanswer
>>> http://yate.null.ro/websvn/diff.php?repname=yate&path=%2Ftrunk%2Fmodules%
>>> 2Fysipchan.cpp&rev=4984
>>> 
>>> This revision causes severe problems with fallback routes and is wrong in
>>> my opinion.
>>> 
>>> The stoperror for fallback routes when connecting to foreign gateways is
>>> typically stoperror=busy\|noanswer
>>> Or in other words: Fallback to next route unless person was talking or
>>> did not pick up the phone during ringing
>>> 
>>> If the route is congested (no free circuit) then the remote gateway will
>>> send SIP 480 temporarily unavailable. In such case yate should try the
>>> next available route. Translating SIP 480 as noanswer prevents that.
>>> After hitting a temporarily unavailable route yate stops trying other
>>> routes. Reverting the revision fixes things again.
>>> 
>>> Regards,
>>> 
>>> Gerry
>