I'm attempting to create a UDP/IP socket. For that, I require GPRS connectivity. Since I'm not calling RSocket's Connect method, the access point selection dialog doesn't show up. To solve that, I'm using CIntConnectionInitiator. However, for some reason, I'm getting a crash on the phone. Here's what I'm attempting from within my AppUi's ConstructL method:

connectionInit = CIntConnectionInitiator::NewL();
if(connectionInit->GetActiveIap(active) != KErrNone)

where 'active' and 'status' have been previously declared to be of type TUint32 and TRequestStatus respectively.

The crash occurs after logging on to the GPRS network. If I remove the call to ConnectL, I have no crash (and obviously no GPRS).

The scope of active, status, and connectionInit are at the AppUi level so there's no variable scope problem.

I'd greatly appreciate it if someone could let me know what I'm doing wrong. Also, is there a way to be notified when ConnectL completes? Basically I'm thinking of doing a busy-wait on GetActiveIap and status so that I know if I'm on a GPRS network or if an error occured while attempting to connect to the GPRS network. Is there a better way to do this instead of wasting CPU time on busy loops?