Headlines News :

POPULAR POST

Manajemen Konfigurasi dan Otomasi Server DataCenter dengan PUPPET

Puppet Fundamental / Pengenalan Puppet
Puppet adalah open source configuration management tool, digunakan untuk mengatur konfigurasi pada sebuah host, baik berupa file, packages, maupun users secara sentralisasi. Penulis menggunakan puppet untuk mengatur semua server yang penulis tangani, yang jumlahnya begitu banyak, kalau hanya 1-10 mungkin bisa, tapi kalau sudah ratusan beda cerita, karena tidak mungkin penulis mengkonfigurasi satu-persatu server tersebut, karena selain tidak efisien, besar peluang terjadinya human error.
sumber gambar: puppetlabs

Sebagai gambaran saja, jika penulis menginginkan perubahan pada sebuah konfigurasi, tapi di semua server, misalkan penulis ingin menambahkan rules pada pf (packet filter), tinggal merubah rules pada puppet server atau puppetmaster, maka semua host yang terdaftar sebagai puppet client, rules pf akan dirubah oleh puppet client.

Pengguna Puppet
Puppet biasa digunakan pada environment bersekala dari kecil hingga besar berikut sebagian daftar client yang mungkin tidak asing bagi kita menggunakan puppet:
  1. Oracle,
  2. Google,
  3. Wikimedia Foundation,
  4. Twitter,
  5. Dell,
  6. Rackspace,
  7. Zynga,
  8. New York Stock Exchange, 
  9. Disney, 
  10. Citrix Systems, 
  11. Los Alamos National Laboratory, 
  12. Stanford University,
  13. Nokia,
  14. dll.
Bisa bayangkan bagaimana system bisa bekerja pada sekala sebesar perusahaan diatas, bahkan perusahaan seperti VMware, Google Ventures, and Cisco rela Invest di Puppet Labs.


Puppet Platform
Puppet bisa bekerja pada lintas platform berikut daftar sistem operasi yang di dukung pada saat penulisan:

Linux:
  1. Red Hat Enterprise Linux,
  2. CentOS
  3. Scientific Linux,
  4. Oracle Linux,
  5. Debian,
  6. Ubuntu,
  7. Fedora,
  8. SUSE Linux Enterprise Server,
  9. Gentoo Linux,
  10. Mandriva Corporate Server,
  11. ArchLinux.
BSD:
  1. FreeBSD,
  2. OpenBSD.
Unix lainnya:
  1. Mac OS X,
  2. Oracle Solaris,
  3. AIX,
  4. HP-UX.
Windows:
  1. Windows Server 2003,
  2. Windows 2008.
Puppet bekerja menggunakan metode client-server walaupun bisa stand-alone, semua konfigurasi tersentralisasi pada puppet server, semua sistem operasi yang di dukung puppet, bisa di jalankan sebagai puppet server, kecuali windows, hanya bisa di jadikan sebagai puppet client. Jadi kita bisa jadikan OpenBSD sebagai puppetmaster dan Solaris sebagai puppet clientnya.

Cara kerja Puppet
Puppet bekerja dengan metode client-server, ini berarti sebuah client (puppet client) atau lebih akan menghubungi puppet server, bisa jadi lebih dari satu puppet server. Secara priodik (defaultnya 30 menit) puppet client akan menghubungi puppet server, untuk mendownload konfigurasi terbaru dari puppet server disebut dengan catalog dan mensikronisasikan dengan konfigurasi yang ada, apabila ditemukan perubahan, maka puppet akan merubahnya. Setelah itu puppet client, mengirimkan laporan ke puppet server, mengenai ada tidaknya perubahan, jika ada perubahan maka di laporkan pula bagian mana yang berubah.

Berikut diagram yang menunjukan bagaimana alur data pada puppet:



sumber gambar: puppetlabs


Fungisionalitas pada puppet dibangun dengan lapisan-lapisan layer yang terpisah, setiap layer bertanggung jawab terhadap sistem, masing-masing bertanggung jawab untuk aspek tetap dari sistem, dengan kontrol ketat terhadap bagaimana informasi lewat di antara lapisan:


sumber gambar: puppetlabs



Resource yang bisa di manajemen puppet
Pada saat penulisan artikel ini puppet sudah bisa memanajemen resource dibawah ini:
  • augeas
  • computer
  • cron
  • exec
  • file
  • filebucket
  • group
  • host
  • interface
  • k5login
  • macauthorization
  • mailalias
  • maillist
  • mcx
  • mount
  • nagios_command
  • nagios_contact
  • nagios_contactgroup
  • nagios_host
  • nagios_hostdependency
  • nagios_hostescalation
  • nagios_hostextinfo
  • nagios_hostgroup
  • nagios_service
  • nagios_servicedependency
  • nagios_serviceescalation
  • nagios_serviceextinfo
  • nagios_servicegroup
  • nagios_timeperiod
  • notify
  • package
  • resources
  • router
  • schedule
  • scheduled_task
  • selboolean
  • selmodule
  • service
  • ssh_authorized_key
  • sshkey
  • stage
  • tidy
  • user
  • vlan
  • yumrepo
  • zfs
  • zone
  • zpool
Sebagai contoh, bila kita ingin membuat cron, tinggal membuat kelasnya di puppet server, maka cron akan terbentuk dengan sendirinya di semua host yang terdaftar sebagai puppet client. Dan perlu diingat tidak sebatas list diatas puppet bisa di manajemen, tergantung dari kreatifitas dan kebutuhan kita sendiri.
Demonstrasi
Di sini kita tidak membicarakan bagaiamana instalasi maupun penjelasan mengenai tools, tapi penulis hanya ingin menunjukan bagaimana puppet bekerja. Penjelasan seperti instalasi, konfigurasi, dan lain-lain bisa di lihat setelah artikel ini. Tujuan dari demonstrasi ini adalah agar pembaca melihat garis besarnya saja, dan demo ini di implementasikan di localhost bukan dengan metode client-server.
Yang akan penulis lakukan adalah instalasi puppet, kemudian kita akan membuat puppet script, yang melakukan instalasi paket httpd, meng-enable-nya, mengecek proses httpd, jika mati, akan di hidupkan puppet. FYI: penulis juga menambahkan epel repository.

Instalasi Puppet
##############

[root@labs01.unixhat ~]# yum install puppet -y
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.biz.net.id
 * epel: epel.idrepo.or.id
 * extras: centos.biz.net.id
 * updates: centos.biz.net.id
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package puppet.noarch 0:2.6.13-2.el6 will be installed
--> Processing Dependency: ruby(abi) = 1.8 for package: puppet-2.6.13-2.el6.noarch
--> Processing Dependency: ruby >= 1.8.1 for package: puppet-2.6.13-2.el6.noarch
--> Processing Dependency: facter >= 1.5 for package: puppet-2.6.13-2.el6.noarch
--> Processing Dependency: ruby-shadow for package: puppet-2.6.13-2.el6.noarch
--> Processing Dependency: ruby-augeas for package: puppet-2.6.13-2.el6.noarch
--> Processing Dependency: ruby(selinux) for package: puppet-2.6.13-2.el6.noarch
--> Processing Dependency: /usr/bin/ruby for package: puppet-2.6.13-2.el6.noarch
--> Running transaction check
---> Package facter.noarch 0:1.6.4-1.el6 will be installed
---> Package libselinux-ruby.i686 0:2.0.94-5.2.el6 will be installed
---> Package ruby.i686 0:1.8.7.352-4.el6_2 will be installed
---> Package ruby-augeas.i686 0:0.3.0-2.el6 will be installed
--> Processing Dependency: augeas-libs >= 0.5.1 for package: ruby-augeas-0.3.0-2.el6.i686
--> Processing Dependency: libaugeas.so.0(AUGEAS_0.8.0) for package: ruby-augeas-0.3.0-2.el6.i686
--> Processing Dependency: libaugeas.so.0(AUGEAS_0.1.0) for package: ruby-augeas-0.3.0-2.el6.i686
--> Processing Dependency: libaugeas.so.0 for package: ruby-augeas-0.3.0-2.el6.i686
--> Processing Dependency: libaugeas.so.0(AUGEAS_0.11.0) for package: ruby-augeas-0.3.0-2.el6.i686
---> Package ruby-libs.i686 0:1.8.7.352-4.el6_2 will be installed
--> Processing Dependency: libreadline.so.5 for package: ruby-libs-1.8.7.352-4.el6_2.i686
---> Package ruby-shadow.i686 0:1.4.1-13.el6 will be installed
--> Running transaction check
---> Package augeas-libs.i686 0:0.9.0-1.el6 will be installed
---> Package compat-readline5.i686 0:5.2-17.1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================
 Package                                   Arch                            Version                                    Repository                        Size
=============================================================================================================================================================
Installing:
 puppet                                    noarch                          2.6.13-2.el6                               epel                             811 k
Installing for dependencies:
 augeas-libs                               i686                            0.9.0-1.el6                                base                             311 k
 compat-readline5                          i686                            5.2-17.1.el6                               base                             128 k
 facter                                    noarch                          1.6.4-1.el6                                epel                              66 k
 libselinux-ruby                           i686                            2.0.94-5.2.el6                             base                              97 k
 ruby                                      i686                            1.8.7.352-4.el6_2                          updates                          532 k
 ruby-augeas                               i686                            0.3.0-2.el6                                epel                              20 k
 ruby-libs                                 i686                            1.8.7.352-4.el6_2                          updates                          1.6 M
 ruby-shadow                               i686                            1.4.1-13.el6                               epel                              11 k

Transaction Summary
=============================================================================================================================================================
Install       9 Package(s)

Total download size: 3.6 M
Installed size: 11 M
Downloading Packages:
(1/9): augeas-libs-0.9.0-1.el6.i686.rpm                                                                                               | 311 kB     00:00  
(2/9): compat-readline5-5.2-17.1.el6.i686.rpm                                                                                         | 128 kB     00:00  
(3/9): facter-1.6.4-1.el6.noarch.rpm                                                                                                  |  66 kB     00:00  
(4/9): libselinux-ruby-2.0.94-5.2.el6.i686.rpm                                                                                        |  97 kB     00:00  
(5/9): puppet-2.6.13-2.el6.noarch.rpm                                                                                                 | 811 kB     00:02  
(6/9): ruby-1.8.7.352-4.el6_2.i686.rpm                                                                                                | 532 kB     00:01  
(7/9): ruby-augeas-0.3.0-2.el6.i686.rpm                                                                                               |  20 kB     00:00  
(8/9): ruby-libs-1.8.7.352-4.el6_2.i686.rpm                                                                                           | 1.6 MB     00:05  
(9/9): ruby-shadow-1.4.1-13.el6.i686.rpm                                                                                              |  11 kB     00:00  
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                        296 kB/s | 3.6 MB     00:12  
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
 Userid : CentOS-6 Key (CentOS 6 Official Signing Key)
 Package: centos-release-6-2.el6.centos.7.i686 (@base/$releasever)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
 Userid : EPEL (6)
 Package: epel-release-6-5.noarch (installed)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : compat-readline5-5.2-17.1.el6.i686                                                                                                        1/9
  Installing : ruby-libs-1.8.7.352-4.el6_2.i686                                                                                                          2/9
  Installing : ruby-1.8.7.352-4.el6_2.i686                                                                                                               3/9
  Installing : facter-1.6.4-1.el6.noarch                                                                                                                 4/9
  Installing : ruby-shadow-1.4.1-13.el6.i686                                                                                                             5/9
  Installing : libselinux-ruby-2.0.94-5.2.el6.i686                                                                                                       6/9
  Installing : augeas-libs-0.9.0-1.el6.i686                                                                                                              7/9
  Installing : ruby-augeas-0.3.0-2.el6.i686                                                                                                              8/9
  Installing : puppet-2.6.13-2.el6.noarch                                                                                                                9/9

Installed:
  puppet.noarch 0:2.6.13-2.el6                                                                                                                            

Dependency Installed:
  augeas-libs.i686 0:0.9.0-1.el6    compat-readline5.i686 0:5.2-17.1.el6    facter.noarch 0:1.6.4-1.el6           libselinux-ruby.i686 0:2.0.94-5.2.el6
  ruby.i686 0:1.8.7.352-4.el6_2     ruby-augeas.i686 0:0.3.0-2.el6          ruby-libs.i686 0:1.8.7.352-4.el6_2    ruby-shadow.i686 0:1.4.1-13.el6

Complete!
[root@labs01.unixhat ~]#


Mengecek apakah sudah terinstall atau belum paket httpd, jika tidak ada output, berarti paket httpd belum terinstall.


[root@labs01.unixhat ~]# rpm -qa|grep httpd


Sekarang mari kita membuat puppet script yang mudah
[root@labs01.unixhat ~]# vi apply.pp
dengan isi sebagai berikut:


package { "httpd":
                ensure => present,
}
service { "httpd":
                enable    => true,
                ensure    => running,
        }

Mari kita eksekusi script yang telah kita buat, jika tidak ada masalah dalam tahap instalasi atau puppet script kita maka akan tampak seperti berikut:

[root@labs01.unixhat ~]# puppet apply apply.pp
notice: /Stage[main]//Package[httpd]/ensure: created
notice: /Stage[main]//Service[httpd]/ensure: ensure changed 'stopped' to 'running'
notice: Finished catalog run in 111.43 seconds
[root@labs01.unixhat ~]#

Tampaknya proses berjalan lancar, mari kita cek hasil dari puppet:

[root@labs01.unixhat ~]# rpm -qa|grep httpd
httpd-2.2.15-15.el6.centos.i686
yups, paket httpd sudah terinstal, mari kita cek coba mematikan proses httpdnya
[root@labs01.unixhat ~]# /etc/init.d/httpd status
httpd (pid  5119) is running...
[root@labs01.unixhat ~]# /etc/init.d/httpd stop
Stopping httpd:                                            [  OK  ]
[root@labs01.unixhat ~]# /etc/init.d/httpd status
httpd is stopped
[root@labs01.unixhat ~]# 
ok, service httpd sudah di matikan. Kita coba jalankan script puppet yang telah kita buat tadi, jika memang benar, maka service akan di hidupkan kembali oleh puppet.
[root@labs01.unixhat ~]# puppet apply apply.pp 
notice: /Stage[main]//Service[httpd]/ensure: ensure changed 'stopped' to 'running'
notice: Finished catalog run in 1.30 seconds
[root@labs01.unixhat ~]# 
Nampak output puppet, memberi kabar gembira, mari kita cek:
[root@labs01.unixhat ~]# /etc/init.d/httpd status
httpd (pid  5586) is running...
[root@labs01.unixhat ~]# 
Yups terjalan berjalan dengan baik, puppet menghidupkan service httpd, sekarang mari kita me-disable httpd pada chkconfig:
[root@labs01.unixhat ~]# chkconfig --list|grep httpd
httpd           0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@labs01.unixhat ~]# chkconfig httpd off
[root@labs01.unixhat ~]# chkconfig --list|grep httpd
httpd           0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@labs01.unixhat ~]# 
Mari kita jalankan kembali script puppet, dan kita lihat hasilnya:
[root@labs01.unixhat ~]# puppet apply apply.pp 
notice: /Stage[main]//Service[httpd]/enable: enable changed 'false' to 'true'
notice: Finished catalog run in 1.44 seconds
[root@labs01.unixhat ~]# chkconfig --list|grep httpd
httpd           0:off 1:off 2:on 3:on 4:on 5:on 6:off
OK, puppet berhasil meng-enble runlevel untuk 2,3,4,5. yang tadi sebelumnya mati.
Bahkan bila kita menghapus paket httpd, maka puppet akan menginstallnya kembali, mari kita lihat:
[root@labs01.unixhat ~]# yum remove httpd -y
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security, versionlock
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.i686 0:2.2.15-15.el6.centos will be erased
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================================================================================================
 Package                           Arch                             Version                                          Repository                         Size
=============================================================================================================================================================
Removing:
 httpd                             i686                             2.2.15-15.el6.centos                             @base                             2.8 M
Transaction Summary
=============================================================================================================================================================
Remove        1 Package(s)
Installed size: 2.8 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing    : httpd-2.2.15-15.el6.centos.i686                                                                                                           1/1 
Removed:
  httpd.i686 0:2.2.15-15.el6.centos
Complete!
[root@labs01.unixhat ~]# rpm -qa|grep httpd # kosong
[root@labs01.unixhat ~]# puppet apply apply.pp 
err: /Stage[main]//Service[httpd]/ensure: change from stopped to running failed: Could not start Service[httpd]: Execution of '/sbin/service httpd start' returned 1:  at /root/apply.pp:7
notice: /Stage[main]//Package[httpd]/ensure: created
notice: Finished catalog run in 40.80 seconds
[root@labs01.unixhat ~]# rpm -qa|grep httpd
httpd-2.2.15-15.el6.centos.i686
[root@labs01.unixhat ~]# 
Yups, Alhamdulillah selesai sudah penjelasan puppet sebagai server automasi dan manajemen konfigurasi, penulis berharap pembaca sekarang mengerti mengapa puppet menjadi server automasi di datacenter berbagai belahan dunia. Untuk lebih dalam mengenai puppet, pembaca bisa mengikuti terus artikel berikutnya.

Provisioning CISCO SIP / IP Phones SPA 5xx Series

Hardware yang akan di provisioning  adalah Cisco IP Phone SPA502G, tapi research ini bisa di implementasi pada semua produk Cisco IP Phone SPA 500 Series. Berikut spesifikasinya:

Data networking
● MAC address (IEEE 802.3)
● IPv4 (RFC 791)
● Address Resolution Protocol (ARP)
● DNS: A record (RFC 1706), SRV record (RFC 2782)
● Dynamic Host Configuration Protocol (DHCP) client (RFC 2131)
● Internet Control Message Protocol (ICMP) (RFC 792)
● TCP (RFC 793)
● User Datagram Protocol (UDP) (RFC 768)
● Real-Time Transport Protocol (RTP) (RFC 1889, 1890)
● Real-Time Control Protocol (RTCP) (RFC 1889)
● Differentiated Services (DiffServ) (RFC 2475)
● Type of service (ToS) (RFC 791, 1349)
● VLAN tagging 802.1p/Q: Layer 2 quality of service (QoS)
● Simple Network Time Protocol (SNTP) (RFC 2030)

Voice gateway
● SIP version 2 (RFC 3261, 3262, 3263, 3264)
● SPCP with the Cisco Unified Communications 500 Series
● SIP proxy redundancy: dynamic via DNS SRV, A records
● Reregistration with primary SIP proxy server
● SIP support in NAT networks (including STUN)
● SIPFrag (RFC 3420)
● Secure (encrypted) calling via SRTP
● Codec name assignment
● Voice algorithms:
◦G.711 (A-law and μ-law)
◦G.726 (16/24/32/40 kbps)
◦G.729 A
◦G.722
● Dynamic payload support
● Adjustable audio frames per packet
● Dual-tone multifrequency (DTMF), in-band and out-of-band (RFC 2833) (SIP INFO)
● Flexible dial plan support with interdigit timers
● IP address/URI dialing support
● Call progress tone generation
● Jitter buffer: adaptive
● Frame loss concealment
● Comfort Noise Generation (CNG)
● Voice activity detection (VAD) with silence suppression
● Attenuation/gain adjustments
● VMWI - Voicemail Waiting Indicator, via NOTIFY, SUBSCRIBE
● Caller ID support (name and number)
● Third-party call control (RFC 3725)

Provisioning, administration, and maintenance
● Integrated web server provides web-based administration and configuration
● Telephone keypad configuration via display menu/navigation
● Automated provisioning and upgrade via HTTPS, HTTP, TFTP
● Asynchronous notification of upgrade availability via NOTIFY
● Nonintrusive in-service upgrades
● Report generation and event logging
● Statistics transmitted in BYE message
● Syslog and debug server records: configurable per line

Power supply
● Power supply is optional and is purchased separately
◦Models: Cisco PA100-NA, PA100-EU, PA100-UK, PA100-AU
● Switching type (100-240V) automatic
● DC output voltage: +5 VDC at 2.0A maximum
● Power adapter: 100-240V 50-60 Hz (26-34 VA) AC input

Physical interfaces
● Two 10/100BASE-T RJ-45 Ethernet ports (IEEE 802.3)
● Handset: RJ-9 connector
● Built-in speakerphone and microphone
● Headset 2.5mm jack

Indicator lights/LEDs
● Speakerphone on/off button with LED
● Headset on/off button with LED
● Mute button with LED
● Message waiting LED

Body dimensions (W x H x D) 8.42 x 8.35. x 1.73 in. (214 x 212 x 44 mm)
Unit weight 2.00 lb ( 0.9 kg)
Operating temperature 32o ~ 104oF (0o ~ 40oC)
Storage temperature -4o ~ 158oF (-20o ~ 70oC)
Operating humidity 5% to 95% noncondensing
Storage humidity 5% to 95% noncondensing
Ok kita telah mengetahui semua spesifikasinya, sekarang penulis akan menjabarkan semua kebutuhannya:
1. Asterisk Server
2. TFTP Server
3. DHCP Server 
4. Account dan extensions yang sudah di daftarkan pada Server Asterisk
5. Koneksi LAN untuk SIP Phones
Opsional:
1. ISDN / PSTN / ITSP untuk melakukan panggilan keluar. (rumah, hp, sli, sljj, dll)
2. Wireshark. Untuk keperluan debug.
3. Syslog server / log captured. Untuk keperluan debug.
Berikut adalah visualiasi dari proses provisioning penulis, antara SIP Phone dengan Asterisk Server.
Sumber: Cisco
Penjelasan:
1. Power di hidupkan
2. phone melakukan POST
3. DHCP memberikan IP
4. DHCP memberitahukan alamat TFTP server
5. meminta file konfigurasi dari TFTP utama
6. TFTP memberi
7. Pada file konfigurasi utama, dialamatkan file konfig untuk setiap phone.
8. Phone melakukan reboot
9. Mengambil file konfig yang telah di alamatkan untuknya.
10. Melakukan konfigurasi pada phone
11. Phone melakukan reboot
12. melakukan register pada server Asterisk
13. Seharusnya sudah bisa melakukan panggilan
Secara default pada saat kita baru membeli Cisco SIP Phones defaut Profile Rule-nya menuju /spa$PSN.cfg, File ini akan menyesuaikan dengan tipe yang akan di konfigurasinya. Misal tipe sip phone kita adalah SPA502G maka file konfigurasi yang akan di download oleh si sip phone akan menuju file spa502g.cfg. $PSN adalah variabel yang akan membawa kita pada tipe dari si harddware.
Berikut adalah step yang akan kita lakukan:
1. Membuat file konfigurasi utama: spa502G.cfg
2. Membuat file konfigurasi untuk tiap sip phone: spa30e4dbxx59xx.cfg
3. Mengenkripsinya file konfigurasinya (opsional)
4. Menambahkan opsi alamat IP TFTP server pada DHCP server
1. Membuat file konfigurasi utama
File ini adalah konfigurasi utama, seperti yang sudah saya jelaskan diatas, yang akan di cari oleh ip phone adalah file ini, secara default pada saat baru membeli menuju /spa$PSN.cfg, dimana / yang dimaksud adalah root dari tftp server. Sesuaikan nama file dengan tipe ip phone. Karena ip phone akan otomatis menuju file tipe yang mereka miliki. Format filenya adalah XML, berikut isi file konfigurasinya:

Yes
10
tftp://192.168.0.100/xml/spa$MA.cfg
tftp://192.168.0.100/spa50x-30x-7-5-1a.bin
Penjelasan:
Yes
Pada saat ip phone di reset lakukan rsync, konfigurasi dengan file spa$MA.cfg
 10
lakukan rsync setiap 10 detik, variablenya di buat cepat karena ini adalah step pertama jadi tidak usah kawatir sip phone akan rysnc terus.
tftp://192.168.0.100/xml/spa$MA.cfg
Memberitahukan letak file untuk masing-masing sip phone berdasarkan MAC address, jadi misalnya MAC address sip phonenya adalah 30e4db2a59xx maka kita namai filenya di tftp server: spa30e4db2a5995.cfg
tftp://192.168.0.100/spa50x-30x-7-5-1a.bin
Sebenarnya ini opsional, berhubung firmware bawaan pada saat membeli biasanya sudah uzur, dan ada report vurnebiiities disana, maka harus di upgrade, nah baris ini yang mengaturnya, tinggal kita download dari web cisco binarynya dan upload.
2.  Membuat file konfigurasi untuk tiap sip phone
Fele ini yang akan di download oleh sip phone setelah file konfigurasi utama men-set profilenya menuju spa$MA.cfg, semua konfigurasi pada sip phone bisa kita atur disini. Silahkan sesuaikan dengan konfigurasi anda, seperti username, passwd, asterisk server, ringtone sound, dsb tentunya file ini sudah penulis edit untuk keperluan publik =D:
# ***
# *** SPA50x-30x-SIP 7.5.1a Configuration Parameters
# ***


# *** System Configuration

Restricted_Access_Domains                       "" ;
Enable_Web_Server                               "Yes" ;
Web_Server_Port                                 "80" ;
Enable_Web_Admin_Access                         "Yes" ;
Admin_Passwd                                    "A!@H87h^(^&1n3dEqW" ;
User_Password                                 ! "" ;
Signaling_Protocol                              "SIP" ;  # options: SIP/SPCP
SPCP_Auto-detect                                "Yes" ;
Phone-UI-readonly                               "No" ;
Phone-UI-user-mode                              "No" ;

# *** Power Setting

PoE_Power_Required                              "Normal" ;  # options: Normal/Maximum

# *** Internet Connection Type

Connection_Type                               ! "DHCP" ;  # options: DHCP/Static IP

# ***  Static IP Settings

Static_IP                                     ! "" ;
NetMask                                       ! "" ;
Gateway                                       ! "" ;

# *** Optional Network Configuration

HostName                                      ! "d1046" ;
Domain                                        ! "unixhat.com" ;
Primary_DNS                                   ! "" ;
Secondary_DNS                                 ! "" ;
DNS_Server_Order                                "Manual" ;  # options: Manual/Manual,DHCP/DHCP,Manual
DNS_Query_Mode                                  "Parallel" ;  # options: Parallel/Sequential
DNS_Query_TTL_Ignore                            "No" ;
Syslog_Server                                   "192.168.0.102" ;
Debug_Server                                    "" ;
Debug_Level                                     "3" ;  # options: 0/1/2/3
Layer_2_Logging                                 "No" ;
Port_Mirroring                                  "No" ;
NTP_Enable                                      "Yes" ;
Primary_NTP_Server                              "0.asia.pool.ntp.org" ;
Secondary_NTP_Server                            "1.asia.pool.ntp.org" ;

# *** VLAN Settings

Enable_VLAN                                   ! "No" ;
Enable_CDP                                      "Yes" ;
Enable_LLDP-MED                                 "Yes" ;
Network_Startup_Delay                           "3" ;
VLAN_ID                                       ! "1" ;
PC_Port_VLAN_Highest_Priority                   "No Limit" ;  # options: 0/1/2/3/4/5/6/7/No Limit
Enable_PC_Port_VLAN_Tagging                     "No" ;
PC_Port_VLAN_ID                                 "1" ;

# *** Inventory Settings

Asset_ID                                        "" ;

# *** Configuration Profile

Provision_Enable                                "Yes" ;
Resync_On_Reset                                 "Yes" ;
Resync_Random_Delay                             "2" ;
Resync_At_(HHmm)                                "" ;
Resync_At_Random_Delay                          "600" ;
Resync_Periodic                                 "3600" ;
Resync_Error_Retry_Delay                        "3600" ;
Forced_Resync_Delay                             "14400" ;
Resync_From_SIP                                 "Yes" ;
Resync_After_Upgrade_Attempt                    "Yes" ;
Resync_Trigger_1                                "" ;
Resync_Trigger_2                                "" ;
Resync_Fails_On_FNF                             "Yes" ;
Profile_Rule                                    "tftp://192.168.0.100/xml/spa$MA.cfg" ;
Profile_Rule_B                                  "" ;
Profile_Rule_C                                  "" ;
Profile_Rule_D                                  "" ;
DHCP_Option_To_Use                              "66,160,159,150,60,43,125" ;
Transport_Protocol                              "https" ;  # options: none/tftp/http/https
Log_Resync_Request_Msg                          "$PN $MAC -- Requesting resync $SCHEME://$SERVIP:$PORT$PATH" ;
Log_Resync_Success_Msg                          "$PN $MAC -- Successful resync $SCHEME://$SERVIP:$PORT$PATH" ;
Log_Resync_Failure_Msg                          "$PN $MAC -- Resync failed: $ERR" ;
Report_Rule                                     "" ;
User_Configurable_Resync                        "Yes" ;

# *** Firmware Upgrade

Upgrade_Enable                                  "Yes" ;
Upgrade_Error_Retry_Delay                       "3600" ;
Downgrade_Rev_Limit                             "" ;
Upgrade_Rule                                    "" ;
Log_Upgrade_Request_Msg                         "$PN $MAC -- Requesting upgrade $SCHEME://$SERVIP:$PORT$PATH" ;
Log_Upgrade_Success_Msg                         "$PN $MAC -- Successful upgrade $SCHEME://$SERVIP:$PORT$PATH -- $ERR" ;
Log_Upgrade_Failure_Msg                         "$PN $MAC -- Upgrade failed: $ERR" ;
License_Keys                                    "" ;

# *** CA Settings

Custom_CA_RULE                                  "" ;

# *** General Purpose Parameters

GPP_A                                           "" ;
GPP_B                                           "" ;
GPP_C                                           "" ;
GPP_D                                           "" ;
GPP_E                                           "" ;
GPP_F                                           "" ;
GPP_G                                           "" ;
GPP_H                                           "" ;
GPP_I                                           "" ;
GPP_J                                           "" ;
GPP_K                                           "" ;
GPP_L                                           "" ;
GPP_M                                           "" ;
GPP_N                                           "" ;
GPP_O                                           "" ;
GPP_P                                           "" ;
GPP_SA                                          "" ;
GPP_SB                                          "" ;
GPP_SC                                          "" ;
GPP_SD                                          "" ;

# *** SIP Parameters

Max_Forward                                     "70" ;
Max_Redirection                                 "5" ;
Max_Auth                                        "2" ;
SIP_User_Agent_Name                             "$VERSION" ;
SIP_Server_Name                                 "$VERSION" ;
SIP_Reg_User_Agent_Name                         "" ;
SIP_Accept_Language                             "" ;
DTMF_Relay_MIME_Type                            "application/dtmf-relay" ;
Hook_Flash_MIME_Type                            "application/hook-flash" ;
Remove_Last_Reg                                 "No" ;
Use_Compact_Header                              "No" ;
Escape_Display_Name                             "No" ;
SIP-B_Enable                                    "No" ;
Talk_Package                                    "No" ;
Hold_Package                                    "No" ;
Conference_Package                              "No" ;
Notify_Conference                               "No" ;
RFC_2543_Call_Hold                              "Yes" ;
Random_REG_CID_On_Reboot                        "No" ;
Mark_All_AVT_Packets                            "Yes" ;
SIP_TCP_Port_Min                                "5060" ;
SIP_TCP_Port_Max                                "5080" ;
CTI_Enable                                      "No" ;
Caller_ID_Header                                "PAID-RPID-FROM" ;  # options: PAID-RPID-FROM/PAID-FROM/RPID-PAID-FROM/RPID-FROM/FROM
SRTP_Method                                     "x-sipura" ;  # options: x-sipura/s-descriptor
Hold_Target_Before_REFER                        "No" ;
Dialog_SDP_Enable                               "No" ;
Keep_Referee_When_REFER_Failed                  "No" ;
Display_Diversion_Info                          "No" ;

# *** SIP Timer Values (sec)

SIP_T1                                          ".5" ;
SIP_T2                                          "4" ;
SIP_T4                                          "5" ;
SIP_Timer_B                                     "16" ;
SIP_Timer_F                                     "16" ;
SIP_Timer_H                                     "16" ;
SIP_Timer_D                                     "16" ;
SIP_Timer_J                                     "16" ;
INVITE_Expires                                  "240" ;
ReINVITE_Expires                                "30" ;
Reg_Min_Expires                                 "1" ;
Reg_Max_Expires                                 "7200" ;
Reg_Retry_Intvl                                 "30" ;
Reg_Retry_Long_Intvl                            "1200" ;
Reg_Retry_Random_Delay                          "" ;
Reg_Retry_Long_Random_Delay                     "" ;
Reg_Retry_Intvl_Cap                             "" ;
Sub_Min_Expires                                 "10" ;
Sub_Max_Expires                                 "7200" ;
Sub_Retry_Intvl                                 "10" ;

# *** Response Status Code Handling

SIT1_RSC                                        "" ;
SIT2_RSC                                        "" ;
SIT3_RSC                                        "" ;
SIT4_RSC                                        "" ;
Try_Backup_RSC                                  "" ;
Retry_Reg_RSC                                   "" ;

# *** RTP Parameters

RTP_Port_Min                                    "16384" ;
RTP_Port_Max                                    "16538" ;
RTP_Packet_Size                                 "0.030" ;
Max_RTP_ICMP_Err                                "0" ;
RTCP_Tx_Interval                                "0" ;
No_UDP_Checksum                                 "No" ;
Symmetric_RTP                                   "No" ;
Stats_In_BYE                                    "No" ;

# *** SDP Payload Types

AVT_Dynamic_Payload                             "101" ;
INFOREQ_Dynamic_Payload                         "" ;
G726r16_Dynamic_Payload                         "98" ;
G726r24_Dynamic_Payload                         "97" ;
G726r32_Dynamic_Payload                         "2" ;
G726r40_Dynamic_Payload                         "96" ;
G729b_Dynamic_Payload                           "99" ;
EncapRTP_Dynamic_Payload                        "112" ;
RTP-Start-Loopback_Dynamic_Payload              "113" ;
RTP-Start-Loopback_Codec                        "G711u" ;  # options: G711u/G711a/G726-16/G726-24/G726-32/G726-40/G729a/G722
AVT_Codec_Name                                  "telephone-event" ;
G711u_Codec_Name                                "PCMU" ;
G711a_Codec_Name                                "PCMA" ;
G726r16_Codec_Name                              "G726-16" ;
G726r24_Codec_Name                              "G726-24" ;
G726r32_Codec_Name                              "G726-32" ;
G726r40_Codec_Name                              "G726-40" ;
G729a_Codec_Name                                "G729a" ;
G729b_Codec_Name                                "G729ab" ;
G723_Codec_Name                                 "G723" ;
G722_Codec_Name                                 "G722" ;
L16_Codec_Name                                  "L16" ;
EncapRTP_Codec_Name                             "encaprtp" ;

# *** NAT Support Parameters

Handle_VIA_received                             "No" ;
Handle_VIA_rport                                "No" ;
Insert_VIA_received                             "No" ;
Insert_VIA_rport                                "No" ;
Substitute_VIA_Addr                             "No" ;
Send_Resp_To_Src_Port                           "No" ;
STUN_Enable                                     "No" ;
STUN_Test_Enable                                "No" ;
STUN_Server                                     "" ;
EXT_IP                                          "" ;
EXT_RTP_Port_Min                                "" ;
NAT_Keep_Alive_Intvl                            "15" ;

# *** Linksys Key System Parameters

Linksys_Key_System                              "No" ;
Multicast_Address                               "224.168.168.168:6061" ;
Key_System_Auto_Discovery                       "Yes" ;
Key_System_IP_Address                           "" ;
Force_LAN_Codec                                 "none" ;  # options: none/G711u/G711a
Auto_Ans_GrPage_On_Active_Call                  "Yes" ;

# *** General

Line_Enable[1]                                  "Yes" ;

# *** Share Line Appearance

Share_Ext[1]                                    "private" ;  # options: private/shared
Shared_User_ID[1]                               "" ;
Subscription_Expires[1]                         "3600" ;
Restrict_MWI[1]                                 "No" ;
Monitor_User_ID[1]                              "" ;

# *** NAT Settings

NAT_Mapping_Enable[1]                           "No" ;
NAT_Keep_Alive_Enable[1]                        "No" ;
NAT_Keep_Alive_Msg[1]                           "$NOTIFY" ;
NAT_Keep_Alive_Dest[1]                          "$PROXY" ;

# *** Network Settings

SIP_TOS/DiffServ_Value[1]                       "0x68" ;
SIP_CoS_Value[1]                                "3" ;  # options: 0/1/2/3/4/5/6/7
RTP_TOS/DiffServ_Value[1]                       "0xb8" ;
RTP_CoS_Value[1]                                "6" ;  # options: 0/1/2/3/4/5/6/7
Network_Jitter_Level[1]                         "high" ;  # options: low/medium/high/very high/extremely high
Jitter_Buffer_Adjustment[1]                     "up and down" ;  # options: up and down/up only/down only/disable

# *** SIP Settings

SIP_Transport[1]                                "UDP" ;  # options: UDP/TCP/TLS
SIP_Port[1]                                     "5060" ;
SIP_100REL_Enable[1]                            "No" ;
EXT_SIP_Port[1]                                 "" ;
Auth_Resync-Reboot[1]                           "Yes" ;
SIP_Proxy-Require[1]                            "" ;
SIP_Remote-Party-ID[1]                          "No" ;
Referor_Bye_Delay[1]                            "4" ;
Refer-To_Target_Contact[1]                      "No" ;
Referee_Bye_Delay[1]                            "0" ;
SIP_Debug_Option[1]                             "none" ;  # options: none/1-line/1-line excl. OPT/1-line excl. NTFY/1-line excl. REG/1-line excl. OPT|NTFY|REG/full/full excl. OPT/full excl. NTFY/full excl. REG/full excl. OPT|NTFY|REG
Refer_Target_Bye_Delay[1]                       "0" ;
Sticky_183[1]                                   "No" ;
Auth_INVITE[1]                                  "No" ;
Ntfy_Refer_On_1xx-To-Inv[1]                     "Yes" ;
Use_Anonymous_With_RPID[1]                      "Yes" ;
Set_G729_annexb[1]                              "none" ;  # options: none/no/yes/follow silence supp setting
Voice_Quality_Report_Address[1]                 "" ;
User_Equal_Phone[1]                             "No" ;

# *** Call Feature Settings

Blind_Attn-Xfer_Enable[1]                       "No" ;
MOH_Server[1]                                   "" ;
Message_Waiting[1]                              "No" ;
Auth_Page[1]                                    "No" ;
Default_Ring[(1)]                               "5" ;  # options: No Ring/1/2/3/4/5/6/7/8/9/10/11/12/User 1/User 2
Auth_Page_Realm[1]                              "" ;
Conference_Bridge_URL[1]                        "" ;
Auth_Page_Password[1]                           "" ;
Mailbox_ID[1]                                   "" ;
Voice_Mail_Server[1]                            "" ;
Voice_Mail_Subscribe_Interval[1]                "86400" ;
State_Agent[1]                                  "" ;
CFWD_Notify_Serv[1]                             "No" ;
CFWD_Notifier[1]                                "" ;
User_ID_with_Domain[1]                          "No" ;
Broadsoft_ACD[1]                                "No" ;
Auto_Ans_Page_On_Active_Call[1]                 "Yes" ;
Feature_Key_Sync[1]                             "No" ;
Call_Park_Monitor_Enable[1]                     "No" ;

# *** Proxy and Registration

Proxy[1]                                        "192.168.0.90" ;
Outbound_Proxy[1]                               "" ;
Alternate_Proxy[1]                              "" ;
Alternate_Outbound_Proxy[1]                     "" ;
Use_Outbound_Proxy[1]                           "No" ;
Use_OB_Proxy_In_Dialog[1]                       "Yes" ;
Register[1]                                     "Yes" ;
Make_Call_Without_Reg[1]                        "No" ;
Register_Expires[1]                             "3600" ;
Ans_Call_Without_Reg[1]                         "No" ;
Use_DNS_SRV[1]                                  "No" ;
DNS_SRV_Auto_Prefix[1]                          "No" ;
Proxy_Fallback_Intvl[1]                         "3600" ;
Proxy_Redundancy_Method[1]                      "Normal" ;  # options: Normal/Based on SRV Port
Dual_Registration[1]                            "No" ;

# *** Subscriber Information

Display_Name[1]                                 "Meeting Room 2" ;
User_ID[1]                                      "meetingroom2" ;
Password[1]                                     "s1p@nd1re#99)ZaaQ" ;
Use_Auth_ID[1]                                  "No" ;
Auth_ID[1]                                      "" ;
Reversed_Auth_Realm[1]                          "" ;
Mini_Certificate[1]                             "" ;
SRTP_Private_Key[1]                             "" ;
Resident_Online_Number[1]                       "" ;
SIP_URI[1]                                      "" ;

# *** Audio Configuration

Preferred_Codec[1]                              "G711u" ;  # options: G711u/G711a/G726-16/G726-24/G726-32/G726-40/G729a/G722
Use_Pref_Codec_Only[1]                          "No" ;
Second_Preferred_Codec[1]                       "Unspecified" ;  # options: Unspecified/G711u/G711a/G726-16/G726-24/G726-32/G726-40/G729a/G722
Third_Preferred_Codec[1]                        "Unspecified" ;  # options: Unspecified/G711u/G711a/G726-16/G726-24/G726-32/G726-40/G729a/G722
G729a_Enable[1]                                 "Yes" ;
G723_Enable[1]                                  "Yes" ;
G722_Enable[1]                                  "Yes" ;
L16_Enable[1]                                   "Yes" ;
G726-16_Enable[1]                               "Yes" ;
G726-24_Enable[1]                               "Yes" ;
G726-32_Enable[1]                               "Yes" ;
G726-40_Enable[1]                               "Yes" ;
Release_Unused_Codec[1]                         "Yes" ;
DTMF_Process_AVT[1]                             "Yes" ;
Silence_Supp_Enable[1]                          "No" ;
DTMF_Tx_Method[1]                               "Auto" ;  # options: InBand/AVT/INFO/Auto/InBand+INFO/AVT+INFO
DTMF_Tx_Volume_for_AVT_Packet[1]                "0" ;
DTMF_AVT_Packet_Interval[1]                     "0" ;
Use_Remote_Pref_Codec[1]                        "No" ;
Codec_Negotiation[1]                            "Default" ;  # options: Default/List All

# *** Dial Plan

Dial_Plan[1]                                    "(*xx|[3469]11|0|00|[2-9]xxxxxx|1xxx[2-9]xxxxxxS0|xxxxxxxxxxxx.)" ;
Caller_ID_Map[1]                                "" ;
Enable_IP_Dialing[1]                            "Yes" ;
Emergency_Number[1]                             "" ;

# *** Call Forward

Cfwd_Setting                                  ! "Yes" ;
Cfwd_All_Dest                                 ! "" ;
Cfwd_Busy_Dest                                ! "" ;
Cfwd_No_Ans_Dest                              ! "" ;
Cfwd_No_Ans_Delay                             ! "20" ;

# *** Speed Dial

Speed_Dial_2                                  ! "" ;
Speed_Dial_3                                  ! "" ;
Speed_Dial_4                                  ! "" ;
Speed_Dial_5                                  ! "" ;
Speed_Dial_6                                  ! "" ;
Speed_Dial_7                                  ! "" ;
Speed_Dial_8                                  ! "" ;
Speed_Dial_9                                  ! "" ;

# *** Supplementary Services

CW_Setting                                    ! "Yes" ;
Block_CID_Setting                             ! "No" ;
Block_ANC_Setting                             ! "No" ;
DND_Setting                                   ! "No" ;
Secure_Call_Setting                             "No" ;
Dial_Assistance                               ! "No" ;
Auto_Answer_Page                                "Yes" ;
Preferred_Audio_Device                        ! "Speaker" ;  # options: Speaker/Headset
Send_Audio_To_Speaker                         ! "No" ;
Time_Format                                   ! "24hr" ;  # options: 12hr/24hr
Date_Format                                   ! "day/month" ;  # options: month/day/day/month
Miss_Call_Shortcut                            ! "Yes" ;
Miss_Call_Banner                              ! "Yes" ;
Accept_Media_Loopback_Request                   "automatic" ;  # options: never/automatic/manual
Media_Loopback_Mode                             "source" ;  # options: source/mirror
Media_Loopback_Type                             "media" ;  # options: media/packet
Text_Message                                  ! "Yes" ;
Text_Message_From_3rd_Party                   ! "No" ;
Alert_Tone_Off                                ! "No" ;
Log_Missed_Calls_for_EXT_1                      "Yes" ;
Log_Missed_Calls_for_EXT_2                      "Yes" ;
Log_Missed_Calls_for_EXT_3                      "Yes" ;
Log_Missed_Calls_for_EXT_4                      "Yes" ;
Log_Missed_Calls_for_EXT_5                      "Yes" ;
Log_Missed_Calls_for_EXT_6                      "Yes" ;
Log_Missed_Calls_for_EXT_7                      "Yes" ;
Log_Missed_Calls_for_EXT_8                      "Yes" ;
Log_Missed_Calls_for_EXT_9                      "Yes" ;
Log_Missed_Calls_for_EXT_10                     "Yes" ;
Log_Missed_Calls_for_EXT_11                     "Yes" ;
Log_Missed_Calls_for_EXT_12                     "Yes" ;
Shared_Line_DND_Cfwd_Enable                     "Yes" ;

# *** Audio

Ringer_Volume                                 ! "8" ;
Speaker_Volume                                ! "8" ;
Handset_Volume                                ! "10" ;
Headset_Volume                                ! "10" ;
Handset_Version                               ! "Auto" ;  # options: Auto/Original/v3
Deep_Bass                                     ! "Default" ;  # options: Default/HiDef/Standard

# *** LCD

LCD_Contrast                                  ! "8" ;
Back_Light_Timer                                "10 s" ;  # options: Off/10 s/20 s/30 s/Always On

# *** General

Station_Name                                    "D1046" ;
Station_Display_Name                            "D1046" ;
Voice_Mail_Number                               "" ;
Text_Logo                                       "" ;
BMP_Picture_Download_URL                        "" ;
Select_Logo                                     "" ;  # options: Default/BMP Picture/Text Logo/None
Select_Background_Picture                       "None" ;  # options: None/BMP Picture/Text Logo
Softkey_Labels_Font                             "Auto" ;  # options: Normal/Narrow/Auto
Screen_Saver_Enable                           ! "No" ;
Screen_Saver_Wait                             ! "300" ;
Screen_Saver_Icon                             ! "Background Picture" ;  # options: StationTime/Lock/Phone/DateTime/Background Picture

# *** Line Key 1

Extension[1]                                    "1" ;  # options: 1/2/3/4/5/6/7/8/9/10/11/12/Disabled
Short_Name[1]                                   "$USER" ;
Share_Call_Appearance[1]                        "private" ;  # options: private/shared
Extended_Function[1]                            "" ;

# *** Miscellaneous Line Key Settings

Line_ID_Mapping                                 "Vertical First" ;  # options: Horizontal First/Vertical First
SCA_Barge-In_Enable                             "No" ;
SCA_Sticky_Auto_Line_Seize                      "No" ;
Line_Navigation                                 "Per Line" ;  # options: Per Call/Per Line
Call_Appearance_Per_Line                        "2" ;  # options: 2/3/4/5/6/7/8/9/10
Softkey_Navigation_Style                        "Scrollable" ;  # options: Scrollable/More

# *** Line Key LED Pattern

Idle_LED                                        "" ;
Remote_Undefined_LED                            "" ;
Local_Seized_LED                                "" ;
Remote_Seized_LED                               "" ;
Local_Progressing_LED                           "" ;
Remote_Progressing_LED                          "" ;
Local_Ringing_LED                               "" ;
Remote_Ringing_LED                              "" ;
Local_Active_LED                                "" ;
Remote_Active_LED                               "" ;
Local_Held_LED                                  "" ;
Remote_Held_LED                                 "" ;
Register_Failed_LED                             "" ;
Disabled_LED                                    "" ;
Registering_LED                                 "" ;
Call_Back_Active_LED                            "" ;
Trunk_In-use_LED                                "" ;
Trunk_No_Service_LED                            "" ;
Trunk_Reserved_LED                              "" ;

# *** Supplementary Services

Conference_Serv                                 "Yes" ;
Attn_Transfer_Serv                              "Yes" ;
Blind_Transfer_Serv                             "Yes" ;
DND_Serv                                        "Yes" ;
Block_ANC_Serv                                  "Yes" ;
Call_Back_Serv                                  "Yes" ;
Block_CID_Serv                                  "Yes" ;
Secure_Call_Serv                                "Yes" ;
Cfwd_All_Serv                                   "Yes" ;
Cfwd_Busy_Serv                                  "Yes" ;
Cfwd_No_Ans_Serv                                "Yes" ;
Paging_Serv                                     "Yes" ;
Call_Park_Serv                                  "Yes" ;
Call_Pick_Up_Serv                               "Yes" ;
ACD_Login_Serv                                  "No" ;
Group_Call_Pick_Up_Serv                         "Yes" ;
ACD_Ext                                         "1" ;  # options: 1/2/3/4
Service_Annc_Serv                               "No" ;

# *** Ring Tone

Ring1                                           "n=Classic-1;w=3;c=1" ;
Ring2                                           "n=Classic-2;w=3;c=2" ;
Ring3                                           "n=Classic-3;w=3;c=3" ;
Ring4                                           "n=Classic-4;w=3;c=4" ;
Ring5                                           "n=Simple-1;w=2;c=1" ;
Ring6                                           "n=Simple-2;w=2;c=2" ;
Ring7                                           "n=Simple-3;w=2;c=3" ;
Ring8                                           "n=Simple-4;w=2;c=4" ;
Ring9                                           "n=Simple-5;w=2;c=5" ;
Ring10                                          "n=Office;w=4;c=1" ;
Ring11                                          "n=Pulse;w=5;c=1" ;
Ring12                                          "n=Du-dut;w=6;c=1" ;

# *** Audio Input Gain (dB)

Handset_Input_Gain                              "0" ;  # options: -6/0/6
Headset_Input_Gain                              "0" ;  # options: -6/0/6/12/-12/-18
Speakerphone_Input_Gain                         "0" ;  # options: -6/0/6
Acoustic_Echo_Canceller_Enable                  "Yes" ;
Handset_Additional_Input_Gain                   "0" ;  # options: -3/-2/-1/0/1/2/3
Headset_Additional_Input_Gain                   "0" ;  # options: -3/-2/-1/0/1/2/3
Speakerphone_Additional_Input_Gain              "0" ;  # options: -3/-2/-1/0/1/2/3

# *** Multiple Paging Group Parameters

Group_Paging_Script                             "pggrp=224.168.168.168:34560;name=All;num=800;listen=yes;" ;

# *** Broadsoft Settings

Directory_Enable                                "No" ;
XSI_Host_Server                                 "" ;
Directory_Name                                  "" ;
Directory_Type                                  "Enterprise" ;  # options: Enterprise/Group/Personal
Directory_UserID                                "" ;
Directory_Password                              "" ;

# *** LDAP Corporate Directory Search

LDAP_Dir_Enable                                 "No" ;
LDAP_Corp_Dir_Name                              "" ;
LDAP_Server                                     "" ;
LDAP_Auth_Method                                "None" ;  # options: None/Simple/DIGEST-MD5
LDAP_Client_DN                                  "" ;
LDAP_Username                                   "" ;
LDAP_Password                                   "" ;
LDAP_Search_Base                                "" ;
LDAP_Last_Name_Filter                           "" ;
LDAP_First_Name_Filter                          "" ;
LDAP_Search_Item_3                              "" ;
LDAP_Item_3_Filter                              "" ;
LDAP_Search_Item_4                              "" ;
LDAP_item_4_Filter                              "" ;
LDAP_Display_Attrs                              "" ;
LDAP_Number_Mapping                             "" ;

# *** XML Service

XML_Directory_Service_Name                      "" ;
XML_Directory_Service_URL                       "" ;
XML_Application_Service_Name                    "" ;
XML_Application_Service_URL                     "" ;
XML_User_Name                                   "" ;
XML_Password                                    "" ;

# *** Extension Mobility

EM_Enable                                       "No" ;
EM_User_Domain                                  "" ;
EM_Phone_User_ID                                "" ;
EM_Phone_Password                               "" ;
EM_Mobile_User_ID                               "" ;
EM_Mobile_Password                              "" ;

# *** Programmable Softkeys

Programmable_Softkey_Enable                     "No" ;
Idle_Key_List                                   "em_login|1;acd_login|1;acd_logout|1;astate|2;avail|3;unavail|3;redial|5;dir|6;cfwd|7;dnd|8;lcr|9;pickup|10;gpickup|11;unpark|12;em_logout" ;
Missed_Call_Key_List                            "lcr|1;miss|4" ;
Off_Hook_Key_List                               "redial|1;dir|2;cfwd|3;dnd|4;lcr|5;unpark|6;pickup|7;gpickup|8;starcode|11;alpha|12" ;
Dialing_Input_Key_List                          "dial|1;delchar|2;clear|3;cancel|4;left|5;right|6;starcode|7;alpha|8;dir" ;
Progressing_Key_List                            "endcall|2" ;
Connected_Key_List                              "hold|1;endcall|2;conf|3;xfer|4;toggle;bxfer;confLx;xferLx;park;phold;flash;" ;
Start-Xfer_Key_List                             "hold|1;endcall|2;xfer|4;toggle;" ;
Start-Conf_Key_List                             "hold|1;endcall|2;conf|3;toggle;" ;
Conferencing_Key_List                           "hold|1;endcall|2;join|4" ;
Releasing_Key_List                              "endcall|2;" ;
Hold_Key_List                                   "resume|1;endcall|2;newcall|3;redial;dir;cfwd;dnd" ;
Ringing_Key_List                                "answer|1;ignore|2;toggle|4" ;
Shared_Active_Key_List                          "newcall|1;barge|2;cfwd|3;dnd|4" ;
Shared_Held_Key_List                            "resume|1;barge|2;cfwd|3;dnd|4" ;
PSK_1                                           "" ;
PSK_2                                           "" ;
PSK_3                                           "" ;
PSK_4                                           "" ;
PSK_5                                           "" ;
PSK_6                                           "" ;
PSK_7                                           "" ;
PSK_8                                           "" ;
PSK_9                                           "" ;
PSK_10                                          "" ;
PSK_11                                          "" ;
PSK_12                                          "" ;
PSK_13                                          "" ;
PSK_14                                          "" ;
PSK_15                                          "" ;
PSK_16                                          "" ;

# *** Call Progress Tones

Dial_Tone                                       "350@-19,440@-19;10(*/0/1+2)" ;
Outside_Dial_Tone                               "420@-16;10(*/0/1)" ;
Prompt_Tone                                     "520@-19,620@-19;10(*/0/1+2)" ;
Busy_Tone                                       "480@-19,620@-19;10(.5/.5/1+2)" ;
Reorder_Tone                                    "480@-19,620@-19;10(.25/.25/1+2)" ;
Off_Hook_Warning_Tone                           "480@-10,620@0;10(.125/.125/1+2)" ;
Ring_Back_Tone                                  "440@-19,480@-19;*(2/4/1+2)" ;
Call_Waiting_Tone                               "440@-10;30(.3/9.7/1)" ;
Confirm_Tone                                    "600@-16;1(.25/.25/1)" ;
SIT1_Tone                                       "985@-16,1428@-16,1777@-16;20(.380/0/1,.380/0/2,.380/0/3,0/4/0)" ;
SIT2_Tone                                       "914@-16,1371@-16,1777@-16;20(.274/0/1,.274/0/2,.380/0/3,0/4/0)" ;
SIT3_Tone                                       "914@-16,1371@-16,1777@-16;20(.380/0/1,.380/0/2,.380/0/3,0/4/0)" ;
SIT4_Tone                                       "985@-16,1371@-16,1777@-16;20(.380/0/1,.274/0/2,.380/0/3,0/4/0)" ;
MWI_Dial_Tone                                   "350@-19,440@-19;2(.1/.1/1+2);10(*/0/1+2)" ;
Cfwd_Dial_Tone                                  "350@-19,440@-19;2(.2/.2/1+2);10(*/0/1+2)" ;
Holding_Tone                                    "600@-19;25(.1/.1/1,.1/.1/1,.1/9.5/1)" ;
Conference_Tone                                 "350@-19;20(.1/.1/1,.1/9.7/1)" ;
Secure_Call_Indication_Tone                     "397@-19,507@-19;15(0/2/0,.2/.1/1,.1/2.1/2)" ;
Page_Tone                                       "600@-16;.3(.05/0.05/1)" ;
Alert_Tone                                      "600@-19;.2(.05/0.05/1)" ;
Call_Pickup_Tone                                "440@-10;30(.3/9.7/1)" ;

# *** Distinctive Ring Patterns

Cadence_1                                       "60(2/4)" ;
Cadence_2                                       "60(.3/.2,1/.2,.3/4)" ;
Cadence_3                                       "60(.8/.4,.8/4)" ;
Cadence_4                                       "60(.4/.2,.3/.2,.8/4)" ;
Cadence_5                                       "60(.2/.2,.2/.2,.2/.2,1/4)" ;
Cadence_6                                       "60(.2/.4,.2/.4,.2/4)" ;
Cadence_7                                       "60(4.5/4)" ;
Cadence_8                                       "60(0.25/9.75)" ;
Cadence_9                                       "60(.4/.2,.4/2)" ;

# *** Control Timer Values (sec)

Reorder_Delay                                   "255" ;
Call_Back_Expires                               "1800" ;
Call_Back_Retry_Intvl                           "30" ;
Call_Back_Delay                                 ".5" ;
Interdigit_Long_Timer                           "10" ;
Interdigit_Short_Timer                          "3" ;

# *** Vertical Service Activation Codes

Call_Return_Code                                "*69" ;
Blind_Transfer_Code                             "*98" ;
Call_Back_Act_Code                              "*66" ;
Call_Back_Deact_Code                            "*86" ;
Cfwd_All_Act_Code                               "*72" ;
Cfwd_All_Deact_Code                             "*73" ;
Cfwd_Busy_Act_Code                              "*90" ;
Cfwd_Busy_Deact_Code                            "*91" ;
Cfwd_No_Ans_Act_Code                            "*92" ;
Cfwd_No_Ans_Deact_Code                          "*93" ;
CW_Act_Code                                     "*56" ;
CW_Deact_Code                                   "*57" ;
CW_Per_Call_Act_Code                            "*71" ;
CW_Per_Call_Deact_Code                          "*70" ;
Block_CID_Act_Code                              "*67" ;
Block_CID_Deact_Code                            "*68" ;
Block_CID_Per_Call_Act_Code                     "*81" ;
Block_CID_Per_Call_Deact_Code                   "*82" ;
Block_ANC_Act_Code                              "*77" ;
Block_ANC_Deact_Code                            "*87" ;
DND_Act_Code                                    "*78" ;
DND_Deact_Code                                  "*79" ;
Secure_All_Call_Act_Code                        "*16" ;
Secure_No_Call_Act_Code                         "*17" ;
Secure_One_Call_Act_Code                        "*18" ;
Secure_One_Call_Deact_Code                      "*19" ;
Paging_Code                                     "*96" ;
Call_Park_Code                                  "*38" ;
Call_Pickup_Code                                "*36" ;
Call_UnPark_Code                                "*39" ;
Group_Call_Pickup_Code                          "*37" ;
Media_Loopback_Code                             "*03" ;
Referral_Services_Codes                         "" ;
Feature_Dial_Services_Codes                     "" ;

# *** Vertical Service Announcement Codes

Service_Annc_Base_Number                        "" ;
Service_Annc_Extension_Codes                    "" ;

# *** Outbound Call Codec Selection Codes

Prefer_G711u_Code                               "*017110" ;
Force_G711u_Code                                "*027110" ;
Prefer_G711a_Code                               "*017111" ;
Force_G711a_Code                                "*027111" ;
Prefer_G723_Code                                "*01723" ;
Force_G723_Code                                 "*02723" ;
Prefer_G722_Code                                "*01722" ;
Force_G722_Code                                 "*02722" ;
Prefer_L16_Code                                 "*01016" ;
Force_L16_Code                                  "*02016" ;
Prefer_G726r16_Code                             "*0172616" ;
Force_G726r16_Code                              "*0272616" ;
Prefer_G726r24_Code                             "*0172624" ;
Force_G726r24_Code                              "*0272624" ;
Prefer_G726r32_Code                             "*0172632" ;
Force_G726r32_Code                              "*0272632" ;
Prefer_G726r40_Code                             "*0172640" ;
Force_G726r40_Code                              "*0272640" ;
Prefer_G729a_Code                               "*01729" ;
Force_G729a_Code                                "*02729" ;

# *** Miscellaneous

Set_Local_Date_(mm/dd)                          "" ;
Set_Local_Time_(HH/mm)                          "" ;
Time_Zone                                       "GMT+07:00" ;  # options: GMT-12:00/GMT-11:00/GMT-10:00/GMT-09:00/GMT-08:00/GMT-07:00/GMT-06:00/GMT-05:00/GMT-04:00/GMT-03:30/GMT-03:00/GMT-02:00/GMT-01:00/GMT/GMT+01:00/GMT+02:00/GMT+03:00/GMT+03:30/GMT+04:00/GMT+05:00/GMT+05:30/GMT+05:45/GMT+06:00/GMT+06:30/GMT+07:00/GMT+08:00/GMT+09:00/GMT+09:30/GMT+10:00/GMT+11:00/GMT+12:00/GMT+13:00
Time_Offset_(HH/mm)                             "" ;
Ignore_DHCP_Time_Offset                         "Yes" ;
Daylight_Saving_Time_Rule                       "" ;
Daylight_Saving_Time_Enable                     "Yes" ;
DTMF_Playback_Level                             "-16" ;
DTMF_Playback_Length                            ".1" ;
Inband_DTMF_Boost                               "12dB" ;  # options: 0dB/3dB/6dB/9dB/12dB/15dB/18dB
Dictionary_Server_Script                        "" ;
Language_Selection                              "" ;
Default_Character_Encoding                      "ISO-8859-1" ;  # options: ISO-8859-1/UTF-8
Locale                                          "en-US" ;  # options: en-US/en-CA/en-AU/en-GB/fr-FR/fr-CA/es-ES/it-IT/de-DE/nn-NO/pt-PT/nl-NL/sv-SE/pt-BZ/es-MX/en-NZ/da-DK

# *** General

Subscribe_Expires                               "1800" ;
Subscribe_Retry_Interval                        "30" ;
Unit_1_Enable                                   "Yes" ;
Subscribe_Delay                                 "1" ;
Unit_2_Enable                                   "Yes" ;
Server_Type                                     "Broadsoft" ;  # options: Broadsoft/SPA9000/Asterisk/RFC3265_4235/Sylantro
Test_Mode_Enable                                "No" ;
Attendant_Console_Call_Pickup_Code              "*98" ;
Attendant_Console_Call_Park_Code                "*68" ;
Attendant_Console_Call_unPark_Code              "*88" ;
BLF_List_URI                                    "" ;
Call_Pickup_Audio_Notification                  "No" ;

# *** Attendant Key LED Pattern

Application_LED                                 "" ;
Serv_Subscribe_Failed_LED                       "" ;
Serv_Subscribing_LED                            "" ;
SNRM_Day_Mode_LED                               "" ;
SNRM_Night_Mode_LED                             "" ;
Parking_Lot_Idle_LED                            "" ;
Parking_Lot_Busy_LED                            "" ;
BLF_Idle_LED                                    "" ;
BLF_Ringing_LED                                 "" ;
BLF_Busy_LED                                    "" ;
BLF_Held_LED                                    "" ;

# *** Unit 1

Unit_1_Key_1                                    "" ;
Unit_1_Key_2                                    "" ;
Unit_1_Key_3                                    "" ;
Unit_1_Key_4                                    "" ;
Unit_1_Key_5                                    "" ;
Unit_1_Key_6                                    "" ;
Unit_1_Key_7                                    "" ;
Unit_1_Key_8                                    "" ;
Unit_1_Key_9                                    "" ;
Unit_1_Key_10                                   "" ;
Unit_1_Key_11                                   "" ;
Unit_1_Key_12                                   "" ;
Unit_1_Key_13                                   "" ;
Unit_1_Key_14                                   "" ;
Unit_1_Key_15                                   "" ;
Unit_1_Key_16                                   "" ;
Unit_1_Key_17                                   "" ;
Unit_1_Key_18                                   "" ;
Unit_1_Key_19                                   "" ;
Unit_1_Key_20                                   "" ;
Unit_1_Key_21                                   "" ;
Unit_1_Key_22                                   "" ;
Unit_1_Key_23                                   "" ;
Unit_1_Key_24                                   "" ;
Unit_1_Key_25                                   "" ;
Unit_1_Key_26                                   "" ;
Unit_1_Key_27                                   "" ;
Unit_1_Key_28                                   "" ;
Unit_1_Key_29                                   "" ;
Unit_1_Key_30                                   "" ;
Unit_1_Key_31                                   "" ;
Unit_1_Key_32                                   "" ;

# *** Unit 2

Unit_2_Key_1                                    "" ;
Unit_2_Key_2                                    "" ;
Unit_2_Key_3                                    "" ;
Unit_2_Key_4                                    "" ;
Unit_2_Key_5                                    "" ;
Unit_2_Key_6                                    "" ;
Unit_2_Key_7                                    "" ;
Unit_2_Key_8                                    "" ;
Unit_2_Key_9                                    "" ;
Unit_2_Key_10                                   "" ;
Unit_2_Key_11                                   "" ;
Unit_2_Key_12                                   "" ;
Unit_2_Key_13                                   "" ;
Unit_2_Key_14                                   "" ;
Unit_2_Key_15                                   "" ;
Unit_2_Key_16                                   "" ;
Unit_2_Key_17                                   "" ;
Unit_2_Key_18                                   "" ;
Unit_2_Key_19                                   "" ;
Unit_2_Key_20                                   "" ;
Unit_2_Key_21                                   "" ;
Unit_2_Key_22                                   "" ;
Unit_2_Key_23                                   "" ;
Unit_2_Key_24                                   "" ;
Unit_2_Key_25                                   "" ;
Unit_2_Key_26                                   "" ;
Unit_2_Key_27                                   "" ;
Unit_2_Key_28                                   "" ;
Unit_2_Key_29                                   "" ;
Unit_2_Key_30                                   "" ;
Unit_2_Key_31                                   "" ;
Unit_2_Key_32                                   "" ;
Protect_IVR_FactoryReset                        "Yes" ;


3. Mengenkripsinya file konfigurasinya
Mengenkripsi sebenarnya adalah hanya pilihan penulis, agar file konfigurasi yang kita miliki secure, tidak bisa di lihat yang bukan haknya. Ada berbagai macam cara enkripsi bisa menggunakan openssl maupun tool cisco, berikut adalah contoh berbagai macam cara enkripsi:
spc --rc4 --ascii-key S@b3ni spa502.txt spa502.cfg
spc --aes --ascii-key s1kUmb@ng spa502.txt spa502.cfg
spc --aes --ascii-key “rahasia lohh 123” spa502.txt spa502.cfg
spc --aes --hex-key 5111aa1...b1a21 spa962.txt spa962.cfg
spc --target 002b083afa11 –-aes –-ascii-key un1x0raspasswD file.txt file.cfg
tapi dengan cara diatas kita harus memasukan password pada file konfigurasi utama untuk mendekripnya, dengan cara seperti berikut:
[--key “rahasia lohh 123”] http://192.168.0.100/xml/filespa.cfg
Cara seperti ini menurut penulis aneh =D, satu sisi enkripsi file konfigurasi, satu sisi store plaintext password ?? hayahh..
akhirnya penulis gunakan ./spc --target 30e4db2a59xx meetingroom2 spa30e4db2a59xx.cfg
File akan di enkripsi menjadi spa30e4db2a59xx.cfg, dah otomatis menuju sip phone ke si pemilik alamat MAC =D.

Tool dari cisco bisa di dapat di download pada link berikut:
 http://download.cisco.com/swc/esd/06/282724524/anon/spa50x-30x-sip-7-5-1a-spc.zip
4. Menambahkan opsi alamat IP TFTP server pada DHCP server
Setelah semua file konfigurasi di buat, tinggal tambahkan opsi alamat ip TFTP server, tujuannya adalah setelah sip phone dapat ip, memberitahukan alamat letak dimana konfigurasi sip phone.
option tftp-server-name         "192.168.0.100";
Silahkan restart DHCP server.

Setelah semua selesai, jika konfigurasi benar sip phone akan restart secara otomasi, kira-kira 3-5 kali restart, setelah itu bisa di lihat display sip phone. Dan coba untuk mendial keluar.
 
Copyright © 2011. COMASTNET - All Rights Reserved