hi all,

i'm developing a voip client and i'm using sip/rtp protocol.

I have a problem when starting rtp: after i've received "200 ok" from a remote client i try to start rtp. But after some seconds of waiting, comes out the dialog about the choice of internet access point (my only choice is Winsock) and i can't receive rtp packets that arrive to emulator.

I think the problem depends on RRtpSession::OpenL: i tried in 2 different methods, but results are unsatisfactory.

First method:

TInetAddr localAddr = INET_ADDR(192,168,1,196);
localAddr.SetPort(localPort);

RSocketServ sockServ = RSocketServ();
sockServ.Connect();
RSocket sock = RSocket();
sock.Open(sockServ,KAfInet,KSockDatagram,KProtocolInetUdp);
sock.Bind(localAddr);

TInt maxRXSize=250;
RConnection iConnection = RConnection();
iConnection.Open(sockServ);
TInt err = iConnection.Start();

if(err != KErrNone)
{
User::Leave(err);
}

iSession = RRtpSession();

iRemoteAddr.SetPort(remotePort);

iSession.OpenL(sockServ, localAddr, iRemoteAddr, maxRXSize, iConnection);

if (iSession.IsOpen()){
StartSendStreamL();
iSession.PrivRegisterEventCallbackL((TUint)(ERtpNewSource|ERtpOneShot), &StartReceiveStreamL,(TAny*)this);
}

In this case comes out popup about iap, but iSession.IsOpen returns False

2nd method:

i use another OpenL:

iSession.OpenL(sock, maxRXSize, EPriorityNormal);

in this case iSession.Open returns true, but i never enter in callback function and in both cases i have "iap dialog" and i can't start rtp stream.

Thanks in advance

Alessio