Hi all,

I'm sending G711 codec over RTP and application succssessfully keep sending it.Problem is that i'm not getting it at receiver end.

I've Started the iRtpAPI sessions at both ends as application is full duplex and i'm trying to establish a Voice path between two E65 phones.

TUint localPort = 30002;
TUint remortPort = 30002;

remoteAdd = INET_ADDR( 10,1,7,142 );
remoteAdd.SetPort( remortPort );

TBool aEnableRTCP = EFalse;
TInt err;
TRtpSdesParams params;
TCreateSessionParams sessionParams;
sessionParams.iPriority = TCreateSessionParams::EPriorityStandard ;
sessionParams.iSocketBufSize = KSocketBufSize;

iRtpAPI = CRtpAPI::NewL( *this );

err = iRtpAPI->OpenL(
params,
NULL,
&iSocketServer,
NULL );

if( !err )
{
_LIT8( KLog, "Open RTPAPI" );
iObserver->WriteRTPApiLog( KLog(), 0 );
}

err = iRtpAPI->StartConnection();

if( ! err )
{
_LIT8( KLog, "Connection Started" );
iObserver->WriteRTPApiLog( KLog(), 0 );
}

iSessionId = iRtpAPI->CreateSessionL( sessionParams,
localPort,
aEnableRTCP,
NULL );

When session is creeated i called

RegisterRtpObserver,CreateTransmitStreamLand CreateReceiveStreamL


iOutputStreamId = iRtpAPI->CreateTransmitStreamL( iSessionId, params, iSSRC);

iInputStreamId = iRtpAPI->CreateReceiveStreamL( iSessionId,
params );



Here i'm registering observer to receive RTP packet

TInt err = iRtpAPI->RegisterRtpObserver( iSessionId,
*this );

this is the declaration of overridden pure function which is not callled.Please let me know if I'm missing any thing.Second i'm sending G. 711 payload so i set the payload type 46 and both streams are created at both ends.

void RtpPacketReceived( TRtpId aStreamId,
const TRtpRecvHeader &aHeaderInfo,
const TDesC8 &aPayloadData );


Please at least give me any clue y it does't work i'm so close to finish my work.

Thanks in advance,

Haroon Azmat