partysip-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Partysip-dev] late ACK discarding behaviour


From: Aymeric Moizard
Subject: Re: [Partysip-dev] late ACK discarding behaviour
Date: Mon, 5 May 2003 17:36:31 +0200 (CEST)


On Mon, 5 May 2003 address@hidden wrote:

> Hello,
>
> First of all: thanks for writing partysip.

Thanks!

> I have a problem with the "late ack"-discarding behavior
> of partysip. I tried to set up a test-environment with two
> subnets, like:
>                              UDP-
>                 _  ___+---- bridge ---+_  ___
>                / \/   \       |       / \/   \
> SIP-UA #1 ----|Subnet 1|      |      |Subnet 2|---- SIP-UA #2
>                \______/       |       \______/
>                       +---- Proxy ----+
>
> I want the SIP-proxy to observe all call-dependend SIP-messages,
> whereon a partysip-plugin configures the UDP-bridge dynamically
> to allow RTP-traversal.
> The plugin will also translate the RTP-IP:ports of the SDP-blocks
> to the ones used by the UDP-bridge.

Just to be sure you know that:
partysip is already able to do some kind of masquerading:

config:
# the ip to put in Via and SDP:
remote_natip   = sip.no-ip.org
# Show ip of NAT in Via in outgoing request. (useless
# with remote rf3261 compliant SIP application)
masquerade_via = on

#external interface
if_ext    = ppp0
#internal interface
if_lan    = eth0

iptables_dynamic_natrule = on
iptables_server = sip.no-ip.org
iptables_port = 25990

The above configuration requires that you install a modified
"iptables" version:
http://osip.atosc.org/download/iptables-1.2.7a-server.tar.gz

and compile it with:

make KERNEL_DIR=<<where-you-built-your-kernel ACT_AS_SERVER=1 \
                                    NO_SHARED_LIBS=1


> Since there is no pysical or logical connection between both
> subnets, except the partysip-proxy and the udp-bridge, there is
> no way to exchange SIP-message directly between both SIP-UAs.
>
> The problem is, that partysip discards incoming ACK-Requests,
> after a typical INVITE-OK-session-setup.
>
> ("core module: This is a late ACK to discard!" in
> psp_core_handle_incoming_message_as_statefull_only()
> in psp_core3.c)
>
> Partysip handles all other messages (like BYE, BYE-OK etc.),
> but discards the ACK in between (correctly, I know).

I'm not sure to understand correctly your issue
First question: are you using record-route?
This is needed for compliant processing of ACK. You have
to enable ALL config lines related to record-routing:
 record-route = on

After some tries, you'll find out the above is not supported
by MSN (this might not be convenient for you?). MSN is the only
rfc2543 UA that don't support rfc3261 definition of record-route...

If you want to use it a special patch is available in the latest
source code (CVS only?). You have to compile partysip this way:
 CFLAGS="-DSUPPORT_FOR_BROKEN_UA" ./configure

With the above patch, ACK that are not part of a transaction (and thus
probably for a 200ok) are forwarded to the destination found in the
request-uri. This is not a compliant patch but it might be usable
in your situation.

Hope this will help you?
I'll be interested in receiving your plugins if they can be of any
interest to me :)

Thanks
Aymeric

> Is there a possibility to allow the traversal of such ACKs through
> partysip (like a config-switch or something else) ?
>
>
> thanks in advance
> Stefan Fritzsche
>
> --
> +++ GMX - Mail, Messaging & more  http://www.gmx.net +++
> Bitte l?cheln! Fotogalerie online mit GMX ohne eigene Homepage!
>
>
>
> _______________________________________________
> Partysip-dev mailing list
> address@hidden
> http://mail.nongnu.org/mailman/listinfo/partysip-dev
>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]