Hi ,

I was going through the list of issues and I found XCF-1706 as interesting , and I started working on it.
I am sending the patch for the issue to review it in this mail.

Status of patch :
  • Added P1 - P12 function keys to GUI.
  • Added settings for P1 - P12 function keys to snom configuration file.
  • Completed unit testing for snom configuration file.
  • Also tested the RPM's and its working fine.
After working on this I found that snom 300 phones have only 6 Free function key ( P1 - P6), so the next phase to work on this issue is :
  • only for Snom 300 phones the function keys from P7 - P12 should be hidden from the configui.
  • Settings for function keys P7 - P12 can remain in configuration files as  snom phones  considers the remaining fkey settings as  expansion  model  settings as per the settings shown in web-ui for snom phones.
Please review the patch and let me know if any corrections and also suggest  me  with any idea on  to work on  the second phase of this issue.

Index: main/sipXconfig/neoconf/test/org/sipfoundry/sipxconfig/phone/snom/expected-360.cfg
===================================================================
--- main/sipXconfig/neoconf/test/org/sipfoundry/sipxconfig/phone/snom/expected-360.cfg	(revision 13167)
+++ main/sipXconfig/neoconf/test/org/sipfoundry/sipxconfig/phone/snom/expected-360.cfg	(working copy)
@@ -343,3 +343,28 @@
 codec_size4: 20
 user_srtp4: off
 # address book
+# Function Keys
+fkey0!: line 
+fkey1!: line 
+fkey2!: line 
+fkey3!: line 
+fkey4!: line 
+fkey5!: line 
+fkey6!: line 
+fkey7!: line 
+fkey8!: line 
+fkey9!: line 
+fkey10!: line 
+fkey11!: line 
+fkey_context0!: active
+fkey_context1!: active
+fkey_context2!: active
+fkey_context3!: active
+fkey_context4!: active
+fkey_context5!: active
+fkey_context6!: active
+fkey_context7!: active
+fkey_context8!: active
+fkey_context9!: active
+fkey_context10!: active
+fkey_context11!: active
Index: main/sipXconfig/neoconf/etc/snom/types.xml
===================================================================
--- main/sipXconfig/neoconf/etc/snom/types.xml	(revision 13167)
+++ main/sipXconfig/neoconf/etc/snom/types.xml	(working copy)
@@ -107,6 +107,9 @@
 <type id="fkey-context">
   <enum>
     <option>
+      <value>active</value>
+    </option>
+    <option>
       <value>1</value>
     </option>
     <option>
Index: main/sipXconfig/neoconf/etc/snom/phone.properties
===================================================================
--- main/sipXconfig/neoconf/etc/snom/phone.properties	(revision 13167)
+++ main/sipXconfig/neoconf/etc/snom/phone.properties	(working copy)
@@ -22,10 +22,11 @@
 type.fkey.speed=Speed Dial
 type.fkey.none=None
 
-#type.fkey-context.1=
-#type.fkey-context.2=
-#type.fkey-context.3=
-#type.fkey-context.4=
+type.fkey-context.active=Active
+type.fkey-context.1=1
+type.fkey-context.2=2
+type.fkey-context.3=3
+type.fkey-context.4=4
 type.fkey-context.5=5 (Snom 320/360)
 type.fkey-context.6=6 (Snom 320/360)
 type.fkey-context.7=7 (Snom 320/360)
@@ -898,3 +899,65 @@
 Other.xml_notify.label=XML Notify
 Other.xml_notify.description=If set to "on", the phone will display Mini-browser content which it received through a SIP Notify \
  message
+
+fkeys.label=Function Key
+
+fkeys.fkey0.label=P1
+fkeys.fkey0.context.label=Context
+fkeys.fkey0.type.label=Type
+fkeys.fkey0.number.label=Number
+
+fkeys.fkey1.label=P2
+fkeys.fkey1.context.label=Context
+fkeys.fkey1.type.label=Type
+fkeys.fkey1.number.label=Number
+
+fkeys.fkey2.label=P3
+fkeys.fkey2.context.label=Context
+fkeys.fkey2.type.label=Type
+fkeys.fkey2.number.label=Number
+
+fkeys.fkey3.label=P4
+fkeys.fkey3.context.label=Context
+fkeys.fkey3.type.label=Type
+fkeys.fkey3.number.label=Number
+
+fkeys.fkey4.label=P5
+fkeys.fkey4.context.label=Context
+fkeys.fkey4.type.label=Type
+fkeys.fkey4.number.label=Number
+
+fkeys.fkey5.label=P6
+fkeys.fkey5.context.label=Context
+fkeys.fkey5.type.label=Type
+fkeys.fkey5.number.label=Number
+
+fkeys.fkey6.label=P7
+fkeys.fkey6.context.label=Context
+fkeys.fkey6.type.label=Type
+fkeys.fkey6.number.label=Number
+
+fkeys.fkey7.label=P8
+fkeys.fkey7.context.label=Context
+fkeys.fkey7.type.label=Type
+fkeys.fkey7.number.label=Number
+
+fkeys.fkey8.label=P9
+fkeys.fkey8.context.label=Context
+fkeys.fkey8.type.label=Type
+fkeys.fkey8.number.label=Number
+
+fkeys.fkey9.label=P10
+fkeys.fkey9.context.label=Context
+fkeys.fkey9.type.label=Type
+fkeys.fkey9.number.label=Number
+
+fkeys.fkey10.label=P11
+fkeys.fkey10.context.label=Context
+fkeys.fkey10.type.label=Type
+fkeys.fkey10.number.label=Number
+
+fkeys.fkey11.label=P12
+fkeys.fkey11.context.label=Context
+fkeys.fke11.type.label=Type
+fkeys.fkey11.number.label=Number
Index: main/sipXconfig/neoconf/etc/snom/phone.xml
===================================================================
--- main/sipXconfig/neoconf/etc/snom/phone.xml	(revision 13167)
+++ main/sipXconfig/neoconf/etc/snom/phone.xml	(working copy)
@@ -1672,4 +1672,214 @@
       <value>on</value>
     </setting>
   </group>
+  <group name="fkeys">
+    <group name="fkey0">
+      <setting name="context">
+        <type refid="fkey-context" />
+        <value>active</value>
+      </setting>
+      <setting name="type">
+        <type refid="fkey" />
+        <value>line</value>
+      </setting>
+      <setting name="number">
+        <type>
+          <integer />
+        </type>
+        <value></value>
+      </setting>
+    </group>
+    <group name="fkey0">
+      <setting name="context">
+        <type refid="fkey-context" />
+        <value>active</value>
+      </setting>
+      <setting name="type">
+        <type refid="fkey" />
+        <value>line</value>
+      </setting>
+      <setting name="number">
+        <type>
+          <integer />
+        </type>
+        <value></value>
+      </setting>
+    </group>
+    <group name="fkey1">
+      <setting name="context">
+        <type refid="fkey-context" />
+        <value>active</value>
+      </setting>
+      <setting name="type">
+        <type refid="fkey" />
+        <value>line</value>
+      </setting>
+      <setting name="number">
+        <type>
+          <integer />
+        </type>
+        <value></value>
+      </setting>
+    </group>
+    <group name="fkey2">
+      <setting name="context">
+        <type refid="fkey-context" />
+        <value>active</value>
+      </setting>
+      <setting name="type">
+        <type refid="fkey" />
+        <value>line</value>
+      </setting>
+      <setting name="number">
+        <type>
+          <integer />
+        </type>
+        <value></value>
+      </setting>
+    </group>
+    <group name="fkey3">
+      <setting name="context">
+        <type refid="fkey-context" />
+        <value>active</value>
+      </setting>
+      <setting name="type">
+        <type refid="fkey" />
+        <value>line</value>
+      </setting>
+      <setting name="number">
+        <type>
+          <integer />
+        </type>
+        <value></value>
+      </setting>
+    </group>
+    <group name="fkey4">
+      <setting name="context">
+        <type refid="fkey-context" />
+        <value>active</value>
+      </setting>
+      <setting name="type">
+        <type refid="fkey" />
+        <value>line</value>
+      </setting>
+      <setting name="number">
+        <type>
+          <integer />
+        </type>
+        <value></value>
+      </setting>
+    </group>
+    <group name="fkey5">
+      <setting name="context">
+        <type refid="fkey-context" />
+        <value>active</value>
+      </setting>
+      <setting name="type">
+        <type refid="fkey" />
+        <value>line</value>
+      </setting>
+      <setting name="number">
+        <type>
+          <integer />
+        </type>
+        <value></value>
+      </setting>
+    </group>
+    <group name="fkey6">
+      <setting name="context">
+        <type refid="fkey-context" />
+        <value>active</value>
+      </setting>
+      <setting name="type">
+        <type refid="fkey" />
+        <value>line</value>
+      </setting>
+      <setting name="number">
+        <type>
+          <integer />
+        </type>
+        <value></value>
+      </setting>
+    </group>
+    <group name="fkey7">
+      <setting name="context">
+        <type refid="fkey-context" />
+        <value>active</value>
+      </setting>
+      <setting name="type">
+        <type refid="fkey" />
+        <value>line</value>
+      </setting>
+      <setting name="number">
+        <type>
+          <integer />
+        </type>
+        <value></value>
+      </setting>
+    </group>
+    <group name="fkey8">
+      <setting name="context">
+        <type refid="fkey-context" />
+        <value>active</value>
+      </setting>
+      <setting name="type">
+        <type refid="fkey" />
+        <value>line</value>
+      </setting>
+      <setting name="number">
+        <type>
+          <integer />
+        </type>
+        <value></value>
+      </setting>
+    </group>
+    <group name="fkey9">
+      <setting name="context">
+        <type refid="fkey-context" />
+        <value>active</value>
+      </setting>
+      <setting name="type">
+        <type refid="fkey" />
+        <value>line</value>
+      </setting>
+      <setting name="number">
+        <type>
+          <integer />
+        </type>
+        <value></value>
+      </setting>
+    </group>
+    <group name="fkey10">
+      <setting name="context">
+        <type refid="fkey-context" />
+        <value>active</value>
+      </setting>
+      <setting name="type">
+        <type refid="fkey" />
+        <value>line</value>
+      </setting>
+      <setting name="number">
+        <type>
+          <integer />
+        </type>
+        <value></value>
+      </setting>
+    </group>
+    <group name="fkey11">
+      <setting name="context">
+        <type refid="fkey-context" />
+        <value>active</value>
+      </setting>
+      <setting name="type">
+        <type refid="fkey" />
+        <value>line</value>
+      </setting>
+      <setting name="number">
+        <type>
+          <integer />
+        </type>
+        <value></value>
+      </setting>
+    </group>
+  </group>
 </model>
Index: main/sipXconfig/neoconf/etc/snom/snom.vm
===================================================================
--- main/sipXconfig/neoconf/etc/snom/snom.vm	(revision 13167)
+++ main/sipXconfig/neoconf/etc/snom/snom.vm	(working copy)
@@ -1,10 +1,12 @@
 # autogenerated profile for snom Phones
 # Model $phone.Model.Label Maxlines $phone.Model.MaxLineCount
 #foreach ($group in $phone.Settings.Values)
+#if ($group.Name != 'fkeys')
 #foreach ($setting in $group.Values)
 ${setting.ProfileName}: $!{setting.Value}
 #end
 #end
+#end
 # speeddial list
 #foreach ($number in $speedDial)
 #set ($i = $velocityCount - 1)
@@ -27,3 +29,23 @@
 tc_${i}!: none
 to_${i}!: active
 #end
+# Function Keys
+#set ($pn = [0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11])
+#foreach ($i in $pn)
+#set ($type = 'fkeys/fkey'+${i}+'/type')
+#set ($num = 'fkeys/fkey'+${i}+'/number')
+fkey${i}!: $cfg.EndpointSettings.getSetting($type).value $!cfg.EndpointSettings.getSetting($num).value
+#end
+#foreach ($group in $phone.Settings.Values)
+#if ($group.Name == 'fkeys')
+#set ($i = 0)
+#foreach ($keygroup in $group.Values)
+#foreach ($setting in $keygroup.Values)
+#if ($setting.Name == "context")
+fkey_context${i}!: ${setting.Value}
+#set ($i = $i + 1)
+#end
+#end
+#end
+#end
+#end
_______________________________________________
sipx-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev

Reply via email to