UA1 -> Proxy(resiprocate
stack) ->UA2
where
1) The Proxy was configured
with UDP and TCP transports.
2) UA1 and UA2 used only UDP
transport and didn't have TCP support enabled.
3) UA1 sent INVITE with
broken To header field
4) UA2 detected malformed To
header filed and answered with 500 response
without(!) To field
5) The resiprocate detected
malformed response and ignored that and UA2 was
greylisted on some time.
6) As result all requests
targeted to UA2 were sent over TCP during greylist
period. However, taking into account
taht UA2 doesn't support TCP
we just had a broken signalling during this period
of time.
Such behaviour is more or
less acceptable in case when UA2 is just end-user
UA. But in our case it can
be some vendor gateway or our own B2BUA so we simply
face out-of-order condition for large amount of
calls.
To put it simply, we have a
situation when an unanswered SIP transaction leads
to out-of-order service
condition during significant period of time. So the
provided patch is aimed to introduce some control
for grey-listing mechanism.
Frankly speaking, complete disabling of grey-list
functionality also will help
in our case. The question is - is there possibilty
to make it without respirocate patching?
--
Best regards,
Sergey Pavlov
> Dear resiprocate devels,
> resiprocate version 1.8.8
>
> I use proxy,built above resip stack. In
particular, there are a fiew intermediate proxy
servers: N1,N2,N3.
> I've met next issue:
> 1) there is an active session.
> 2) some client starts one more session,sending
malformed sip message to proxy1, proxy1
> retransmits that message to Proxy2 and proxy2
responds with 500 Server internal error.
> Proxy1 tries to retransmit that message several
times and after the last one it
> penalizes given transport by black listing.
> 3) At the same time session from item1 has not
been finished yet. If any participant from
> session1 will send any sip message -
TransportSelector will generate TransportFailure or
>TCP transport will be selected if it is
configured - as result session1 becomes broken/hung.
>
> I think UAC penalization - is good idea,but
proxy penalization leads to undefined behaviour.
>
> Considering this I would like to ask a few
questions,if you don't mind:
> 1) Is it possible to add some exception list to
DnsResult::blackListLast/DnsResult::greyListLast
stuff?
> 2) Could you please take a look on provided
patch,which provides some kind of solution?