CAResult_t CAInitialize()
{
    OIC_LOG_V(DEBUG, TAG, "CAInitialize");

    CASetMessageHandlerCallback(CAMessageHandler);

    CAResult_t res = CAInitializeMessageHandler();

    if (res != CA_STATUS_OK)
    {
        return res;
    }

    return CA_STATUS_OK;
}
CAResult_t CAInitialize()
{
    OIC_LOG(DEBUG, TAG, "CAInitialize");

    if (!g_isInitialized)
    {
        CAResult_t res = CAInitializeMessageHandler();
        if (res != CA_STATUS_OK)
        {
            OIC_LOG(ERROR, TAG, "CAInitialize has failed");
            return res;
        }
        g_isInitialized = true;
    }
    return CA_STATUS_OK;
}
CAResult_t CAInitialize()
{
    OIC_LOG_V(DEBUG, TAG, "IoTivity version is v%s", IOTIVITY_VERSION);
    OIC_LOG(DEBUG, TAG, "CAInitialize");

    if (!g_isInitialized)
    {
        if (0 != OCSeedRandom())
        {
            OIC_LOG(ERROR, TAG, "Seed Random Failed");
        }

        CAResult_t res = CAInitializeMessageHandler();
        if (res != CA_STATUS_OK)
        {
            OIC_LOG(ERROR, TAG, "CAInitialize has failed");
            return res;
        }
        g_isInitialized = true;
    }

    return CA_STATUS_OK;
}