CSIPConnection Class Reference

#include <mw/sipconnection.h>

Link against: sipclient.lib

class CSIPConnection : public CBase

Inherits from

  • CSIPConnection

    Detailed Description

    Class for monitoring connection's state and sending SIP requests outside the dialog associations. Class must not be used
    • for sending requests to which received non-failure response creates a dialog

    • for sending requests that must be sent within SIP dialog

    Note that the user can have only one instance of the class per same IAP-id.

    Member Enumeration Documentation

    Enum TState

    Connection states

    EnumeratorValueDescription
    EInit1

    Connection initializing

    EActive

    Connection active

    ESuspended

    Connection suspended

    EInactive

    Connection is inactive

    EUnavailable

    Connection is permanently unavailable

    Constructor & Destructor Documentation

    ~CSIPConnection ( )

    IMPORT_C~CSIPConnection()
    Destructor
    capability
    NetworkServices

    Member Function Documentation

    FetchRegistrationsL ( CSIPRequestElements * )

    IMPORT_C CSIPClientTransaction *FetchRegistrationsL(CSIPRequestElements *aElements)
    Creates SIP REGISTER request and sends it to the given destination. User must no define any Contact or Expires-headers in the provided elements.
    Pre-condition
    State() == EActive

    aElements != 0 aElements->Method().DesC().Length()==0

    leave
    KErrArgument if aElements == 0 or if the request method has been defined in aElements
    capability
    NetworkServices
    ParameterDescription
    aElementscontains local and remote addresses, optional SIP message headers and body. User must not set any expires values to aElements. The ownership is transferred.

    Returns: SIP REGISTER client transaction, ownership is transferred

    GetConnectionErrorL ( TInt & )

    IMPORT_C voidGetConnectionErrorL(TInt &aError)const
    Gets the connection error code
    leave
    a system-wide error code
    capability
    NetworkServices.
    ParameterDescription
    aErrorwill be filled with the error code

    GetLocalAddrL ( TInetAddr & )

    IMPORT_C voidGetLocalAddrL(TInetAddr &aAddr)const
    Gets the local IP address of this CSIPConnection that is used by the SIP implementation. The user should re-new the call whenever the connection state changes to the CSIPConnection::EActive in order to verify the correctness of the previously retrieved local IP address. The local IP address might be different as a result of the connection state change.
    Pre-condition
    State() == CSIPConnection::EActive
    leave
    a system-wide error code
    ParameterDescription
    aAddron return filled with local IP address

    IapId ( )

    IMPORT_C TUint32IapId()const

    Gets Iap-id used for this connection

    Returns: Iap-id

    Implementation ( )

    CSIPConnectionImplementation &Implementation()

    Returns the implementation instance.

    Returns: CSIPConnectionImplementation

    NewL ( CSIP &, TUint32, MSIPConnectionObserver & )

    IMPORT_C CSIPConnection *NewL(CSIP &aSIP,
    TUint32aIapId,
    MSIPConnectionObserver &aObserver
    )[static]
    Two-phased constructor.
    capability
    NetworkServices
    ParameterDescription
    aIapIdIAP-id
    aObservera observer for receiving asynchonous events on this connection

    Returns: New object, ownership is transferred

    NewLC ( CSIP &, TUint32, MSIPConnectionObserver & )

    IMPORT_C CSIPConnection *NewLC(CSIP &aSIP,
    TUint32aIapId,
    MSIPConnectionObserver &aObserver
    )[static]
    Two-phased constructor. Constructs an object and adds the pointer to the cleanup stack;
    capability
    NetworkServices
    ParameterDescription
    aIapIdIAP-id
    aObservera observer for receiving asynchonous events on this connection

    Returns: New object, ownership is transferred

    RefreshConnection ( )

    IMPORT_C voidRefreshConnection()const
    Refreshes the connection. This will retrieve the Bearer Monitor Instance if any, is available for this CSIPConnection and issue a Connection Refresh Request to it. The state of the Connection can be retrieved from State() to check if there is any change after Refreshing the connection.
    capability
    NetworkServices.

    SIP ( )

    IMPORT_C CSIP *SIP()

    Gets SIP server handle

    Returns: handle to SIP server, or 0-pointer if SIP server does not exist any more

    SIP ( )

    IMPORT_C const CSIP *SIP()const

    Gets SIP server handle

    Returns: handle to SIP server, or 0-pointer if SIP server does not exist any more

    SendRequestL ( CSIPRequestElements *, const MSIPRegistrationContext & )

    IMPORT_C CSIPClientTransaction *SendRequestL(CSIPRequestElements *aElements,
    const MSIPRegistrationContext &aContext
    )
    Creates SIP request and sends it to the given destination. The function must not be used with SIP requests that creates SIP dialog associations or must be sent within SIP dialog association. This provokes the Non-invite state machine. This function must be used if the user has created the registration binding.
    Pre-condition
    State() == EActive.

    aContext.IsContextActive() == ETrue

    leave
    KErrArgument if aElements == 0
    leave
    KErrSIPInvalidRegistrationState if aContext.IsContextActive() == EFalse
    capability
    NetworkServices
    ParameterDescription
    aElementscontains local and remote addresses, optional SIP message headers and body. The ownership is transferred.
    aContextdefines outbound proxy to be used. If the user does not provide from-address it will be constucted using user's AOR used during the registration.

    Returns: SIP client transaction, ownership is transferred

    SendRequestL ( CSIPRequestElements *, const MSIPRegistrationContext &, CSIPRefresh & )

    IMPORT_C CSIPClientTransaction *SendRequestL(CSIPRequestElements *aElements,
    const MSIPRegistrationContext &aContext,
    CSIPRefresh &aRefresh
    )
    Creates SIP request and sends it to the given destination. The function must not be used with SIP requests that creates SIP dialog associations or must be sent within SIP dialog association. This provokes the Non-invite state machine. This function must be used if the user has created the registration binding.
    Pre-condition
    State() == EActive.

    aContext.IsContextActive() == ETrue

    leave
    KErrArgument if aElements == 0
    leave
    KErrSIPInvalidRegistrationState if aContext.IsContextActive() == EFalse
    capability
    NetworkServices
    ParameterDescription
    aElementscontains local and remote addresses, optional SIP message headers and body. The ownership is transferred.
    aContextdefines outbound proxy to be used. If the user does not provide from-address it will be constucted using user's AOR used during the registration.
    aRefreshdefines the refresh interval for this transaction.

    Returns: SIP client transaction, ownership is transferred

    SendRequestL ( CSIPRequestElements * )

    IMPORT_C CSIPClientTransaction *SendRequestL(CSIPRequestElements *aElements)
    Creates SIP request and sends it to the given destination. The function must not be used with SIP requests that creates SIP dialog associations or must be sent within SIP dialog association. This invokes the Non-invite state machine.
    Pre-condition
    State() == EActive.

    aElements.FromHeader() != 0

    leave
    KErrArgument if aElements == 0 or if From-header is not present in aElements
    capability
    NetworkServices
    ParameterDescription
    aElementscontains local and remote addresses, optional SIP message headers and body. The ownership is transferred.

    Returns: SIP client transaction, ownership is transferred

    SendRequestL ( CSIPRequestElements *, CSIPRefresh & )

    IMPORT_C CSIPClientTransaction *SendRequestL(CSIPRequestElements *aElements,
    CSIPRefresh &aRefresh
    )
    Creates SIP request and sends it to the given destination. The function must not be used with SIP requests that creates SIP dialog associations or must be sent within SIP dialog association. This invokes the Non-invite state machine.
    Pre-condition
    State() == EActive.

    aElements.FromHeader() != 0

    leave
    KErrArgument if aElements == 0 or if From-header is not present in aElements
    capability
    NetworkServices
    ParameterDescription
    aElementscontains local and remote addresses, optional SIP message headers and body. The ownership is transferred.
    aRefreshindicates that transaction will be refreshed

    Returns: SIP client transaction, ownership is transferred

    SetOptL ( TUint, TUint, const TDesC8 & )

    IMPORT_C voidSetOptL(TUintaOptionName,
    TUintaOptionLevel,
    const TDesC8 &aOption =  KNullDesC8
    )
    Sets a RSocket option used for all the sockets used for sending SIP requests and responses in this CSIPConnection.
    Pre-condition
    State() == EActive
    leave
    A system-wide error code
    capability
    NetworkControl
    capability
    NetworkServices
    capability
    Location
    capability
    ReadDeviceData
    capability
    WriteDeviceData
    ParameterDescription
    aOptionNameAn integer constant which identifies an option.
    aOptionLevelAn integer constant which identifies level of an option.
    aOptionOption value packaged in a descriptor.

    SetOptL ( TUint, TUint, TInt )

    IMPORT_C voidSetOptL(TUintaOptionName,
    TUintaOptionLevel,
    TIntaOption
    )
    Sets a RSocket option used for all the sockets used for sending SIP requests and responses in this CSIPConnection.
    Pre-condition
    State() == EActive
    leave
    A system-wide error codes
    capability
    NetworkControl
    capability
    NetworkServices
    capability
    Location
    capability
    ReadDeviceData
    capability
    WriteDeviceData
    ParameterDescription
    aOptionNameAn integer constant which identifies an option.
    aOptionLevelAn integer constant which identifies level of an option.
    aOptionOption value as an integer.

    State ( )

    IMPORT_C TStateState()const

    Gets current state of the connection

    Returns: current state of the connection