Provisioning

From MiRTA PBX documentation
Jump to navigation Jump to search

Provisioning of phones is phone independent, meaning MiRTA PBX has no knowledge of the various brands or models, but offers a generic framework to create a template and use some variables. Some variables are already stored in the system, but more can be added easily. Provisioning is made over HTTP and HTTPS. Obviously it is preferable to provision over HTTPS to avoid having SIP credentials to travel in clear over the Internet. Some brand of phones are quite picky about the certificate authority used for the SSL, so in case of problems, it can be good to make a test using HTTP or check the phone configuration about third party CA.

Some phone templates are provided as proof of concept, but they are not supposed to be neither complete neither accurate.

Phone Models

Several phone models can be defined. For each phone model the number of lines needs to be defined, usually with the starting and ending line number. Please refer to the phone's provisioning guide to customize or create new templates.

Phonemodes.png

A phone template can be "locked" to prevent any accidental modification. You can easily duplicate a provisioning template using the action icon on the right

For each phone you can define a generic name, an option description, the first and last account number, the mac request template, the directory request template, the remote provisioning POST message along with the credentials to use for remote provisioning. Remote provisioning is the ability of some manufacturer to deliver a phone configuration just out of the box, like Yealink RPS and Polycom ZTP.

The template may contain variables in the general format ${name|default|type|options}.

Some variables are predefined and are read directly from the system configuration:

  • line_active – Always 1
  • displayname – Name of the Extension assigned
  • virtualdisplayname – Name of the Virtual Extension assigned
  • username – SIP username
  • authname - SIP username
  • number – Number of the Extension assigned
  • virtualnumber – Number of the Virtual Extension assigned
  • secret – Password of the Extension assigned
  • index - The position of the account starting from the first line defined
  • tenantcode - The account code for tenant
  • subscribemwi - The option configured for "Send MWI only if subscribed"
  • mailbox - The mailbox associated to the extension
  • transport - The transport used for the extension (asterisk notation: udp, tcp and tls)
  • transportY - The transport used for the extension (Yealink notation: 0 for udp, 1 for tcp and 2 for tls)
  • transportP - The transport used for the extension (Polycom notation: UDPOnly for udp, TCPOnly for tcp and TLS for tls)
  • codecs - The codecs configured for the extension (asterisk notation)
  • line – Order position of the line (usually 1, 2, 3, etc)
  • line_m1 - Order position of the line (usually 1, 2, 3, etc)
  • key - Order position of the line (usually 1, 2, 3, etc)
  • index - Order position of the line, always starting by 1
  • mac – Mac Address of the phone, without :
  • provisionpassword – Password for provisioning URL

It is possible to define loops in the template using the {line_loop} and {/line_loop} keywords. Each variable used needs to be defined in the “Variables” menu. In case a variable is not defined, an alert message will be shown. A default value can be defined for the variable, using the | character, like: {$server_host|demo.mirtapbx.com} To help users in configuring their system, you can specify the editing box type, so if by default is a text type as in: