[Serusers] 200 OK/SDP and ACK/SDP problem

Carla Ares carla.ares at gmail.com
Wed Feb 1 18:44:01 CET 2006


I cannot modify the H323 side, because I have no control of it. So, I need
to adapt SER to work with.

H323 could work in slow start and fast start.
A call between a H323 fast start side and a natted SIP side, is working ok.
Because, in that case, the INVITE has SDP.

The problem I have is when  H323 is working in slow start and the B sides is
a SIP UAC an it's natted. Because, the INVITE does not have that SDP that
creates the session in the proxydispatcher.
The problem is on the mediaproxy module, because it only makes a
requestcommand to the proxydispatcher when an ACK or INVITE is
received. So, if the
first INVITE doesn't have SDP info, the 200 OK/SDP will not find a session
opened in the distpatcher.

Is the sequence of message (shown below) according to the RFC of SIP? or
maybe it's a bug of the mediaproxy module? or the RFCs of SIP says that the
INVITE has to have always an SDP info?



On 2/1/06, Voipers Portugal <voipers at gmail.com> wrote:
>
> But in H.323 it is not possible to use SDP in the INVITE? Does it have to
> be slow start? You could always add the SDP to the message in the H.323 to
> SIP converter (that is, if you can control it of course).
>
> Jose Simoes
>
>
> On 2/1/06, Carla Ares <carla.ares at gmail.com> wrote:
> >
> > Sides A (the origin of the call), cannot send the SDP in the INVITE,
> > because it does not know the rtp information until the destination confirms
> > his rtp info.
> >
> > This cannot be done in another way, because H323 (slow start) works in
> > that way.
> >
> >
> > On 2/1/06, Voipers Portugal <voipers at gmail.com > wrote:
> > >
> > > Why don't you send SDP in the INVITE message?
> > >
> > > Jose Simoes
> > >
> > >
> > >  On 2/1/06, Carla Ares < carla.ares at gmail.com > wrote:
> > >
> > > >  Hi all,
> > > >
> > > > > I have a problem with audio, when the destination of a call is
> > > > > natted and the other side is public. This problem is cause because the SDP
> > > > > info only is present in the 200 OK and in the ACK message.
> > > > >
> > > > > I'm using ser ( 8.14) with mediaproxy (1.2.1).
> > > > >
> > > > > I have an H323 to SIP translator (and SIP to H323 too) connected
> > > > > to the PSTN and to the SIP Proxy (SER).
> > > > > H323 is the origin of the call (public client), and SIP UAC is the
> > > > > destination (Natted client).
> > > > > My proxy is working in state full mode and has a public IP.
> > > > >
> > > > > The H323 side is using slow start, so when it starts the
> > > > > transaction with an INVITE, it will not send the SDP info (it will send it
> > > > > in the ACK message).
> > > > > The proxy forwards this message to the destination.
> > > > > SIP UAC, starts ringing. When we hooks off, the SIP UAC send an
> > > > > 200 OK with SDP message to the H323 side.
> > > > >
> > > > > This is the 200 OK / SDP that the proxy receives from the SIP
> > > > > side.
> > > > >
> > > > > No.     Time        Source                Destination
> > > > > Protocol Info
> > > > >     488 28.488811   200.68.89.2           200.68.89.12
> > > > > SIP/SDP  Status: 200 OK, with session description
> > > > >     Message body
> > > > >         Session Description Protocol
> > > > >             Session Description Protocol Version (v): 0
> > > > >             Owner/Creator, Session Id (o): 700600 6015 6015 IN IP4
> > > > > 192.168.0.101
> > > > >                 Owner Username: 700600
> > > > >                 Session ID: 6015
> > > > >                 Session Version: 6015
> > > > >                 Owner Network Type: IN
> > > > >                 Owner Address Type: IP4
> > > > >                 Owner Address: 192.168.0.101
> > > > >             Session Name (s): AddPac Gateway SDP
> > > > >             Connection Information (c): IN IP4 192.168.0.101
> > > > >                 Connection Network Type: IN
> > > > >                 Connection Address Type: IP4
> > > > >                 Connection Address: 192.168.0.101
> > > > >             Time Description, active time (t): 0 0
> > > > >                 Session Start Time: 0
> > > > >                 Session Stop Time: 0
> > > > >             Media Description, name and address (m): audio 23018
> > > > > RTP/AVP 18 8 0 101
> > > > >                 Media Type: audio
> > > > >                 Media Port: 23018
> > > > >                 Media Proto: RTP/AVP
> > > > >                 Media Format: ITU-T G.729
> > > > >                 Media Format: ITU-T G.711 PCMA
> > > > >                 Media Format: ITU-T G.711 PCMU
> > > > >                 Media Format: 101
> > > > >
> > > > > Following the ser.cfg, this 200 OK / SDP will make the proxy to
> > > > > use mediaproxy (use_media_proxy()), because the destination user is natted.
> > > > > So the mediaproxy module, will generate a lookup command to the
> > > > > proxydispatcher.py.
> > > > >
> > > > > proxydispatcher[30535]: command lookup 2281401749 at 200.68.89.10
> > > > > 192.168.0.101:23018:audio 200.68.89.2 200.68.89.10 remote
> > > > > 200.68.89.10 unknown AddPac=20SIP=20Gateway info=
> > > > > from:1150316660 at 200.68.89.10, to:1152464490 at 200.68.89.10
> > > > > ,fromtag:3512844671,totag:7b07717a4
> > > > > proxydispatcher[30535]: warning: trying to lookup session with
> > > > > non-existent id: ' 2281401749 at 200.68.89.10'
> > > > >
> > > > > The proxydispatcher does not recognize that command because it has
> > > > > not generate the session before. So, the proxy forwards the 200 OK /SDP
> > > > > message without changing the SDP info. When the H323 sides receives that
> > > > > info, it thinks that it has to send RTP to the private IP.
> > > > >
> > > > > Then the H323 sends the ACK with SDP.
> > > > >
> > > > > Then, we cannot ear audio in both sides.
> > > > >
> > > > > Here is the problem, because, I didn't receive an INVITE with SDP
> > > > > that can create the session into the dispatcher.
> > > > >
> > > > >
> > > > > A is public, B is natted
> > > > >
> > > > > side A            Proxy            side B
> > > > >
> > > > >     INVITE without SDP
> > > > >     ---------->
> > > > >     100 Trying
> > > > >     <----------
> > > > >
> > > > >                 INVITE without SDP
> > > > >                 ---------->
> > > > >
> > > > >                 100 Trying
> > > > >                 <----------
> > > > >                 180 Ringing
> > > > >                 <----------
> > > > >     180 Ringing
> > > > >     <----------
> > > > >
> > > > >                 200 OK SDP (B private IP)
> > > > >                 <----------
> > > > >             *1*
> > > > >     200 OK SDP (B private IP)
> > > > >     <----------
> > > > >
> > > > >     ACK SDP (A public IP)
> > > > >     ---------->
> > > > >             *2*
> > > > >                 ACK SDP (mediaproxy public IP)
> > > > >                 ---------->
> > > > >
> > > > > ......................................................
> > > > >             RTP from B
> > > > >             <----------------------
> > > > >     *3*
> > > > > ......................................................
> > > > >
> > > > >
> > > > > *1* The proxy must replace the private IP of the SDP, with the ip
> > > > > of the mediaproxy. The looku prequest does not work, because no session was
> > > > > found
> > > > > *2* the proxy generates the session in the mediaproxy. So B thinks
> > > > > that the RTP must go to the mediaproxy. But A never knows the mediaproxy
> > > > > address.
> > > > > *3* RTP from A goes to anywhere, because A does not know where it
> > > > > is the private adrress of B.
> > > > >
> > > > >
> > > >
> > > > Do you know a solution to this? Is the sequence of the message all
> > > > right?
> > > >
> > > >
> > > > Regards.
> > > > Carla
> > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Serusers mailing list
> > > > serusers at lists.iptel.org
> > > > http://lists.iptel.org/mailman/listinfo/serusers
> > > >
> > > >
> > > >
> > >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20060201/5a1974d6/attachment.htm>


More information about the sr-users mailing list