Adding Unsupported Phones

From Taridium

Revision as of 21:03, 27 October 2009 by Webmaster (Talk | contribs)
Jump to: navigation, search

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.

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. Edit Destination 1 and enter /tftpboot/MN_%%MAC%%.cfg
  4. Click on add Template
  5. Once the template has been added, click on Template 1edit button to open the template editor and copy & paste the following template definition:
<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 service dhcpd restart to activate the changes.

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