×

Discussion Board

Results 1 to 2 of 2
  1. #1
    Registered User
    Join Date
    May 2004
    Posts
    14

    Sip Application on handset.

    Hi Friends,

    I have an application which registers with a SIP Server on its startup.
    The registration is successful, but creation of the CSIPConnection object fails on the handset and my application crashes at this point.

    TInt status = iSipProfileRegistry->EnableL(*iSipProfile, *this);
    if(status == KErrNone) // Always ON = true
    {
    iAppLogger->Log(_L("SIP Profile ALWAYS ON. Creating Sip Connection"));
    iSipConnection = iSipProfileRegistry->ConnectionL(*iSipProfile);
    ...
    }

    void CSipEngine::ProfileRegistrationStatusChanged(TUint32 aSIPProfileId)
    {
    if(aSIPProfileId == iSipProfile->Id())
    {
    if (iSipProfile->Status() == CSIPProfile::ERegistered)
    {
    iAppLogger->Log(_L("Profile Enabled. Creating Sip Connection."));
    iSipConnection = iSipProfileRegistry->ConnectionL(*iSipProfile);
    ...
    }}}

    In both the above cases, the application crashes in the ConnectionL() method.

    Note: This crash occurs only on the handset (Nokia 6600) and not on the Emulator.

    - I tried creating the iSipConnection object using its NewL() method too, but it failed.
    - I have also installed the latest SIP Stack for Series 60 2.0 (SIP_3[1].29-S60-2.0b.sis). I also tried it with earlier versions (SIP_3[1].22-s60.sis).

    Could anyone help me out with this problem?

    One basic question to Nokia Experts Group:
    - Please confirm whether this SIP Stack works with Series 60 target devices or is it just for the Emulator environment.

    Regards,
    Ravi

  2. #2
    Registered User
    Join Date
    May 2004
    Posts
    14
    Hi Friends,

    I found a way out, but its still not clear to me.
    I replaced the creation of the CSIPConnection object from
    - iSipConnection = iSipProfileRegistry->ConnectionL(*iSipProfile);
    to
    - iSipConnection = iSIP->Connection(iSipProfile->IapId());

    This works for me on the handset. An important thing to note here is that on the Emulator (WINS) the second call returns 0. Hence I had to modify my code as follows
    #ifdef __WINS__
    iSipConnection = iSipProfileRegistry->ConnectionL(*iSipProfile);
    #else
    iSipConnection = iSIP->Connection(iSipProfile->IapId());
    #endif

    This code now works i.e. atleast I am able to create an CSIPInviteDialogAssoc using this connection object on the handset.

    Can any from the Nokia Experts Group throw some light on this?

    Although I am now able to create the Dialog, the application panics with Error code -1 (KErrNotFound) when I call the CSIPMessageElements::NewL() method to add SDP contents to the Invite message body.

    Thanks & Regards,
    Ravi

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •