Adding Unsupported Phones

From Taridium

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

Contents

Adding unsupported Phones

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).

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.

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.

  1. Load an existing template, for example Aastra 5xi Series, adjust any parameters if necessary.
  2. Edit Destination 1 as /tftpboot/MN_%%MAC%%.cfg
  3. Click on add Template
  4. Once the template has been added, click on Template 1' edit button 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="5330"></Key>
      <Key Line="26" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="27" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="28" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="29" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="30" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></Key>
      <Key Line="31" Fea="0" Des="" Addr="" Addr2="" Mode="1" Mode2="1" UserID=""></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="0" Des="" 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="0" Des="" 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="0" Des="" 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></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

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;
                option option-129 192.168.35.200;
        }
 
 ....
 
}
Personal tools
Namespaces
Variants
Actions
Toolbox