Adding Unsupported Phones

From Taridium

Jump to: navigation, search

While you can easily connect any SIP 2.0 compliant endpoint to ipbx by entering user account information manually, it sometimes is easier to use automatic provisioning.

ipbx's provisioning engine is capable of provisioning nearly any type of SIP/IAX phone that supports text based configuration files. Pay close attention to read/write permissions (httpd/apache process) when using non-standard provisioning paths. Any of the paths used by already supported phones should have the correct permissions - if not simply re-configure the type of phone.

The example below shows how to add support for Mitel SIP 5330 phones. You might need to adjust some parameters when using with different Mitel SIP phone models.

Contents

Adding support for Mitel Phones

If you haven't already enabled TFTP, provisioning it is easiest to for example enable auto provisioning for Cisco phones since these phones use TFTP as default provisioning method.

Creating a Mitel 5330 Template

In order for auto provisioning to work you will have to create a SIP channel template. Navigate to SystemSIP ChannelsTemplates and click on add template. You can use a number of variables within your provisioning path(s) and template(s), for further details check Device Template Variables.

  1. Load an existing template, for example Aastra 5xi Series, adjust any parameters if necessary.
  2. Enter a new name for your template, e.g.: Mitel 5330
  3. Under 'Device Configuration' click the 'edit' button for Template 1 and enter /tftpboot/MN_%%MAC%%.cfg as 'Destination'.
  4. Paste the contents below into the editor and pay attention to device template variables.
  5. Click on 'return to update template'
  6. Click on add Template to save your changes
<Parameter Model="5330">
   <dhcpenable>1</dhcpenable>
   <tftp_config>1</tftp_config>
   <pppoe_enable>0</pppoe_enable>
   <tftp_task_enable>1</tftp_task_enable>
   <tftp_upgrade>0</tftp_upgrade>
   <http_upgrade>0</http_upgrade>
   <outbound_state>0</outbound_state>
   <local_sip_port>5060</local_sip_port>
   <tls_port>5061</tls_port>
   <tos>0</tos>
   <e802_priority>-1</e802_priority>
   <vlan_id>-1</vlan_id>
   <host_name>MITEL-%%username%%</host_name>
   <domain>-example.com</domain>
   <addr_type>0</addr_type>
   <hot_line>0</hot_line>
   <hot_address>operator@example.com</hot_address>
   <hot_addr_type>0</hot_addr_type>
   <tls_private_url></tls_private_url>
   <tls_certificate_url></tls_certificate_url>
   <tls_ca_cert_url></tls_ca_cert_url>
   <tls_root_cert_url></tls_root_cert_url>
   <tls_certificate></tls_certificate>
   <tls_ca_cert></tls_ca_cert>
   <tls_root_cert></tls_root_cert>
   <poundkeydial>1</poundkeydial>
   <dialtonekey>12</dialtonekey>
   <htmlpuseraccess>1</htmlpuseraccess>
   <remote_reboot>1</remote_reboot>
   <checkpeercert>0</checkpeercert>
   <sipkeepalive>1</sipkeepalive>
   <!-- default queue information feed -->
   <rss_feed>http://%%eth0%%/ipbx/xml/rss-queue.xml</rss_feed>
   <host_ip></host_ip>
   <video_ip></video_ip>
   <sntp>pool.ntp.org</sntp>
   <time_zone>-5</time_zone>
   <auth_method>2</auth_method>
   <register_expire>7200</register_expire>
   <emerg_number></emerg_number>
   <emerg_ip>0.0.0.0</emerg_ip>
   <emerg_port>5060</emerg_port>
   <audio_codec>5</audio_codec>
   <audio_pkt_size>20</audio_pkt_size>
   <video_codec>0</video_codec>
   <dtmf_type>0</dtmf_type>
   <dtmf_payload>101</dtmf_payload>
   <advisorymsg>0</advisorymsg>
   <reasons>0</reasons>
   <other_reason></other_reason>
   <do_not_disturb>0</do_not_disturb>
   <noans_fwd_mode>0</noans_fwd_mode>
   <try_ring_nums>10</try_ring_nums>
   <noans_fwd_addr></noans_fwd_addr>
   <beep_on_hold>1</beep_on_hold>
   <on_hold_alert>60</on_hold_alert>
   <system_mode>0</system_mode>
   <pppoe_login></pppoe_login>
   <pppoe_passwd>******</pppoe_passwd>
   <callCountIn>0</callCountIn>
   <callCountOut>0</callCountOut>
   <discovery>0</discovery>
   <pbIndex>0</pbIndex>
   <busy_fwd_mode>0</busy_fwd_mode>
   <busy_fwd_addr></busy_fwd_addr>
   <always_fwd_mode>0</always_fwd_mode>
   <always_fwd_addr></always_fwd_addr>
   <pcport>0</pcport>
   <lanport>0</lanport>
   <lcd>5</lcd>
   <lcd_brightness>9</lcd_brightness>
   <rdkw1></rdkw1>
   <rdringtype1>0</rdringtype1>
   <rdvmail1>0</rdvmail1>
   <rdblock1>0</rdblock1>
   <rdkw2></rdkw2>
   <rdringtype2>0</rdringtype2>
   <rdvmail2>0</rdvmail2>
   <rdblock2>0</rdblock2>
   <rdkw3></rdkw3>
   <rdringtype3>0</rdringtype3>
   <rdvmail3>0</rdvmail3>
   <rdblock3>0</rdblock3>
   <rdkw4></rdkw4>
   <rdringtype4>0</rdringtype4>
   <rdvmail4>0</rdvmail4>
   <rdblock4>0</rdblock4>
   <rdkw5></rdkw5>
   <rdringtype5>0</rdringtype5>
   <rdvmail5>0</rdvmail5>
   <rdblock5>0</rdblock5>
   <dtringtype1>0</dtringtype1>
   <dtringtype2>0</dtringtype2>
   <dtringtype3>0</dtringtype3>
   <dtringtype4>0</dtringtype4>
   <dtringtype5>0</dtringtype5>
   <dtringtype6>0</dtringtype6>
   <dtringtype7>0</dtringtype7>
   <dtringtype8>0</dtringtype8>
   <dtringtype9>0</dtringtype9>
   <dtringtype10>0</dtringtype10>
   <dtringtype11>0</dtringtype11>
   <dtringtype12>0</dtringtype12>
   <http_task_enable>1</http_task_enable>
   <https_task_enable>0</https_task_enable>
   <httpport>80</httpport>
   <httpsport>443</httpsport>
   <telnet_task_enable>1</telnet_task_enable>
   <voicemail_ringnum>4</voicemail_ringnum>
   <gruu_ctl>1</gruu_ctl>
   <proxyrequire_ctl>0</proxyrequire_ctl>
   <fwEnable>0</fwEnable>
   <fwWanurl></fwWanurl>
   <sym_udp>0</sym_udp>
   <stunip>213.192.59.75</stunip>
   <fwWanDurl></fwWanDurl>
   <fwMode>0</fwMode>
   <start_port>18000</start_port>
   <end_port>20000</end_port>
   <multi_user_enable>0</multi_user_enable>
   <upgrade>0</upgrade>
   <bksrvtm>3</bksrvtm>
   <ntfcfg>0</ntfcfg>
   <lancode>en_US</lancode>
   <tonecode>US</tonecode>
   <dsmode>1</dsmode>
   <dsmonth>3</dsmonth>
   <dsweek>2</dsweek>
   <dsday>1</dsday>
   <dsemonth>11</dsemonth>
   <dseweek>1</dseweek>
   <dseday>1</dseday>
   <ds_transition_time>2</ds_transition_time>
   <flashVer>201</flashVer>
   <http_download>sipdnld.mitel.com</http_download>
   <tftp>%%eth0%%</tftp>
   <downloadtype>1</downloadtype>
   <dialpl></dialpl>
   <gtEnable>0</gtEnable>
   <dtimer>3</dtimer>
   <autoanswer>0</autoanswer>
   <ringPitch>0</ringPitch>
   <keysys_enable>0</keysys_enable>
   <pbName1></pbName1>
   <pbaddr1></pbaddr1>
   <pbName2></pbName2>
   <pbaddr2></pbaddr2>
   <pbName3></pbName3>
   <pbaddr3></pbaddr3>
   <pbName4></pbName4>
   <pbaddr4></pbaddr4>
   <pbName5></pbName5>
   <pbaddr5></pbaddr5>
   <pbName6></pbName6>
   <pbaddr6></pbaddr6>
   <pbName7></pbName7>
   <pbaddr7></pbaddr7>
   <pbName8></pbName8>
   <pbaddr8></pbaddr8>
   <pbName9></pbName9>
   <pbaddr9></pbaddr9>
   <pbName10></pbName10>
   <pbaddr10></pbaddr10>
   <pbName11></pbName11>
   <pbaddr11></pbaddr11>
   <pbName12></pbName12>
   <pbaddr12></pbaddr12>
   <pbName13></pbName13>
   <pbaddr13></pbaddr13>
   <pbName14></pbName14>
   <pbaddr14></pbaddr14>
   <pbName15></pbName15>
   <pbaddr15></pbaddr15>
   <pbName16></pbName16>
   <pbaddr16></pbaddr16>
   <pbName17></pbName17>
   <pbaddr17></pbaddr17>
   <pbName18></pbName18>
   <pbaddr18></pbaddr18>
   <pbName19></pbName19>
   <pbaddr19></pbaddr19>
   <pbName20></pbName20>
   <pbaddr20></pbaddr20>
   <pbName21></pbName21>
   <pbaddr21></pbaddr21>
   <pbName22></pbName22>
   <pbaddr22></pbaddr22>
   <pbName23></pbName23>
   <pbaddr23></pbaddr23>
   <pbName24></pbName24>
   <pbaddr24></pbaddr24>
   <pbName25></pbName25>
   <pbaddr25></pbaddr25>
   <pbName26></pbName26>
   <pbaddr26></pbaddr26>
   <pbName27></pbName27>
   <pbaddr27></pbaddr27>
   <pbName28></pbName28>
   <pbaddr28></pbaddr28>
   <pbName29></pbName29>
   <pbaddr29></pbaddr29>
   <pbName30></pbName30>
   <pbaddr30></pbaddr30>
   <pbName31></pbName31>
   <pbaddr31></pbaddr31>
   <pbName32></pbName32>
   <pbaddr32></pbaddr32>
   <pbName33></pbName33>
   <pbaddr33></pbaddr33>
   <pbName34></pbName34>
   <pbaddr34></pbaddr34>
   <pbName35></pbName35>
   <pbaddr35></pbaddr35>
   <pbName36></pbName36>
   <pbaddr36></pbaddr36>
   <pbName37></pbName37>
   <pbaddr37></pbaddr37>
   <pbName38></pbName38>
   <pbaddr38></pbaddr38>
   <pbName39></pbName39>
   <pbaddr39></pbaddr39>
   <pbName40></pbName40>
   <pbaddr40></pbaddr40>
   <pbName41></pbName41>
   <pbaddr41></pbaddr41>
   <pbName42></pbName42>
   <pbaddr42></pbaddr42>
   <pbName43></pbName43>
   <pbaddr43></pbaddr43>
   <pbName44></pbName44>
   <pbaddr44></pbaddr44>
   <pbName45></pbName45>
   <pbaddr45></pbaddr45>
   <pbName46></pbName46>
   <pbaddr46></pbaddr46>
   <pbName47></pbName47>
   <pbaddr47></pbaddr47>
   <pbName48></pbName48>
   <pbaddr48></pbaddr48>
   <pbName49></pbName49>
   <pbaddr49></pbaddr49>
   <pbName50></pbName50>
   <pbaddr50></pbaddr50>
   <pbName51></pbName51>
   <pbaddr51></pbaddr51>
   <pbName52></pbName52>
   <pbaddr52></pbaddr52>
   <pbName53></pbName53>
   <pbaddr53></pbaddr53>
   <pbName54></pbName54>
   <pbaddr54></pbaddr54>
   <pbName55></pbName55>
   <pbaddr55></pbaddr55>
   <pbName56></pbName56>
   <pbaddr56></pbaddr56>
   <pbName57></pbName57>
   <pbaddr57></pbaddr57>
   <pbName58></pbName58>
   <pbaddr58></pbaddr58>
   <pbName59></pbName59>
   <pbaddr59></pbaddr59>
   <pbName60></pbName60>
   <pbaddr60></pbaddr60>
   <snmp>0</snmp>
   <srtp>0</srtp>
   <pkDescription>
      <Key Line="25" Fea="6" Des="Line 1" Addr="" Addr2="" Mode="1" Mode2="1" UserID="%%username%%"></Key>
      <Key Line="26" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="27" Fea="7" Des="Line 2" Addr="" Addr2="" Mode="1" Mode2="1" UserID="%%username%%"></Key>
      <Key Line="28" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="29" Fea="8" Des="Line 3" Addr="" Addr2="" Mode="1" Mode2="1" UserID="%%username%%"></Key>
      <Key Line="30" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="31" Fea="9" Des="Line 4" Addr="" Addr2="" Mode="1" Mode2="1" UserID="%%username%%"></Key>
      <Key Line="32" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="33" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="34" Fea="17" Des="DND" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="35" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="36" Fea="4" Des="Headset" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="37" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="38" Fea="2" Des="Call Logs" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="39" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="40" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="41" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="42" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="43" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="44" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="45" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="46" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="47" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="48" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="49" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="50" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="51" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="52" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="53" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="54" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="55" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="56" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="57" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="58" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="59" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="60" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="61" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="62" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="63" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="64" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="65" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="66" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="67" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="68" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="69" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="70" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="71" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="72" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
   </pkDescription>
   <webdialurl></webdialurl>
   <cw_tone>1</cw_tone>
   <missedcallsctl>1</missedcallsctl>
   <callforwardctl>1</callforwardctl>
   <lcdbacklightctl>1</lcdbacklightctl>
   <time_format>1</time_format>
   <csta_enable>0</csta_enable>
   <csta_passwd>******</csta_passwd>
   <cfg_poll_timer>1440</cfg_poll_timer>
   <reboot_phone>1</reboot_phone>
   <firmware_timer>1440</firmware_timer>
   <firmware_abs_timer_hr>23</firmware_abs_timer_hr>
   <firmware_abs_timer_min>59</firmware_abs_timer_min>
   <firmware_abs_enable>1</firmware_abs_enable>
   <installer_passcode></installer_passcode>
   <user_passwd>5d41402abc4b2a76b9719d911017c592</user_passwd>
   <web_logo1></web_logo1>
   <sip_mode>sip</sip_mode>
   <voicemail_key>*86</voicemail_key>
   <html_enable>1</html_enable>
   <html_filename></html_filename>
   <facDef>90</facDef>
   <user_list>
      <User State="1" ID="%%username%%" DispName="%%calleridname%%" Pwd="%%secret%%" AuthName="%%username%%" Realm="" RegSvr="%%eth0%%" RegPort="5060" RegScheme="2" ProxySvr="%%eth0%%" ProxyPort="5060" ProxyScheme="2" VMSvr="" VMPort="5060" VMScheme="2" OutSvr="" OutPort="5060" OutCtr="0" Ring="1" Line="0" EventSvr="" EventPort="5060" EventScheme="2" NatMode="0" NatType="option" NatIp="0"></User>
   </user_list>
   <cfg_version>7.1</cfg_version>
   </Parameter>

Pay attention to the %%eth0%% variable and whether it corresponds to the correct network interface.

Configuring DHCP

The Mitel phones will require some modifications to your DHCP configuration. Include the following to the top portion of your /etc/dhcpd.conf file:

  option option-128 code 128 = ip-address;
  option option-130 code 130 = text;
  option option-132 code 132 = string;
  option option-133 code 133 = string; 
  option option-129 code 129 = ip-address;

Add the section below to your subnet section:


subnet 192.168.55.0 netmask 255.255.255.0 {

 ....

        class "MITEL" {
                match if substring(hardware, 1, 3) = 08:00:0F;
                option option-130 "MITEL IP PHONE";
                option option-132 "";
                option option-133 "6"; 
                option option-128 192.168.35.200; # your ipbx
                option option-129 192.168.35.200; # your ipbx
        }
 
 ....
 
}

restart your DHCP service using the following command

[root@ipbx ~]# service dhcpd restart 

to activate the changes.

Accessing the Web Interface

On the phone, press the Superkey (or Menu with some inserts) key and then the first line key. The display will now show you the IP address of your set. On your PC, point your web browser to that IP address. The default user name is "admin" and password is "5330" (or the model number if you are using a different phone).

Note: The web management feature uses some peculiar scripting that works only with IE.

Add a New Mitel User

Go to SystemUseradd user and create a new user using the newly created Mitel 5330 channel template adding the correct MAC address for the phone. Check SystemDevices for the generated XML template by clicking on view file 1.

Plug-in your phone and watch it re-configure itself.

Note: Most SIP capable Mitel phones are shipped with the default MiNET protocol enabled. Press the * and 7 keys simultaneously during boot until the phone prompts you to switch to the SIP protocol.

Personal tools
Namespaces
Variants
Actions
Toolbox