Hello,
On 3/15/12 9:48 AM, Egbert Groot wrote:
Hi all,
I'm having an issue with ACK's being proxied. When an INVITE first comes in (new
transaction, new dialog), I do a 'www_challenge(...)'. This makes the proxy send a
'401 Unauthorized' reply. The client acknowledges this reply with "ACK".
This ACK is 'absorbed' by the proxy.
When during an established call/dialog the client sends an INVITE to set the call on
hold, this is an in dialog INVITE (with to-tag etc). Although authentication for this
INVITE isn't very necessary, my script does 'www_challenge' anyway. The proxy
sends '401 Unauthorized', the client responds with 'ACK'. This ACK however
is not 'absorbed' as it should be, but forwarded/proxied (or at least handed over
to the routing script). Is this intended behaviour? If so, how can I recognize this ACK to
be able to drop it?
I found some related info in this email thread:
http://lists.kamailio.org/pipermail/devel/2008-December/017246.html but doesn't
discuss this exact issue.
Though this isn't a big problem for me (the upstream gateway ignores the ack, and I
can disable authentication for re-invite's), I'm curious why the proxy behaves
this way. Hopefully someone can enlighten me.
do you create transaction before doing
authentication in second case?
ACK is absorbed transparently by sl module for stateless reply and they
get to config and absorbed by tm with t_relay() if it is an ACK for a
stateful reply.
So, even if it gets to config, does it get relayed? If yes, can you post
an ngrep trace of such case?
Cheers,
Daniel
--
Daniel-Constantin Mierla
Kamailio Advanced Training, April 23-26, 2012, Berlin, Germany
http://www.asipto.com/index.php/kamailio-advanced-training/