EXPORT_C CSIPInviteDialogAssoc* CSIPInviteDialogAssoc::NewLC( CSIPDialog& aDialog )
    {
    CSIPInviteDialogAssoc* self = new (ELeave) CSIPInviteDialogAssoc();
    CleanupStack::PushL( self );
    self->ConstructL( SIPStrings::StringF( SipStrConsts::EInvite ), &aDialog );
    return self;
    }
EXPORT_C CSIPInviteDialogAssoc*
        CSIPInviteDialogAssoc::NewLC(CSIPServerTransaction& aTransaction)
    {
    
    CSIPInviteDialogAssoc* self = new (ELeave) CSIPInviteDialogAssoc();
    CleanupStack::PushL( self );
    CSIPDialog* dlg = CSIPDialog::NewL();
    CleanupStack::PushL( dlg );
    self->ConstructL( SIPStrings::StringF( SipStrConsts::EInvite ), dlg, aTransaction );
    CleanupStack::Pop( dlg );
    return self;
    
    }
CSIPInviteDialogAssoc* CSIPInviteDialogAssoc::NewLC(CSIPConnection& aConnection,
            								 CUri8* aRemoteUri,
            	                             CSIPFromHeader* aFrom,
            	                             CSIPToHeader* aTo,
            		                         CSIPContactHeader* aContact,
            		                         const MSIPRegistrationContext* aContext)
    {
    CSIPInviteDialogAssoc* self = new (ELeave) CSIPInviteDialogAssoc();
    CleanupStack::PushL( self );
    CSIPDialog* dlg = CSIPDialog::NewL( *aRemoteUri, *aFrom, *aTo );
    CleanupStack::PushL( dlg );
    self->ConstructL( SIPStrings::StringF( SipStrConsts::EInvite ), dlg );
    CleanupStack::Pop( dlg );
    self->iConnection = &aConnection;
    self->iRemoteUri = aRemoteUri;
    self->iFrom = aFrom;
    self->iTo = aTo;
    self->iContact = aContact;
    self->iContext = aContext;
    return self;
    }