void NetworkSocket_Free(NetworkSocket ** networkSocket)
{
    if (networkSocket && *networkSocket)
    {
        if ((*networkSocket)->Socket != SOCKET_ERROR)
            close((*networkSocket)->Socket);
        if ((*networkSocket)->SocketIPv6 != SOCKET_ERROR)
            close((*networkSocket)->SocketIPv6);
        if ((*networkSocket)->BindAddress)
            NetworkAddress_Free(&(*networkSocket)->BindAddress);
        free(*networkSocket);
        *networkSocket = NULL;
    }
}
int coap_ResolveAddressByURI(unsigned char * address, AddressType * addr)
{
    int result = -1;

    Lwm2m_Debug("resolve address from Uri: %s\n", address);
    NetworkAddress * networkAddress = NetworkAddress_New(address, strlen(address));
    if (networkAddress)
    {
        NetworkAddress_SetAddressType(networkAddress, addr);
        NetworkAddress_Free(&networkAddress);
        result = 0;
    }
    return result;
}