Upgrade Grandstream IP phones

One of my responsibility in my job ensure IP phones software is up to date and fix all bugs in software.

If you want to update ensure to  read the “change log” of the product and ensure from the firmware if it’s stable or beta version.

Lets’s go to upgrade.

1- you must have firmware location to make the phone pull the firmware from it. Grandstream support three protocols to upgrade “TFTTP ,  HTTP and HTTPS”, let’s go.

# mkdir /var/www/html/gs
# chmod o=rwx /var/www/html/gs

2- Go to Grandstream firmware site and choose the Phone Model and download it.

3- Unzip the firmware.

4- Use any FTP software to upload the firmware to gs directory and ensure you can access the directory by go to web browser and go to http://<your-server-ip/gs and you can download it.

Screenshot from 2015-07-08 01:04:01

5- Go to Phone and write username and password then go to

config -> upgrade -> upgrade via ( choose HTTP)
write in Firmware Server: <your-ip-server>/gs

every phone different in this location .. back to your phone manual to find this options.

6- Restart Your Phone and you found your phone flashing with red led and upgrade the phone. Like This Video

In My Post I choose GXP1450 Model.

Posted in VoIP | Tagged , , | Leave a comment

Zabbix Network Monitoring Essentials – book review


9764OS_B04033__Zabbix Network Monitoring Essentials_Cover

since one year and half my manager asked from me to monitoring the infrastructure. After using many of monitoring tools. I decided to use zabbix to monitor. After Long time from studying and trying monitoring and network management but the road was hard for me because No one in my community understand monitoring generally and zabbix specially.

From short time i asked to review the book, I found it’s amazing book for beginners to start the monitoring world and some of practical examples you can see in real world. The book writer firstly explain how to install zabbix in large environment and shapes of installation from standalone to distributed ( Advice: The right installation of system due to close your phone in Night and go into deeply sleep 🙂 )

The book consist of 5 chapters:

1- Installing a Distributed Zabbix Setup

2- Active Monitoring of Your Devices

3- Monitoring Your Network Services

4- Discovering Your Network

5- Visualizing Your Topology with Maps and Graphs

If you want to persuade your manager to buy new server, you want mastering monitoring tools like zabbix .. If you want buy book

Posted in NMS | Tagged , | Leave a comment

How install Zabbix 2.2.x on Centos 6

What is Zabbix ?

Zabbix is an enterprise-class open source distributed monitoring solution.

Zabbix is software that monitors numerous parameters of a network and the health and integrity of servers. Zabbix uses a flexible notification mechanism that allows users to configure e-mail based alerts for virtually any event. This allows a fast reaction to server problems. Zabbix offers excellent reporting and data visualisation features based on the stored data. This makes Zabbix ideal for capacity planning.

System LAB

OS: CentOS 6.6

arch: x86_64


# yum update 
# hostname zabbix-server 
# vim /etc/hosts localhost zabbix-server



MySQL Server

# yum install mysql mysql-server -y
# chkconfig mysqld --level 345 on
# service mysqld start
# mysql_secure_installation



# yum install httpd
# chkconfig httpd --level 345 on
# service httpd start



# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# service iptables restart



# yum install php php-cli php-common php-devel php-pear php-gd php-mbstring php-mysql php-xml


Installing repository configuration package

# rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
# rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent


Creating initial database

# mysql -u root -p
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';


Import initial schema and data

# cd /usr/share/doc/zabbix-server-mysql-2.2.8/create/
# mysql -uroot zabbix -p << schema.sql
# mysql -uroot zabbix -p << images.sql
# mysql -uroot zabbix -p << data.sql


Modify TimeZone

# vi /etc/php.ini

Go to “date.timezone”

you can get your timezone form here

you can get your timezone from

Edit database configuration in zabbix_server.conf

# vi /etc/zabbix/zabbix_server.conf


Start Your server

# chkconfig zabbix-server on
# service zabbix-server restart

Finally Go To Your Fav Browser and write



if my server has ip , i’ll write

Zabbix Setup Welcome Screen

click next

Check of pre-requisites


if some values don’t meet the required prerequisites , modify that in file php.ini

# vi /etc/php.ini

then refresh the page to see “ok” then click next to

configure DB Configuration


then click next to

configure Host


then next -> Finish

Default Username: Admin
Default Password: zabbix



Posted in NMS | Tagged | Leave a comment

RHCSA Version 7

I decide after 4 years of using Linux as user to system administrator. I decide to prepare to RHCSA ( RedHat Certified System Administrator) version 7.

Exam Objectives of Certification is

Understand and use essential tools


  1. Access a shell prompt and issue commands with correct syntax.
  2. Use input-output redirection (>, >>, |, 2>, etc.).
  3. Use grep and regular expressions to analyze text.
  4. Access remote systems using ssh and VNC.
  5. Log in and switch users in multiuser targets.
  6. Archive, compress, unpack, and uncompress files using tar, star, gzip, and bzip2.
  7. Create and edit text files.
  8. Create, delete, copy, and move files and directories.
  9. Create hard and soft links.
  10. List, set, and change standard ugo/rwx permissions.
  11. Locate, read, and use system documentation including man, info, and files in /usr/share/doc

NOTE: Red Hat may use applications during the exam that are not included in Red Hat Enterprise Linux for the purpose of evaluation candidate’s abilities to meet this objective.


Operate running systems

  1. Boot, reboot, and shut down a system normally.
  2. Boot systems into different targets manually.
  3. Interrupt the boot process in order to gain access to a system.
  4. Identify CPU/memory intensive processes, adjust process priority with renice, and kill processes.
  5. Locate and interpret system log files and journals.
  6. Access a virtual machine’s console.
  7. Start and stop virtual machines.
  8. Start, stop, and check the status of network services.
  9. Securely transfer files between systems.


Configure local storage

  1. List, create, delete partitions on MBR and GPT disks.
  2. Create and remove physical volumes, assign physical volumes to volume groups, and create and delete logical Volumes.
  3. Create and configure LUKS-encrypted partitions and logical volumes to prompt for password and mount a decrypted file system at boot.
  4. Configure systems to mount file systems at boot by Universally Unique ID (UUID) or label.
  5. Add new partitions and logical volumes, and swap to a system non-destructively.


Create and configure file systems

  1. Create, mount, unmount, and use vfat, ext4 and xfs file systems.
  2. Mount, unmount, and use LUKS-encrypted file systems.
  3. Mount and unmount CIFS and NFS network file systems.
  4. Configure systems to mount LUKS-encrypted, and network file systems automatically.
  5. Extend existing unencrypted logical volumes.
  6. Create and configure set-GID directories for collaboration.
  7. Create and manage Access Control Lists (ACLs).
  8. Diagnose and correct file permission problems.


Deploy, configure, and maintain systems

  1. Configure networking and hostname resolution statically or dynamically.
  2. Schedule tasks using at and cron.
  3. Start and stop services and configure services to start automatically at boot.
  4. Configure systems to boot into a specific target automatically.
  5. Install Red Hat Enterprise Linux automatically using Kickstart.
  6. Configure a physical machine to host virtual guests.
  7. Install Red Hat Enterprise Linux systems as virtual guests.
  8. Configure systems to launch virtual machines at boot.
  9. Configure network services to start automatically at boot.
  10. Configure a system to use time services.
  11. Install and update software packages from Red Hat Network, a remote repository, or from the local file system.
  12. Update the kernel package appropriately to ensure a bootable system.
  13. Modify the system bootloader.


Manage users and groups

  1. Create, delete, and modify local user accounts.
  2. Change passwords and adjust password aging for local user accounts.
  3. Create, delete, and modify local groups and group memberships.
  4. Configure a system to use an existing LDAP directory service for user and group information.
  5. Configure a system to use an existing authentication service for user and group information.


Manage security

  1. Configure firewall settings using system-config-firewall or iptables.
  2. Configure key-based authentication for SSH.
  3. Set enforcing and permissive modes for SELinux.
  4. List and identify SELinux file and process context.
  5. Restore default file contexts.
  6. Use boolean settings to modify system SELinux settings.
  7. Diagnose and address routine SELinux policy violations

Later in my blog , i write the some changes and my knowledge from my study to this great certificate.

Posted in RHCSA | Tagged , | Leave a comment

SDN Form Georgia Institute of Technology

Course “Software Defined Networking” starts on coursera after 4 days from now by Dr. Nick Feamster

This course introduces software defined networking, an emerging paradigm in computer networking that allows a logically centralized software program to control the behavior of an entire network.

Separating a network’s control logic from the underlying physical routers and switches that forward traffic allows network operators to write high-level control programs that specify the behavior of an entire network, in contrast to conventional networks, whereby network operators must codify functionality in terms of low-level device configuration.

Logically centralized network control makes it possible for operators to specify more complex tasks that involve integrating many disjoint network functions (e.g., security, resource control, prioritization) into a single control framework, allowing network operators to create more sophisticated policies, and making network configurations easier to configure, manage, troubleshoot, and debug.

Course covers 8 modules Over 6 weeks.

Module 1: History and evolution of SDN

Module 2: Control and data plane separation

Module 3: Virtual networking

Modules 4 & 5 : SDN Nuts and Bolts

—Control Plane

—Data Plane

Module 6: Programming SDNs

Modules 7: Use Cases

Module 8: Looking Forward between them

Course prerequisites:

1- Strong Background in networking you can remember it from this book.
2- Good Experience in Python Language.
3- Some Experience in Virtual Machine(VMs) and Network Virtualization.

Useful Links:

OpenFlow: Basic description of OpenFlow
Open Networking Foundation
Mininet Project
Software Defined Networking (SDN) Introduction (Video) From Eli the Computer Guy Channel.
How SDN will Shape Networking – Nick McKeown (Video)
An attempt to motivate and clarify Software-Defined Networking (SDN) (Video)

I wish to study a nice course 🙂

Posted in SDN | Tagged , | Leave a comment

Transmission unable to save resume file permission denied

The problem when you open any torrent file and after few seconds appear error massage “unable to save: resume file permission denied”

solve this problem, change the owner and group of user config transmission folder

open your terminal and write

$sudo chown username:username  ~/.config/transmission/ -R

write your root password and open your transmission program.

on my machine my user name is “amrzaki”


To know your username on your machine write command “users” without double quotes

Posted in Linux | Tagged | Leave a comment

install Qemu 0.11 for GNS3

After install GNS3, you need to install patched qemu to run virtualized hosts to integrate with your Lab.

First Qemu Patch/Compilation part

1- Install Dependences

# yum install -y ncurses ncurses-devel zlib zlib-devel SDL SDL-devel libpcap libpcap-devel wget


2- Download and patch Qemu

# cd /opt/

# wget http://download.savannah.gnu.org/releases/qemu/qemu-0.11.0.tar.gz

# tar xvzf qemu-0.11.0.tar.gz

# cd qemu-0.11.0/

# wget http://downloads.sourceforge.net/gns-3/qemu-0.11.0-olive.patch?download

# mv qemu-0.11.0-olive.patch?download qemu-0.11.0-olive.patch

# patch -p1 -i qemu-0.11.0-olive.patch

# ./configure --target-list=i386-softmmu

# make

# make install


Second Configure Qemu

set qemu path: /usr/local/bin/qemu

and qemu-img: /usr/local/bin/qemu-img

then click on “test settings”

Troubleshooting section

1 – “/bin/ld: vl.o: undefined reference to symbol ‘timer_settime@@GLIBC_2.2” Problem:

Issue is solved by editing two files, Makefile and Makefile.target by adding

LIBS+=-lz -lrt -lm


Posted in GNS3 | Tagged , , | Leave a comment