Jabber device name function
---------------------------

.. index:: Macro function;fn.jabber_device_name



* *fn.jabber_device_name*: Given a Jabber device type string and a username,
  return a unique Jabber device name with prefix of the associated type.
  The maximum allowed total length is 15 characters.

  
  Jabber device type strings and automatic prefixes:
  
  * 'Cisco Dual Mode for Android': 'BOT'
  * 'Cisco Jabber for Tablet': 'TAB'
  * 'Cisco Dual Mode for iPhone': 'TCT'
  * 'Cisco Unified Client Services Framework': 'CSF'


  The function generates the device name in the following format:

  *<device type prefix><username hash><random number>*


  The total length of the generated devicename is 14 characters.

.. note::

   * Non-alphanumeric characters in usernames are replaced by
     zeros (0). Letters are capitalized.
   * If the username is longer than 8 characters, it is truncated
     to 8 characters. Then the random number has a length of 3 numbers. 

     Example with username "D'Malleybazfrobbleverylongname": ``TCTD0MALLEY218``
   * If the username is shorter than 8 characters, all characters
     are used. The random number has a length to make up a total
     of 11 characters. 
     
     Example with username 'FOO': ``TCTFOO00183752``
   * The generated name is checked against existing device names
     and the random number is regenerated until the name is unique.
  

.. tabularcolumns:: |p{9cm}|p{6cm}|

+-----------------------------------------+-------------------+
|  Example                                | Output            |
+=========================================+===================+
|                                         |                   |
| ::                                      | ::                |
|                                         |                   |
|    {{ fn.jabber_device_name             |    TCTD0MALLEY218 |
|       'Cisco Dual Mode for iPhone',     |                   |
|       D'Malleybazfrobbleverylongname }} |                   |
|                                         |                   |
+-----------------------------------------+-------------------+

.. |VOSS Automate| replace:: VOSS Automate
.. |Unified CM| replace:: Unified CM
