Hi Glenys and NigeIT, seems your callbacks are working fine in RTP provided by symbian, or are you using CRtpAPI..?

Well i have code below using RTP provided by symbian...

portNo = 7722;

User::LeaveIfError(err = m_SockServ.Connect(KESockDefaultMessageSlots));

//initialize
m_SockServ.StartProtocol(KAfInet, KSockDatagram, KProtocolInetUdp, mStatus);

User::WaitForRequest(mStatus);
User::LeaveIfError(m_Socket.Open(m_SockServ, KAfInet, KSockDatagram, KProtocolInetUdp));


//filling local hostInfo
User::LeaveIfError( m_RHostReslv.Open(m_SockServ, KAfInet, KProtocolInetUdp));

User::LeaveIfError(m_RHostReslv.GetHostName(m_Host));
User::LeaveIfError(m_RHostReslv.GetByName(m_Host, m_Name));

m_Socket.SetLocalPort(portNo);

//more inits
m_Record = m_Name();
m_locAddr = TInetAddr::Cast(m_Record.iAddr);

User::LeaveIfError(m_Connection.Open(m_SockServ, KConnectionTypeDefault));

User::LeaveIfError(m_Connection.Start());

//TRAPD(err, m_rtpSession.OpenL(m_SockServ, m_locAddr, m_remAddr, 2048,EPriorityNormal, KNullDesC8));

TRAPD(err, m_rtpSession.OpenL(m_SockServ, m_locAddr, m_remAddr, 2048, m_Connection, EPriorityNormal, KNullDesC8));

m_rtpSession.SetMaxRXSize(1024);
m_rtpSession.SetRtpStreamParameters(10, 100, 1000);

m_rtpSession.PrivRegisterEventCallbackL((TUint)(ERtpNewSource|ERtpOneShot),&StartReceiveStreamL, (TAny*)this);
//PrivRegisterEventCallbackL((TUint)(ERtpNewSource|ERtpOneShot),&StartReceiveStreamL, (TAny*)this);


..buhh seems my callbacks are not being called, my callback function is global

void StartReceiveStreamL(TAny* aPtr, const TRtpEvent& aEvent)
{
SRtpCapture *tmp = (SRtpCapture*) aPtr;

CEikonEnv::Static()->AlertWin(_L16("StRecv"));
tmp->m_event = aEvent.Type();

tmp->m_recvSrc = tmp->m_rtpSession.NewReceiveSourceL();
if(tmp->m_recvSrc.IsOpen())
{
//regist ERtpPacketReceived event to call callback function
tmp->m_recvSrc.PrivRegisterEventCallbackL((TUint)(ERtpPacketReceived|ERtpNotOneShot) ,
&ReceiveCallback, (TAny*)tmp);

}
}

looking for some road map..?

ambersone!!