Printable E.164 (The international public telecommunication numbering plan
    from ITU) numbers.

    :param number: string

    >>> print(e164(155542315678))
    +155542315678
    >>> print(e164('+31 20 5423 1567'))
    +312054231567

def e164(number):
    '''
    Printable E.164 (The international public telecommunication numbering plan
    from ITU) numbers.

    :param number: string

    >>> print(e164(155542315678))
    +155542315678
    >>> print(e164('+31 20 5423 1567'))
    +312054231567
    '''
    if isinstance(number, six.integer_types):
        return e164('+%s' % number)

    elif isinstance(number, six.string_types):
        number = strip(number, '-. ()')
        if number.startswith('+'):
            number = number[1:]

        return u'+%s' % number