natural.phone

natural.phone.e123(number, areasize=3, groupsize=4, national=False)

Printable E.123 (Notation for national and international telephone numbers from ITU) numbers.

Parameters:
  • number – string
  • areasize – int
  • groupsize – int
  • national – bool
>>> e123(155542315678)
'+1 555 4231 5678'
>>> e123('+31654231567', areasize=1)
'+31 6 5423 1567'
>>> e123('+3114020', areasize=2)
'+31 14 020'
>>> e123('+312054231567', areasize=2, national=True)
'(020) 5423 1567'
natural.phone.e161(number, alphabet={u'#': u'#', u'8tuv': u'8', u'3def': u'3', u'6mno': u'6', u'4ghi': u'4', u'*': u'*', u'1': u'1', u'0': u'0', u'2abc': u'2', u'5jkl': u'5', u'7prqs': u'7', u'9xyz': u'9'})

Printable a 26 Latin letters (A to Z) phone number to the 12-key telephone keypad number.

Parameters:
  • number – string
  • alphabet – dict
>>> e161('0800-PIZZA123')
'080074992123'
>>> e161('0800^PIZZA123')
Traceback (most recent call last):
    ...
ValueError: Character "^" (0x5e) is not in the E.161 alphabet
natural.phone.e164(number)

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

Parameters:number – string
>>> e164(155542315678)
'+155542315678'
>>> e164('+31 20 5423 1567')
'+312054231567'
natural.phone.enum(number, zone='e164.arpa')

Printable DNS ENUM (telephone number mapping) record.

Parameters:
  • number – string
  • zone – string
>>> enum('+31 20 5423 1567')
'7.6.5.1.3.2.4.5.0.2.1.3.e164.arpa.'
>>> enum('+31 97 99 6642', zone='e164.spacephone.org')
'2.4.6.6.9.9.7.9.1.3.e164.spacephone.org.'
natural.phone.imei(number)

Printable International Mobile Station Equipment Identity (IMEI) numbers.

Parameters:number – string or int
>>> imei(12345678901234)
'12-345678-901234-7'
>>> imei(1234567890123456)
'12-345678-901234-56'
natural.phone.imsi(number)

Printable International Mobile Subscriber Identity (IMSI) numbers. Mind that there is no validation done on the actual correctness of the MCC/MNC. If you wish to validate IMSI numbers, take a look at python-stdnum.

Parameters:number – string or int
>>> imsi(2042312345)
'204-23-12345'
natural.phone.meid(number, separator=u' ')

Printable Mobile Equipment Identifier (MEID) number.

>>> meid(123456789012345678)
'1B 69B4BA 630F34 6'
>>> meid('1B69B4BA630F34')
'1B 69B4BA 630F34 6'
natural.phone.pesn(number, separator=u'')

Printable Pseudo Electronic Serial Number.

Parameters:number – hexadecimal string
>>> pesn('1B69B4BA630F34E')
'805F9EF7'