1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
!!! XML
%settings
%phone-settings
%auto_reboot_on_setting_change{:perm => 'RW'}= 'off'
- if !@phone_settings[:setting_server].blank?
%setting_server{:perm => 'RW'}= @phone_settings[:setting_server]
%web_language{:perm => 'RW'}= 'English'
%language{:perm => 'RW'}= @phone_settings[:language]
%timezone{:perm => 'RW'}= 'GER+1'
%date_us_format{:perm => 'RW'}= 'off'
%time_24_format{:perm => 'RW'}= 'on'
%reset_settings{:perm => 'RW'}= ''
%update_policy{:perm => 'RW'}= 'settings_only'
%settings_refresh_timer{:perm => 'RW'}= '0'
%firmware_status{:perm => 'RW'}= ''
%webserver_type{:perm => 'R'}= 'http_https'
%http_scheme{:perm => 'RW'}= 'off'
%http_port{:perm => 'R'}= '80'
%https_port{:perm => 'R'}= '443'
%http_user{:perm => 'R'}= @phone_settings[:http_user]
%http_pass{:perm => 'R'}= @phone_settings[:http_pass]
%admin_mode_password{:perm => 'R'}= @phone_settings[:admin_mode_password]
%tone_scheme{:perm => 'RW'}= @phone_settings[:tone_scheme]
%keytones{:perm => 'RW'}= 'off'
%dtmf_speaker_phone{:perm => 'RW'}= 'off'
%disable_redirection_menu{:perm => 'R'}= 'on'
%retry_after_failed_register{:perm => 'RW'}= '70'
%encode_display_name{:perm => 'R'}= 'on'
%dtmf_payload_type{:perm => 'RW'}= '101'
%ignore_security_warning{:perm => 'R'}= 'on'
%call_completion{:perm => 'RW'}= 'on'
%block_url_dialing{:perm => 'RW'}= 'on'
%redirect_ringing{:perm => 'RW'}= 'on'
%goto_virtual_keys_state_on_activity{:perm => 'RW'}= 'off'
%goto_monitor_state_on_line_activity{:perm => 'RW'}= 'on'
%ringer_animation{:perm => 'RW'}= 'on'
%display_method{:perm => 'RW'}= 'display_name_number'
%callpickup_dialoginfo{:perm => 'RW'}= 'on'
%show_local_line{:perm => 'RW'}= 'off'
%mwi_notification{:perm => 'RW'}= 'silent'
%mwi_dialtone{:perm => 'RW'}= 'normal'
%prefer_saved_over_received_photo{:perm => 'RW'}= 'off'
%no_dnd{:perm => 'RW'}= 'off'
%transfer_on_hangup{:perm => 'RW'}= 'on'
%transfer_on_hangup_non_pots{:perm => 'RW'}= 'off'
%call_join_xfer{:perm => 'RW'}= 'on'
%conf_hangup{:perm => 'RW'}= 'on'
%logon_wizard{:perm => 'RW'}= 'off'
%disable_deflection{:perm => 'RW'}= 'off'
%csta_control{:perm => 'RW'}= 'on'
%save_latest_callrecords_to_flash{:perm => 'RW'}= 'off'
%use_proxy_number_guessing{:perm => 'RW'}= 'off'
%guess_number{:perm => 'RW'}= 'off'
%guess_start_length{:perm => 'RW'}= '3'
%ieee8021x_eap_md5_username{:perm => 'RW'}= GsParameter.get('PROVISIONING_IEEE8021X_EAP_USERNAME')
%ieee8021x_eap_md5_password{:perm => 'RW'}= GsParameter.get('PROVISIONING_IEEE8021X_EAP_PASSWORD')
- 0.upto(9) do |ringer_idx|
%internal_ringer_text{:idx => ringer_idx, :perm => 'RW'}= "Ringer#{(ringer_idx+1)}"
%internal_ringer_file{:idx => ringer_idx, :perm => 'RW'}= "Ringer#{(ringer_idx+1)}"
%internal_ringer_text{:idx => 10, :perm => 'RW'}= "Ringer0"
%internal_ringer_file{:idx => 10, :perm => 'RW'}= "Silent"
%gui_fkey1{:perm => 'R'}= 'none'
%gui_fkey2{:perm => 'R'}= 'none'
%gui_fkey3{:perm => 'R'}= 'none'
%gui_fkey4{:perm => 'R'}= 'none'
%dkey_menu{:perm => 'RW'}= @dkeys[:menu]
%dkey_retrieve{:perm => 'RW'}= @dkeys[:retrieve]
%dkey_conf{:perm => 'RW'}= @dkeys[:conf]
%dkey_redial{:perm => 'RW'}= @dkeys[:redial]
%dkey_directory{:perm => 'RW'}= @dkeys[:directory]
%dkey_touch_idle_adr_book{:perm => 'RW'}= @dkeys[:touch_idle_adr_book]
%dkey_touch_idle_list_missed{:perm => 'RW'}= @dkeys[:touch_idle_list_missed]
%dkey_touch_idle_list_taken{:perm => 'RW'}= @dkeys[:touch_idle_list_taken]
%dkey_touch_idle_redial{:perm => 'RW'}= @dkeys[:touch_idle_redial]
%dkey_touch_idle_dialog{:perm => 'RW'}= @dkeys[:touch_idle_dialog]
%idle_ok_key_action{:perm => 'RW'}= @dkeys[:idle_ok]
%idle_cancel_key_action{:perm => 'RW'}= @dkeys[:idle_cancel]
%idle_up_key_action{:perm => 'RW'}= @dkeys[:idle_up]
%idle_down_key_action{:perm => 'RW'}= @dkeys[:idle_down]
%idle_left_key_action{:perm => 'RW'}= @dkeys[:idle_left]
%idle_right_key_action{:perm => 'RW'}= @dkeys[:idle_right]
/ Display
%backlight{:perm => 'RW'}= '15'
%backlight_idle{:perm => 'RW'}= '0'
%dim_timer{:perm => 'RW'}= '300'
- if @phone.phone_model.name == 'Snom 870'
/ Snom 870 idle icons
%idle_icon_01{:perm => 'RW'}= '9'
%idle_icon_02{:perm => 'RW'}= '20'
%idle_icon_03{:perm => 'RW'}= '4'
%idle_icon_04{:perm => 'RW'}= '-1'
%idle_icon_05{:perm => 'RW'}= '6'
%idle_icon_06{:perm => 'RW'}= '-1'
%idle_icon_07{:perm => 'RW'}= '-1'
%idle_icon_08{:perm => 'RW'}= '-1'
%idle_icon_09{:perm => 'RW'}= '-1'
%idle_icon_10{:perm => 'RW'}= '-1'
%idle_icon_11{:perm => 'RW'}= '15'
%idle_icon_12{:perm => 'RW'}= '-1'
%idle_icon_13{:perm => 'RW'}= '-1'
%idle_icon_14{:perm => 'RW'}= '13'
%idle_icon_15{:perm => 'RW'}= '12'
!= "\<!-- sip accounts: #{@sip_accounts.count} --\>"
- @sip_accounts.each_with_index do |sip_account, array_index|
- index = array_index + 1
!= "\<!-- sip account #{array_index}: #{sip_account[:idle_text]}, #{sip_account[:active]} --\>"
%user_active{:idx => index, :perm => 'R'}= sip_account[:active]
%user_pname{:idx => index, :perm => 'R'}= sip_account[:pname]
%user_pass{:idx => index, :perm => 'R'}= sip_account[:pass]
%user_host{:idx => index, :perm => 'R'}= sip_account[:host]
%user_outbound{:idx => index, :perm => 'R'}= sip_account[:outbound]
%user_name{:idx => index, :perm => 'R'}= sip_account[:name]
%user_realname{:idx => index, :perm => 'R'}= sip_account[:realname]
%user_idle_text{:idx => index, :perm => 'R'}= sip_account[:idle_text]
%user_mailbox{:idx => index, :perm => 'R'}= sip_account[:mailbox]
%user_expiry{:idx => index, :perm => 'R'}= sip_account[:expiry]
%user_server_type{:idx => index, :perm => 'R'}= 'default'
%user_send_local_name{:idx => index, :perm => 'RW'}= 'on'
%user_dtmf_info{:idx => index, :perm => 'RW'}= 'off'
%user_dp_exp{:idx => index, :perm => 'RW'}= ''
%user_dp_str{:idx => index, :perm => 'RW'}= ''
%user_dp{:idx => index, :perm => 'RW'}= ''
%user_q{:idx => index, :perm => 'RW'}= '1.0'
%user_failover_identity{:idx => index, :perm => 'RW'}= 'none'
%user_full_sdp_answer{:idx => index, :perm => 'RW'}= 'on'
%user_dynamic_payload{:idx => index, :perm => 'RW'}= 'on'
%user_g726_packing_order{:idx => index, :perm => 'R'}= 'on'
%user_srtp{:idx => index, :perm => 'RW'}= 'off'
%user_savp{:idx => index, :perm => 'RW'}= 'off'
%codec_size{:idx => index, :perm => 'RW'}= '20'
%codec1_name{:idx => index, :perm => 'RW'}= "0"
%codec2_name{:idx => index, :perm => 'RW'}= "8"
%codec3_name{:idx => index, :perm => 'RW'}= "3"
%codec4_name{:idx => index, :perm => 'RW'}= "9"
%codec5_name{:idx => index, :perm => 'RW'}= "2"
%codec6_name{:idx => index, :perm => 'RW'}= "18"
%codec7_name{:idx => index, :perm => 'RW'}= "4"
%record_missed_calls{:idx => index, :perm => 'RW'}= 'on'
%record_received_calls{:idx => index, :perm => 'RW'}= 'off'
%record_missed_calls_cwi_off{:idx => index, :perm => 'RW'}= 'off'
%record_dialed_calls{:idx => index, :perm => 'RW'}= 'off'
/ all sip accounts done
%functionKeys
- @softkeys.each_with_index do |softkey, index|
- if softkey[:data]
%fkey{:idx => index, :context => (softkey[:context] ? softkey[:context].to_s : 'active'), :label => softkey[:label], :perm => 'RW'}= softkey[:data]
- elsif softkey[:general_type]
%fkey{:idx => index, :context => (softkey[:context] ? softkey[:context].to_s : 'active'), :label => softkey[:label], :perm => 'RW'}
%general{:type => softkey[:general_type]}
%default_state{:name => 'initial'}
%appearance
%line_info_layer
%line_format{:line => '0'}= '$state $type'
%line_format{:line => '1'}= '$continue $name'
- if softkey[:subscription]
%subscription{:type => 'dialog', :to => softkey[:subscription][:to], :for => softkey[:subscription][:for]}
%NotifyParsingRules{:type => 'applies'}
%level1{:translates_to => 'OK'}= "/dialog-info[@entity=\"sip:#{softkey[:subscription][:to]}\"]"
%NotifyParsingRules{:type => 'state'}
%level1{:translates_to => 'available'}= '/dialog-info/dialog/state[.="terminated"]'
%level2{:translates_to => 'ringing'}= '/dialog-info/dialog/state[.="early"]'
%level3{:translates_to => 'active'}= '/dialog-info/dialog/state[.="confirmed"]'
%level4{:fetch_content => 'true'}= '/dialog-info/dialog/state'
%default{:translates_to => 'unknown'}
- if softkey[:actions]
%action
- softkey[:actions].each do |action|
- if action[:type] == :url
%url{:target => action[:target], :when => action[:when]}
%uploads
- if @state_settings_url
/ Phone menu
%file{:url => @state_settings_url, :type => "gui_xml_state_settings"}
|