Mysql commands

#mysql -u root -p

Create a database on the sql server.

mysql> create database [databasename];

List all databases on the sql server.

mysql> show databases;

Switch to a database.

mysql> use [db name];

To see all the tables in the db.

mysql> show tables;

To see database’s field formats.

mysql> describe [table name];

To delete a db.

mysql> drop database [database name];

To delete a table.

mysql> drop table [table name];

Show all data in a table.

mysql> SELECT * FROM [table name];

Returns the columns and column information pertaining to the designated table.

mysql> show columns from [table name];

Show certain selected rows with the value “whatever”.

mysql> SELECT * FROM [table name] WHERE [field name] = “whatever”;

Show all records containing the name “Bob” AND the phone number ‘3444444’.

mysql> SELECT * FROM [table name] WHERE name = “Bob” AND phone_number = ‘3444444’;

Show all records not containing the name “Bob” AND the phone number ‘3444444’ order by the phone_number field.

mysql> SELECT * FROM [table name] WHERE name != “Bob” AND phone_number = ‘3444444’ order by phone_number;

Show all records starting with the letters ‘bob’ AND the phone number ‘3444444’.

mysql> SELECT * FROM [table name] WHERE name like “Bob%” AND phone_number = ‘3444444’;

Show all records starting with the letters ‘bob’ AND the phone number ‘3444444’ limit to records 1 through 5.

mysql> SELECT * FROM [table name] WHERE name like “Bob%” AND phone_number = ‘3444444’ limit 1,5;

Use a regular expression to find records. Use “REGEXP BINARY” to force case-sensitivity. This finds any record beginning with a.

mysql> SELECT * FROM [table name] WHERE rec RLIKE “^a”;

Show unique records.

mysql> SELECT DISTINCT [column name] FROM [table name];

Show selected records sorted in an ascending (asc) or descending (desc).

mysql> SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;

Return number of rows.

mysql> SELECT COUNT(*) FROM [table name];

Sum column.

mysql> SELECT SUM(*) FROM [table name];

Join tables on common columns.

mysql> select lookup.illustrationid, lookup.personid,person.birthday from lookup left join person on lookup.personid=person.personid=statement to join birthday in person table with primary illustration id;

Creating a new user. Login as root. Switch to the MySQL db. Make the user. Update privs.

# mysql -u root -p
mysql> use mysql;
mysql> INSERT INTO user (Host,User,Password) VALUES(‘%’,’username’,PASSWORD(‘password’));
mysql> flush privileges;

Change a users password from unix shell.

# [mysql dir]/bin/mysqladmin -u username -h hostname.blah.org -p password ‘new-password’

Change a users password from MySQL prompt. Login as root. Set the password. Update privs.

# mysql -u root -p
mysql> SET PASSWORD FOR ‘user’@’hostname’ = PASSWORD(‘passwordhere’);
mysql> flush privileges;

Recover a MySQL root password. Stop the MySQL server process. Start again with no grant tables. Login to MySQL as root. Set new password. Exit MySQL and restart MySQL server.

# /etc/init.d/mysql stop
# mysqld_safe –skip-grant-tables &
# mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD(“newrootpassword”) where User=’root’;
mysql> flush privileges;
mysql> quit
# /etc/init.d/mysql stop
# /etc/init.d/mysql start

Set a root password if there is on root password.

# mysqladmin -u root password newpassword

Update a root password.

# mysqladmin -u root -p oldpassword newpassword

Allow the user “bob” to connect to the server from localhost using the password “passwd”. Login as root. Switch to the MySQL db. Give privs. Update privs.

# mysql -u root -p
mysql> use mysql;
mysql> grant usage on *.* to bob@localhost identified by ‘passwd’;
mysql> flush privileges;

Give user privilages for a db. Login as root. Switch to the MySQL db. Grant privs. Update privs.

# mysql -u root -p
mysql> use mysql;
mysql> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES (‘%’,’databasename’,’username’,’Y’,’Y’,’Y’,’Y’,’Y’,’N’);
mysql> flush privileges;

or

mysql> grant all privileges on databasename.* to username@localhost;
mysql> flush privileges;

To update info already in a table.

mysql> UPDATE [table name] SET Select_priv = ‘Y’,Insert_priv = ‘Y’,Update_priv = ‘Y’ where [field name] = ‘user’;

Delete a row(s) from a table.

mysql> DELETE from [table name] where [field name] = ‘whatever’;

Update database permissions/privilages.

mysql> flush privileges;

Delete a column.

mysql> alter table [table name] drop column [column name];

Add a new column to db.

mysql> alter table [table name] add column [new column name] varchar (20);

Change column name.

mysql> alter table [table name] change [old column name] [new column name] varchar (50);

Make a unique column so you get no dupes.

mysql> alter table [table name] add unique ([column name]);

Make a column bigger.

mysql> alter table [table name] modify [column name] VARCHAR(3);

Delete unique from table.

mysql> alter table [table name] drop index [colmn name];

Load a CSV file into a table.

mysql> LOAD DATA INFILE ‘/tmp/filename.csv’ replace INTO TABLE [table name] FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘\n’ (field1,field2,field3);

Dump all databases for backup. Backup file is sql commands to recreate all db’s.

# [mysql dir]/bin/mysqldump -u root -ppassword –opt >/tmp/alldatabases.sql

Dump one database for backup.

# [mysql dir]/bin/mysqldump -u username -p –databases databasename >/tmp/databasename.sql

Dump a table from a database.

# [mysql dir]/bin/mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql

Restore database (or database table) from backup.

# [mysql dir]/bin/mysql -u username -ppassword databasename < /tmp/databasename.sql

Create Table Example 1.

mysql> CREATE TABLE [table name] (firstname VARCHAR(20), middleinitial VARCHAR(3), lastname VARCHAR(35),suffix VARCHAR(3),officeid VARCHAR(10),userid VARCHAR(15),username VARCHAR(8),email VARCHAR(35),phone VARCHAR(25), groups VARCHAR(15),datestamp DATE,timestamp time,pgpemail VARCHAR(255));

Create Table Example 2.

mysql> create table [table name] (personid int(50) not null auto_increment primary key,firstname varchar(35),middlename varchar(50),lastnamevarchar(50) default ‘bato’);

Nginx: Disabling the SSL v3 Protocol for poodle attack

To disable SSLv3 in the Nginx web server, you can use the ssl_protocols directive. This will be located in the server or http blocks in your configuration.

For instance, on Ubuntu, you can either add this globally to /etc/nginx/nginx.conf inside of the httpblock, or to each server block in the /etc/nginx/sites-enabled directory.

sudo nano /etc/nginx/nginx.conf

To disable SSLv3, your ssl_protocols directive should be set like this:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

You should restart the server after you have made the above modification:

sudo service nginx restart

Install Dell OpenManage on CentOS 6.x

The Dell OpenManage Server Administrator (OMSA) on is a great (and free) Dell hardware monitoring and management system available for Windows and RedHat Linux. It can also be installed on CentOS 6.0 (32bit and 64bit) using the following process:

1. Login to your server via SSH.
2. Change directories to your SRC install

# cd /usr/src

3. Create an install script:

# nano -w dellomi.sh

4. Cut and paste the following text:

#!/bin/bash
#
# Dell OpenIPMI & OpenManage Installer
# Revision: July 22nd 2011
#
HOST=`hostname`
D=`date '+%d%m%y'`
echo "Dell OpenIPMI & OpenManage Automatic Installer"
echo "Revision: July 22nd 2011"
echo
echo "Installing Dell Yum Repository..."
echo
wget -q -O - http://linux.dell.com/repo/hardware/latest/bootstrap.cgi | bash
echo
echo "Dell Repository Install Complete!"
echo
echo "Installing Dell Server Administrator..."
echo
yum -y install srvadmin-all
echo
echo "Dell Server Administrator Install Complete!"
echo
echo "Starting Dell IPMI Services..."
echo
/opt/dell/srvadmin/sbin/srvadmin-services.sh start
echo
echo "Dell OpenIPMI & Dell OpenManage Install Complete!"
echo
echo "Please go to https://$HOST:1311 in order to access Dell OpenManage."
echo

5. Save and exit nano (CTRL+X the Y to Save then exit)

6. Run the script:

# sh dellomi.sh

7. Once the script has complete you will be able to login to Dell OpenManage at https://your-server:1311 with your root username and password.

Note: If you receive dependency errors I recommend force uninstalling the problematic packages (e.g. rpm -e –nodeps $packagename), completing the OpenManage install then re-install the package again.

Asterisk phone cisco 79xx Business PBX Solutions

A guide for configuring a variety of Cisco IP Phone models (79XX series) to work with Asterisk PBX systems. All configuration file examples are available as well. Available online and in PDF format:
Online version: http://minded.ca/default/2009-12-16/configure-cisco-ip-phones-with-asterisk/
PDF version: http://www.minded.ca/default/wp-content/uploads/2009/12/Asterisk-With-Cisco-IP-Phones.pdf

Configuring Cisco 79xx phones with Asterisk

This page documents how you configure a Cisco IP phone with Asterisk.

By default most Cisco VoIP phones come configured for Call Manager, which uses the ‘Skinny’ protocol – SCCP.
Asterisk has 2 implementations for this channel (required for the 7910/20):

  • Skinny implements a very basic set of telephone functions and ships with asterisk.
  • SCCP has implemented more of the SCCP protocol, so some class 5 features (hold, transfer, forward, etc) should work.

However, the 7905/7912 and 7940/60 can be reconfigured to use SIP (recommended for use with Asterisk):http://www.cisco.com/en/US/products/hw/phones/ps379/products_tech_note09186a0080094584.shtml

The 7905 doesn’t have Speakerphone (only a speaker for call monitoring or on-hook dialing), its SIP image has by far the best user interface of all cisco SIP phones, plus it’s nicely compact, and the display even has a higher resolution than that of the 7960. The 7912 is the same as the 7905, but with a built-in ethernet switch.

The 7912/05 phones use a different configuration file format and syntax; for more information about configuring these phones please refer to Cisco 7905/7912 IP Phones.

With the right Cable, 79xx series phones can use standard POE injectors. They also work out of the box with Aironet power injectors. (N.B., the wrong cable may damage your phone!)

TFTP Manager for FreePBX

Cisco IP Phones use a TFTP server for its configuration files and firmware. A FreePBX module for managing TFTP server files has been created and available on the developers website, http://minded.ca/default/2010-06-06/freepbx-module-tftp-manager/ or from the FreePBX Trac ticket #1032


LATEST FIRMWARE VERSION

Version 8.12 is now released (29 May 2009)
There are a few minor bugs fixed. (For Cisco Discovery Protocol (CDP), the VoIP capabilities bit is missing during initial boot)
There is a guide to installing and updating to this firmware here: http://wiki.siftah.com/Cisco_7960G_IP_Phone_on_Asterisk.
V8.12 Release Notes:http://www.cisco.com/en/US/docs/voice_ip_comm/cuipph/7960g_7940g/firmware/sip_cucm/8_12/english/release/notes/796040sip_812.html
V8.12 Download available at: http://radiotwenterand.nl/~graver/cisco/SIP-7960/P0S3-8-12-00.zip

Version 8.11 is now released (9 Feb 2009)
There are a few minor bugs fixed. This version has correctly been loaded on an older 7960.
There is a guide to installing and updating to this firmware here: http://wiki.siftah.com/Cisco_7960G_IP_Phone_on_Asterisk.
V8.11 Release Notes:http://www.cisco.com/en/US/docs/voice_ip_comm/cuipph/7960g_7940g/firmware/sip/8_11/english/release/notes/796040sip_811.html
V8.11 Download available at: http://radiotwenterand.nl/~graver/cisco/SIP-7960/P0S3-08-11-00.zip

Version 8.10 has been released (21 Oct 2008) then quickly removed and no longer avaiable.

Version 8.9 is now released.
That was the latest as of June 26, 2008
V8.9 Download available at: http://radiotwenterand.nl/~graver/cisco/SIP-7960/P0S3-08-9-00.zip

Version 8.8 is now released (a few minor bugfixes)
V8.8 Download available at: http://radiotwenterand.nl/~graver/cisco/SIP-7960/P0S3-08-8-00.zip

Version: v8.7 is now released as per this security advisory.
http://www.cisco.com/warp/public/707/cisco-sr-20070821-sip.shtml
V8.7 Download available at: http://radiotwenterand.nl/~graver/cisco/SIP-7960/P0S3-08-7-00.zip

V8.6 Download available at: http://radiotwenterand.nl/~graver/cisco/P0S3-08-6-00.zip

v8.5

v8.4

Version: v8.3
The file from cisco is designed for the cisco call manager software and is a “.cop” file.
The file from cisco is designed for the cisco call manager software and is a “.cop” file. This file is just a GZIP compressed TAR file. Just ungzip and untar the file to extract the the new files for the phone. It installs just like the version 7 software with a loader and an application file. The standard ZIP file should be released soon.

  • No longer lists server IP on display for caller’s number.
  • At least on the 7960, this release seems to break the Asterisk qualify sip.conf setting. The phone shows as unreachable just after it registers. If you set “qualify=no” it works.
  • I have also seen some other phone display strangeness with this release on the 7960

Version: v8.2

  • Using the existing config files (that worked with v7.x) it seems to work, execpt the CID now displays the IP address also.
  • new config params:
    • line1_contact: number, changes the username part that is sent in the sip Contact: header
    • transfer_onhook_enabled: 1 or 0. If enabled, a call will be transferred when the handset is hung up (rather than having to press the Trnsfr button again. The original behaviour still works.)
    • call_manager1_addr and call_manager1_sip_port, not sure what difference these make
    • dscpForAudio: id, tag audio packets for qos with this dscp id, replace tos_media field
    • connection_monitor_duration: sec
    • encrypt_key: 32hexdigits, careful with this one, some config encryption support or similar
    • xml_card_dir and xml_card_file, actually these appeared earlier, doesnt seem to try load the card.xml over tftp for this, anyone know?
    • Current bug: There appears to be a bug in v8.2 that causes the phone to be unable to register with Broadvoice’s SIP proxy. Downgrading the firmware appears to resolve the issue.

Version: v7.5

  • There seems to be a bug in the 7.5 SIP software (at least on the 7960) that cause the phones to drop registration with Asterisk and not re-register. A phone reboot forces them to reregister for a time. 7.4 with the same configuration does not seem to have the same registration problem. It’s unclear exactly where the issue exists (phone config, asterisk, time settings, etc). – doretel
  • Firmware 7.5 breaks RFC compliance, by not ACKing a 487. http://bugs.digium.com/view.php?id=5336. Also, we have experienced 7940/60 phone hangs/reboots related to “XML Parse Error” displayed on phone screens. Reverting to v.7.4 eliminated these problems. -vechers (The “XML Parse Error” problem and the previously mentioned fix confirmed by rrizzi7210)

v7.4

v7.3

v7.2

v7.1

v7.0 and up:

  • A new design approach is used to store the existing software base in the Cisco 7940 and Cisco 7960 telephones. The new approach utilizes a “run from flash” design to use the Flash and RAM memory available more efficiently.
  • Bugfix: Media takes 0.4 sec to be set up (finally…)
  • Bugfix: HTTP requests fail, sysbufs get hung
  • Numerous other bug fixes, too many to mention (see release notes below)

Click here to see a step by step guide to upgrading to sip version 7.x Cisco 7940-7960 upgrade to version 7.x

CISCO’S RELEASE NOTES
http://www.cisco.com/en/US/products/hw/phones/ps379/prod_release_notes_list.html#anchor12

ARCHIVED IMAGES
http://radiotwenterand.nl/~graver/cisco/SIP-7960/


Cisco 7940/7960 SIP Phone Software Images
Cisco‘s SIP phone software images including versions 3.0, 4.4, 5.3, 6.x – 8.x work well with Asterisk. Features have been implemented and caveats (earlier problems) corrected with each release. Staring from v5.x images have incorporated a software security feature that makes it impossible to revert back to earlier images, although reverting to earlier versions is possible within the same major release (i.e. 7.5 firmware can be rolled back to 7.4 firmware with no problems). Version 6.0 SIP image has been very stable for many Asterisk users. The new 7.x – 8x images feature mainly bug fixes, not new features.

It appears to be impossible to upgrade directly from v3.x to v8.x (probably any version prior to v6.x), I had to upgrade to v6.3 first. It is very hard to find a copy of this the v6.3 firmware (not even on Cisco site). Search for P0S3-06-3-00.zip or get it at http://www.xs4all.nl/~graver1/cisco/SIP-7960/P0S3-06-3-00.zip

The v6.0 software has implemented:

  • Alert-Info (play internal ring tones based on Alert-Info within the SIP header)
  • Auto Answer (2-way paging conversation without picking up handset)
  • DHCP Option 66
  • Directory Enhancements (user can add/change/delete entries in Personal Directory)
  • DSP (new digital signal processor)
  • DSP Alarms, Debugging Aids, and Logging (help diagnose problems)
  • Enhanced Tone and Ring Support (support for more complex tones and ringing patterns)
  • Hot Line / Speeddials (each line button can be programmed to act as a speeddial button)
  • Local Call Forwarding (redirects incoming calls to another extension/URL)
  • Message Waiting Stutter Tone
  • Multiple Call Appearance (receptionist style, all lines have the same extension)
  • Outbound Proxy Redesign (improves use of outbound proxy based on multiple DNS records)
  • SIP Call Statistics (call statistics sent in BYE / 200 OK messages)
  • Resolved Caveats (several previously documented problems have been resolved)

Note: Cisco software images are only available from Cisco’s web site and are protected by copyright laws. Access to their web site requires an account be established. The easiest way to do that is to purchase a Maintenance Agreement from Cisco for approximately $8 per year (US).

Cisco 7941/7961 SIP Phone Software Images

Cisco‘s SIP phone range now includes the 7941/7961, as new firmware v8.0(1) came out for these that supports SIP in March 2006. Previously some v7.0 releases of SCCP had been released. These phones look physically identical to the 7940 phone with the exception of the much better quality display which can display grey shades, however the software for the 7941/7961 appears to have major differences to the 7940/7960 software.

Release notes for 7941/7961 are at http://www.cisco.com/en/US/products/hw/phones/ps379/prod_release_notes_list.html#anchor10

Note that the release notes clearly state at the top of the document that “This SIP firmware was designed and tested to interoperate with Cisco call control, most notably Cisco Unified CallManager version 5.0. Although this SIP deployment is IETF RFC 3261 compliant, it is not supported by Cisco TAC or Engineering for use with non-Cisco call control systems.”. So YMMV if you call the TAC for support.

The v8.0 software for the 7941/7961 has these significant differences over the v8.0 software for the 7940/7960:

  • The built-in web server previously only in the non-SIP images is now in the v8.0 SIP builds
  • The phone does not appear to support the old style config files, all configs for this phone need to be in XML
  • The phone does not appear to support telnet, but instead supports SSH-2.0, although this appears to be undocumented on CCO. At this stage unsure what the default user/password is
  • The config file name is therefore now SEP<mac-address>.cnf.xml
  • Upgrading the firmware load involves the phone uploading 5 signed binary files:jar41sip.8-3-4-16.sbn, cnu41.8-3-4-16.sbn, apps41.8-3-4-16.sbn, dsp41.8-3-4-16.sbn, and cvm41sip.8-3-4-16.sbn (this was for release load version 8-3-4-16 which is the latest as of late April 2008). These phones can be upgraded and the protocol support changed via the normal means of adding <loadInformation>term41.default</loadInformation> to the .cfg.xml file

At this stage, documentation on the format of the xml config file for SIP has proven to be extremely hard to find. Cisco are likely assuming that all adopters of this phone will be running it in a CallManager environment whereby the configs are automatically generated by the CCM. If you do find some or have access to a CallManager 5.0 which can generate these files, please document the basic format so others can configure these phones for SIP in a non CCM environment.

More information on this new config file format and this new series of phones can be found at the 79×1 xml config page Please edit it and improve it as much as you can as information of the nature in that document has not to date been easy to find.

Firmware packing/unpacking utility

There is an utility to pack/unpack CNU firmware files (7941/7961 and some others):

Project page: http://virtualab.ru/en/projects/cnu-fpu

Researcher’s notes: http://virtualab.ru/en/category/projects/cnu-fpu

You can use it to get full root access on devices or just to look deeper in the firmware. There are still much work to do with kernel/root FS image, but it is suitable for most needs.

Software Upgrade Requirements

All software images are upgraded through a TFTP server at your location. If you don’t have one, several free Unix and Windows packages are available via the Internet. The specific instructions as to exactly how to accomplish the upgrade should be reviewed from Cisco’s web site as the exact steps (and possible backout steps) may change from version to version.

The TFTP server directory must include the following files as a minimium (most are upper/lower case sensitive):

  • OS79XX.TXT (The content of this file is solely the software image filename stripped of the .bin, i.e. P0S3-06-1-00)(Contains the universal application loader image in 7.x)

Note:(The 7.1 image upload needs to be spelled P003-07-1-00 in the OS79XX.TXT and P0S3-07-1-00 in the SIPDefault.cnf)
Note:(7941G does not fetch OS79XX.TXT when upgrading from SCCP 8.x to SIP 8.x)
Note:(7940G/7960G SIP v8.x and above does not fetch OS79XX.TXT at all)

  • P003-xx-y-zz.bin (Nonsecure universal application loader for upgrades from pre-5.x images.)
  • P003-xx-y-zz.sbn (Secure universal application loader for upgrades from images 5.x or later.)
  • P0a3-xx-y-zz.loads (File that contains the universal application loader and application image, where “a” represents the protocol of the application image loads file 0-SCCP, S-SIP, M-MGCP.)
  • P0a3-xx-y-zz.sb2 (Application firmware image, where “a” represents the application firmware image.)
  • SIPDefault.cnf (Contains generic parameters for all Cisco phones at your location)
  • SIP00036BAAD139.cnf (Where the last 12 hex digits is the MAC address of your Cisco phone) Sample php script to create the cnf file.

In addition, the following optional files may also be present in the TFTP directory:

  • dialplan.xml (contains entries like “9,1….” that cause the phone to automatically dial after a match)
  • RINGLIST.DAT (a list of ringing tones to be downloaded, like ringer1.pcm)
  • ringer1.pcm (a ringing tone to be downloaded to the phone)

See also: John Todd’s examples

*** Simplify Updates (Auto-Loader Support) ***

This will save you alot of wasted time trying to update newer firmware! For easiest, direct firmware updates from say factory installed SCCP images direct to latest SIP firmware (e.g. SCCP v3.1 to SIP v7.4) — add the following files to your TFTP directory to assist the SCCP based generic Auto-Loader added as of v5.x to Cisco’s SIP/SCCP images:

  • XMLDefault.cnf.xml
  • xmlDefault.CNF.XML

Due to inconsistent coding by Cisco, different firmware may look for different case-sensitive versions of the same file, thus the need for at least the two variations above to cover new phones and a good portion of older one’s. Additionally, here is a usable example of the XML content that should be inserted into the files (be sure and update with the firmware version you wish to load, and match the SIPDefault.cnf and SIPxxxxxxx.cnf file’s “image_version=” entries to match!):

Just add the loadInformation lines relevant to the phone that you have.


<Default>
   <callManagerGroup>
      <members>
         <member priority="0">
            <callManager>
               <ports>
                  <ethernetPhonePort>2000</ethernetPhonePort>
                  <mgcpPorts>
                     <listen>2427</listen>
                     <keepAlive>2428</keepAlive>
                  </mgcpPorts>
               </ports>
               <processNodeName></processNodeName>
            </callManager>
         </member>
      </members>
   </callManagerGroup>
   <loadInformation30002  model="Cisco 7920">cmterm_7920.4.0-03-02</loadInformation30002>
   <loadInformation30006  model="Cisco 7970">SCCP70.8-3-1S</loadInformation30006>
   <loadInformation115  model="Cisco 7941">SCCP41.8-3-1S</loadInformation115>
   <loadInformation30016  model="Cisco IP Communicator"></loadInformation30016>
   <loadInformation30032  model="SCCP gateway virtual phone"></loadInformation30032>
   <loadInformation308  model="Cisco 7961G-GE">SCCP41.8-3-1S</loadInformation308>
   <loadInformation309  model="Cisco 7941G-GE">SCCP41.8-3-1S</loadInformation309>
   <loadInformation30019  model="Cisco 7936">cmterm_7936.3-3-13-0</loadInformation30019>
   <loadInformation12  model="Cisco ATA 186">ATA030203SCCP051201A</loadInformation12>
   <loadInformation412  model="Cisco 3951">SIP3951.8-0-1</loadInformation412>
   <loadInformation365  model="Cisco 7921">CP7921G-1.0.3</loadInformation365>
   <loadInformation30007  model="Cisco 7912">CP7912080003SCCP070409A</loadInformation30007>
   <loadInformation30035  model="IP-STE"></loadInformation30035>
   <loadInformation369  model="Cisco 7906">SCCP11.8-3-1S</loadInformation369>
   <loadInformation30018  model="Cisco 7961">SCCP41.8-3-1S</loadInformation30018>
   <loadInformation20000  model="Cisco 7905">CP7905080003SCCP070409A</loadInformation20000>
   <loadInformation446  model="Cisco 3911"></loadInformation446>
   <loadInformation307  model="Cisco 7911">SCCP11.8-3-1S</loadInformation307>
   <loadInformation4  model="Cisco 12 S"></loadInformation4>
   <loadInformation3  model="Cisco 12 SP"></loadInformation3>
   <loadInformation2  model="Cisco 12 SP+"></loadInformation2>
   <loadInformation1  model="Cisco 30 SP+"></loadInformation1>
   <loadInformation5  model="Cisco 30 VIP"></loadInformation5>
   <loadInformation30  model="Analog Access">A001C030</loadInformation30>
   <loadInformation47  model="Analog Access WS-X6624">A002H024</loadInformation47>
   <loadInformation51  model="Conference Bridge WS-X6608">C00104000001</loadInformation51>
   <loadInformation40  model="Digital Access">D001M022</loadInformation40>
   <loadInformation43  model="Digital Access WS-X6608">D00404000029</loadInformation43>
   <loadInformation42  model="Digital Access+">D00303010033</loadInformation42>
   <loadInformation61  model="H.323 Phone"></loadInformation61>
   <loadInformation7  model="Cisco 7960">P00308000500</loadInformation7>
   <loadInformation100  model="Load Simulator"></loadInformation100>
   <loadInformation111  model="Media Termination Point Hardware">M00104000004</loadInformation111>
   <loadInformation120  model="MGCP Station"></loadInformation120>
   <loadInformation121  model="MGCP Trunk"></loadInformation121>
   <loadInformation348  model="Cisco 7931">SCCP31.8-3-1S</loadInformation348>
   <loadInformation9  model="Cisco 7935">P00503021600</loadInformation9>
   <loadInformation431  model="Cisco 7937"></loadInformation431>
   <loadInformation375  model="Cisco TelePresence"></loadInformation375>
   <loadInformation30008  model="Cisco 7902">CP7902080002SCCP060817A</loadInformation30008>
   <loadInformation11  model="Cisco VGC Virtual Phone"></loadInformation11>
   <loadInformation10  model="Cisco VGC Phone"></loadInformation10>
   <loadInformation6  model="Cisco 7910">P00405000700</loadInformation6>
   <loadInformation8  model="Cisco 7940">P00308000500</loadInformation8>
   <loadInformation30027  model="Analog Phone"></loadInformation30027>
   <loadInformation124  model="7914 14-Button Line Expansion Module">S00105000300</loadInformation124>
   <loadInformation119  model="Cisco 7971">SCCP70.8-3-1S</loadInformation119>
   <loadInformation437  model="Cisco 7975"></loadInformation437>
   <loadInformation404  model="Cisco 7962"></loadInformation404>
   <loadInformation435  model="Cisco 7945"></loadInformation435>
   <loadInformation302  model="Cisco 7985">cmterm_7985.4-1-4-0</loadInformation302>
   <loadInformation434  model="Cisco 7942"></loadInformation434>
   <loadInformation30028  model="ISDN BRI Phone"></loadInformation30028>
   <loadInformation358  model="Cisco Unified Personal Communicator"></loadInformation358>
   <loadInformation335  model="Motorola CN622"></loadInformation335>
   <loadInformation436  model="Cisco 7965"></loadInformation436>  <authenticationURL></authenticationURL>
  <directoryURL></directoryURL>
  <idleURL></idleURL>
  <informationURL></informationURL>
  <messagesURL></messagesURL>
  <servicesURL></servicesURL>
</Default>

 

Misc

See reboot.pl A perl script to handle remote rebooting of the 79xx class phones (useful for multiple-phone upgrades). Requires Net::Telnet.

NOTE: (Sept 2009): Cisco phones with SIP firmware version SIP41-8-4-1S and 8-3-xx using asterisk over UDP do NOT respond to the SIP NOTIFY message!! You can get around this using Emulated User Interaction and a PHP script that essentially presses “Settings -> **#**” for you. In the SEP<MAC>.cnf.xml file, make sure that the authorization page returns authorized for the username and password in the script. You can download it at phonepush.zip. This script must be run on the asterisk box because it asks asterisk to convert the extension into a valid IP address via SIP SHOW PEERS. The syntax is like this: php phonePush.php <command> <extension>. You can add other operations to the script as well by editing the array. The first part is the button you want the phone to press and the second is the delay, or how long to wait before sending the next command.

So you blew up your 7940/7960 trying to load new firmware

Tone Parameters

When connecting to the 79xx range of phones (Tested on 7912) through the web browser, you are able to change the cadance settings etc for different locations via the “Tone Parameters” screen.
This sets call progress indication, such as the busy tone, system busy tone, and ring tone etc.

The default US are as follows: US


SigTimer
0x01418564
RingOnOffTime
2,4,25
DialTone
2,31538,814,30831,2032,0,0,0,0,0,0
DialTone2
2,30743,1384,29864,1252,0,0,0,0,0,0
BusyTone
2,30467,1104,28959,1404,1,4000,4000,0,0,0
ReorderTone
0,2,30467,1104,28959,1404,0,0,1,2000,2000,0,0,0,0,0,0
RingBackTone
2,30831,2032,30467,1104,1,16000,32000,0,0,0
CallWaitTone
1,30831,2412,0,0,1,2400,2400,0,0,4800

The Settings for the United Kingdom settings are: UK


SigTimer
0x01418564
RingOnOffTime
2,4,25
DialTone
2,31537,1833,30830,2287,0,0,0,0,0,0
DialTone2
2,31537,1833,30830,2287,0,0,0,0,0,0
BusyTone
1,31163,1657,0,0,1,3000,3000,0,0,0
ReorderTone
0,1,31163,1657,0,0,0,0,2,3200,2800,1800,4200,0,0,0,0
RingBackTone
2,31163,1173,30742,1314,2,3200,1600,3200,16000,0
CallWaitTone
1,30831,2412,0,0,1,2400,2400,0,0,4800 

 

Logo Displayed on 79XX Screen

A non-Cisco logo can be displayed on the 79XX screen. Cisco’s documentation suggests the logo be a Windows Bitmap form (*.BMP) with 256 colors and 90 x 56 pixels in size. Only two colors are displayed, black or white. The image must be saved in greyscale format. In GIMP it is Image->Mode->Greyscale. If the size of the logo is larger then this specification, the phone will rescale to fit (within reason). Microsoft Paint and many other applications can be used to create the logo image.

Once the image is created, place the *.BMP file on any web site available to you (suggest /asterisk/mylogo.bmp, where the /asterisk directory is not freely advertised).
Modify the SIPDefault.cnt file entry to point to the web site:
logo_url: “http://www.mywebserver.com/asterisk/logo.bmp&#8221;
and reboot the Cisco phone.
Note: the smaller the logo file, the quicker it will load. Typcial logo files should be around 10k bytes.

Note: 7940/7960 phones actually display two colors at 2-bit depth, or four solid colors. For best results creating images/logos that don’t dither and degrade, use #000000 (black) and #FFFFFF (white or clear on the LCD display), then #404040 (dark grey) and #808080 (light gray) as your alternate solid colors (or as the antialiasing colors for excellent results).

Company Telephone Directory

The 79XX phones have four panel keys labeled as Messages, Services, Directories, and Settings. The Directory key can be programmed to view your company’s telephone directory by displaying Names and Telephone Numbers that are stored on any web site available to you.
Modify the SIPDefault.cnf file entry to point to the web site:
directory_url: “http://www.mywebserver.com/asterisk/directory.xml&#8221;
The phone must be rebooted in order to read the above file.
The web site file /asterisk/directory.xml should include xml entries like:

  
  <CiscoIPPhoneDirectory>       
    <Title>IP Telephony Directory</Title>
    <Prompt>People reachable via VoIP</Prompt>                    
    <DirectoryEntry>                                              
      <Name>Rich</Name>         
      <Telephone>3000</Telephone>
    </DirectoryEntry>                                      
    <DirectoryEntry>             
      <Name>Todd</Name>       
      <Telephone>3001</Telephone>                                            
    </DirectoryEntry>      
  </CiscoIPPhoneDirectory>

Note: Each time a user presses the Directory key and accesses the External Directory option from the menu, the phone will access the contents of this html file and display whatever text entries included in it. Therefore, changes to the html file do not require any futher rebooting of the Cisco phone. Cisco has published Cisco IP Phone Services Application Development Notes (CMXML_App_Guide.pdf ) that further explains options and file contents.

Asterisk Cisco 79XX XML Services

Services Button

The 79XX phones have four panel keys labeled as Messages, Services, Directories, and Settings. The Services key can be programmed to execute CGI scripts that are stored on any web site available to you. The CGI scripts can perform any action that you are capable of programming. None are provided by Cisco.
Modify the SIPDefault.cnf file entry to point to the web site:
services_url: “http://www.mywebserver.com/asterisk/myscriptpage.html&#8221;
The phone must be rebooted in order to read the above file.
The web site file /asterisk/myscriptpage.html should include entries for each service that you plan to make available to your phone users. The exact content and syntax is also documented in the Cisco IP Phone Services Application Development Notes (CMXML_App_Guide.pdf ) noted above.

Messages Button

When the Messages button is pressed, you can cause the phone to directly dial an extension in your asterisk dialplan. Just configure the phone as:
messages_uri: “<extension>”
where <extension> is what you wish the phone to dial when the Messages button is pressed. You can then catch the call in either a standard VoiceMailMain() invocation a la
exten => _42,1,VoiceMailMain()
or, be cute and bypass entry of mailbox number and password a la
exten => _42,1,VoiceMailMain(s<mbox num>)
To make the Messages button work for any extension (assuming your extensions are numbered appropriately), use:
exten => _42,1,VoiceMailMain(s${CALLERIDNUM})

Asterisk Cisco 79XX XML Services

Ringtones

http://www.cisco.com/en/US/products/sw/voicesw/ps2156/products_administration_guide_chapter09186a0080087511.html#1042487
The Cisco SIP IP phone ships with two ring types: Chirp1 and Chirp2. By
default, your ring type options will be those two choices. However,
using the RINGLIST.DAT file, you can customize the ring types that are
available to the Cisco SIP IP phone users.

Step 1
Create a pulse code modulation (PCM) file of the desired ring
types and store the PCM files in the root directory of your TFTP server.
PCM files must contain no header information and comply with the
following format guidelines:

  • 8000 Hz sampling rate
  • 8 bits per sample
  • ulaw compression
  • 240 – 16080 samples long ( 0.03 sec – 2.01 sec )

For example, to use sox to generate the tones, use


sox -t wav in.wav -t raw -r 8000 -U -b -c 1 out.raw resample -ql 

Step 2
Using a ASCII editor, open the RINGLIST.DAT file and for each
of the ring types you are adding, specify the name as you want it to
display on the Ring Type menu, press Tab, and then specify the filename
of the ring type. For example, the format of a pointer in your
RINGLIST.DAT file should appear similar to the following:

Ring Type 1 ringer1.pcm

Step 3
After defining pointers for each of the ring types you are
adding, save your modifications and close the RINGLIST.DAT file.

Caveat:

If you have configured a secondary tftp-server(ie. dyn_tftp_addr : 192.168.1.10) in SIPDefault.cnf, or SIP<MACADDR>.cnf which cannot be reached then the phone will not attempt to download the RINGLIST.DAT file.

Controlling ring tones from Asterisk

By setting the Asterisk variable ALERT_INFO before you call Dial, Asterisk will add ringer tone info to the SIP invite that is sent to the phone. Note that this only seems to work for the internal ringtones and not for any custom ringtones.

Asterisk version <1
exten => 3010,1,SetVar(__ALERT_INFO=<Bellcore-dr1>)

Assterisk 1.0 and 1.2
exten => 3010,1,SetVar(_ALERT_INFO=<Bellcore-dr1>)

Asterisk 1.4
exten => 3010,1,SIPAddHeader(Alert-Info: <Bellcore-dr1>)

Available ring tones by default

Bellcore-BusyVerify
Bellcore-Stutter
Bellcore-MsgWaiting
Bellcore-dr1
Bellcore-dr2
Bellcore-dr3
Bellcore-dr4
Bellcore-dr5

While examining the firmware for the 7940/7960 I found the following strings. I have not verified if these are in fact ringtones because I don’t have a phone to test them with at the moment but they might be worth a try. {I have tried them, and they don’t seem to do anything on the 7940 with


Bellcore-Inside
Bellcore-Outside
Bellcore-Busy
FBellcore-Alerting
FBellcore-BusyVerify
Bellcore-Stutter
Bellcore-MsgWaiting
Bellcore-Reorder
Bellcore-CallWaiting
Bellcore-Cw2
Bellcore-Cw3

Bellcore-Cw4
Bellcore-Hold
FBellcore-Confirmation
FBellcore-Permanent
Bellcore-Reminder
FBellcore-None
Bellcore-dr1
Bellcore-dr2
Bellcore-dr3
Bellcore-dr4
Bellcore-dr5

FCisco-ZipZip
Cisco-Zip
FCisco-BeepBonk

 

DialPlan Notes (dialplan.xml)

The dialplan.xml file controls the phone’s matching of digits. By default, the file contains an entry that causes the phone to wait 5 seconds after you dial the last digit. You can add additional TEMPLATE entries to cause the phone to dial after a shorter time, or to dial immediately when a specific pattern is entered. When creating rules, you can use the wildcards “*” and “.”. “*” matches anything and “.” matches only one digit (ie: “1* will match any dialstring that begins with 1, while “1..” will match any three character string that begins with “1”. If you specify a timeout greater than “0”, users must push ‘Dial’ or ‘#’ to cause the phone to dial without waiting. For a variety of reasons, not least of which being that most phone users are not accustomed to pressing ‘Dial’ on their office phones, it may be desirable to configure a dial plan for your organization. Be careful with setting an entry to dial immediately, as that can cause trouble if you need to dial a longer number that matches that string (ie: if you match “1..” for extensions 100-199, and dial immediately, the phone number “18005551212” will match that pattern and you may not be able to dial it.).

If you wish to use the hash (by default it will immediately dial the number entered) include it explicitly as part of a pattern in DIALPLAN.XML
<DIALTEMPLATE>
<TEMPLATE MATCH=”#…” Timeout=”5″ User=”Phone” /><!– Hash, plus three digits, Wait 1 second, then dial. >
<TEMPLATE MATCH=”*” Timeout=”5″ User=”Phone” /><!– Anything else. –>
</DIALTEMPLATE>

If you wish to use the star key (*), such as for entries like “*86″, you must escape the ‘*’ in the XML, like below:
<DIALTEMPLATE>
<TEMPLATE MATCH=”\*..” Timeout=”5″ User=”Phone” /><!– Feature Codes, like *86 –, Dial immediately. >
<TEMPLATE MATCH=”*” Timeout=”5″ User=”Phone” /><!– Anything else. –>
</DIALTEMPLATE>

In another example, we immediately match 9+10digits or 9+1+10digits, and match 5+2digits as internal extensions
<DIALTEMPLATE>
<TEMPLATE MATCH=”5..” TIMEOUT=”0″/><!– Internal Extensions 500 to 599. Dial immediately. –>
<TEMPLATE MATCH=”9,1……….” TIMEOUT=”0″ Tone=”Bellcore-Alerting”/><!– 9+1+10-digits. Dial immediately. –>
<TEMPLATE MATCH=”9,……….” TIMEOUT=”0″/><!– Anything else. –>
</DIALTEMPLATE>

In the above example, a secondary dial tone is invoked by the comma character. If the Tone attribute is left blank, the default will be used. Or you can specify one of the following:

  • Bellcore-Alerting
  • Bellcore-Busy
  • Bellcore-BusyVerify
  • Bellcore-CallWaiting
  • Bellcore-Confirmation
  • Bellcore-dr1
  • Bellcore-dr2
  • Bellcore-dr3
  • Bellcore-dr4
  • Bellcore-dr5
  • Bellcore-dr6
  • Bellcore-Hold
  • Bellcore-Inside
  • Bellcore-None
  • Bellcore-Outside (default)
  • Bellcore-Permanent
  • Bellcore-Reminder
  • Bellcore-Reorder
  • Bellcore-Stutter

 

  • CallWaiting-2
  • CallWaiting-3
  • CallWaiting-4

 

  • Cisco-BeepBonk
  • Cisco-Zip
  • Cisco-ZipZip

Here is an example for US phones that sets entries for Extensions 100-299, plus 7-digit dialing, 10-digit dialing, and 1+10-digit dialing, plus “*86″ for voicemail access.

<DIALTEMPLATE>
<TEMPLATE MATCH=”1..” TIMEOUT=”1″/><!– Internal extensions 100 to 199. Wait 1 second, then dial. –>
<TEMPLATE MATCH=”2..” TIMEOUT=”1″/><!– Internal extensions 200 to 299. Wait 1 second, then dial. –>
<TEMPLATE MATCH=”…….” TIMEOUT=”1″/><!– 7 digits. Wait 1 second, then dial. –>
<TEMPLATE MATCH=”……….” TIMEOUT=”1″/><!– 10 digits. Wait 1 second, then dial. –>
<TEMPLATE MATCH=”1……….” TIMEOUT=”0″/><!– 1+10 digits. Dial immediately –>
<TEMPLATE MATCH=”\*86″ TIMEOUT=”0″/><!– *86 (*VM) for voicemail. Dial immediately. –>
<TEMPLATE MATCH=”*#” TIMEOUT=”0″ REWRITE=”%1″/><!– Dial immediately after pressing #. –>
<TEMPLATE MATCH=”*” TIMEOUT=”5″/> <!– Anything else –>
</DIALTEMPLATE>

The above example includes a line to cause the phone to dial immediately after pressing “#”. This is not needed for the 7940/7960, as that functionality is built-in. However, it is needed for some other phones that may also download this file, namely the 7970 and others.

Notes: This file is case sensitive in some firmware versions; all elements and attributes should be uppercase (except Tone) or the entries may be ignored. According to Cisco, the phone will always match the LONGEST expression.

Call Waiting Feature

The 79XX series phones have a good way of handling SIP registrations provided the Call Waiting feature isn’t turned off. Most other SIP phones require an individual SIP username and password for each line appearance. Instead, the 79XX will automatically roll-over to the next available line. So, for example, on a 7960 you can have all six lines programmed to the same SIP username/password and the phone will automatically handle the call waiting function. Note: If you use any other method of ringing multiple lines on the phone (i.e. dialing SIP/123&SIP/456) your phone will show a confusingly high number of missed calls.

For example:

 

SIPXXXXX.cnf:

# Line 1 Settings
line1_name: “510” ; Line 1 Extension\User ID

line1_displayname: “x510” ; Line 1 Display Name
line1_shortname: “x510” ; Comment next to the button
line1_authname: “510” ; Line 1 Registration Authentication
line1_password: “test” ; Line 1 Registration Password

# Line 2 Settings
line2_name: “510” ; Line 2 Extension\User ID
line2_displayname: “x510” ; Line 2 Display Name
line2_shortname: “x510” ; Comment next to the button
line2_authname: “510” ; Line 2 Registration Authentication
line2_password: “test” ; Line 2 Registration Password

In your sip.conf:

[510]
type=friend
username=510
secret=test
host=dynamic
dtmfmode=rfc2833
context=whatever
canreinvite=no
nat=no
mailbox=510@default
callerid=<510>

In your extensions.conf:

exten => 510,1,Dial(SIP/510,20,mTt)
exten => 510,2,Voicemail(u510@default)
exten => 510,3,Hangup
exten => 510,102,Voicemail(b510@default)
exten => 510,103,Hangup

Asterisk Configuration File Examples

 

sip.conf

[3014]
type=friend ; This device takes and makes calls
host=dynamic ; This host is not on the same IP addr every time
username=3014 ; Username programmed into Cisco phone
secret=mypassword ; Password for device
context=from-sip ; Inbound calls from this phone go to this context
nat=yes ; nat=yes if this phone is behind a NAT box or firewall
callgroup=2 ; the group to which this phone belongs for *8 phone ringing pickup
pickupgroup=2 ; the pickup group allowed from this phone when *8 is dialed
mailbox=3014 ; Activate the message waiting light if this voicemailbox has messages in it

extensions.conf

exten => 3014,1,Dial(SIP/3014,15,t) ; see “show application dial” for options and formats
exten => 3014,2,Voicemail2(u3014) ; go to Voicemail2 if phone is “U”nanswered
exten => 3014,102,Voicemail2(b3014) ; go to Voicemail2 if phone is “B”usy
exten => 3014,103,Hangup ; and then hangup.

voicemail.conf

format=gsm
servermail=mail.myserver.com

attach=no
maxmessage=120
maxsilence=10
pbxskip=yes
fromstring=NPI VM
emailbody=\nVM for x ${VM_MAILBOX} from ${VM_CALLERID} dur: ${VM_DUR} \n
[default]

Note
following sends a text message to a cell phone telling me someone left a voicemail

3014 => 3014,FirstName LastName,4015719329@vtext.com

Troubleshooting Phone Registration

NOTE: 7940/7960 phones (and similar) seem to be limited to a password of 30 characters or less, but recent versions of FreePBX automatically generate 32 character random passwords when creating new extensions. You must modify the auto-generated FreePBX password to be 30 characters or less, or the phones will complain of an error parsing the SIP<mac>.cnf configuration file and fail to register.

From the asterisk command line, execute “sip show peers” and “sip show users” to display the current status of the Cisco phone. If no entries appear in the list for this phone, then review the “username=3014” and “secret=mypassword” in sip.conf to ensure they match the entries programmed into the Cisco phone.

  • CLI> sip show peers

Name/username Host Mask Port Status

3014/3014 67.11.89.61 (D) 255.255.255.255 5060 Unmonitored

  • CLI> sip show users

Username Secret Authen Def.Context A/C
3014 mypassword md5,plaintext from-sip No

Troubleshooting Cisco Phone

The Cisco 79XX phones support telnet. (Enable telnet_level: 2 in the config) To diagnose problems with the Company Directory function noted above (as an example), telnet to the phone’s IP address using the login password provided in the SIP00036BAAD139.cnf file noted above. For example, to diagnose a possible http problem, do the following:

SIP Phone> debug http
Enabling bug logging on this terminal – use ‘tty mon 0’ to disable
debugs: http timestamp
SIP Phone> [11:39:39] Connect2WWWIPPort called IpAddr[0], port[80], hostName[www.mydomain.com]
[11:39:39] Connect2WWWIPPort Sending Request to IpAddr[207.212.93.75], port[80]
[11:39:39] HTTP RECV (ACK CMD)
[11:39:39] HTTP RECV (OPEN CMD)
[11:39:39]
HTTP Send [178] Bytes of Data
Data Packet is:
===============
GET /asterisk/directory.html?name=SIP00036BC38B88 HTTP/1.1
User-Agent: Allegro-Software-WebClient/3.10b1
Host: http://www.mydomain.com
Connection: Close

Troubleshooting Cisco Phone Configuration issues.

 

  • Any configuration parse error warnings are shown in the phone menu (Settings – Status – Status messages). Or from the telnet CLI, you can type “show status”

 

  • Check the file that it reports a problem with. Check the permissions on the TFTP server that it can read the file.

 

  • Carefully check the config file for obvious errors (missing speechmarks, spurious spaces etc.)

If you still cannot locate the problem, you can do the following to erase the phone config and debug it when it loads it back in again:
(Unfortunately this will delete any speed dial keys configured on the handset, and also auto answer setting as these cannot be put back again via TFTP.)

  • Telnet to the phone:

telnet 192.168.1.100

Connected to 192.168.1.100.
Escape character is ‘]’.

Password :*****

Cisco Systems, Inc. Copyright 2000-2005
Cisco IP phone MAC: 000a:8a2c:864a
Loadid: SW: P0S3-08-6-00 ARM: PAS3ARM1 Boot: PC030301 DSP: 4.0(2.0)[A0]
SIP Phone> show status

Current Phone Status
——————–
W350 unprovisioned proxy_backup
W351 unprovisioned proxy_emergency
W310 1 Error(s) Parsing: SIPDefault.cnf

Phone has reported an error parsing the SIPDefault.cnf, but unfortunately does not say exactly what it was!
The warnings about proxy_backup and proxy_emergency are normal in my case because I do not use that feature.

Now (Make sure your TFTP files are in place and that your DHCP server is set to tell your phone the next-server of it.)

SIP Phone> debug xml-events
SIP Phone> debug xml-vars
SIP Phone> erase protflash

Now among the (copious) output you will see the phone parsing the config:

[00:28:46:4136406] —LIST—
[00:28:46:4136407] href=basic
[00:28:46:4136407] card=status
[00:28:46:4136407] icon=WAIT
[00:28:46:4136407] status=Requesting Configuration
[00:28:46:4136408] ——
[00:28:46:4136408] XML Event: href=basic, event=(null), target=(null), action=(null), card=status
[00:28:46:4136410] TFTP: Request file:SIPDefault.cnf from: <x.x.x.x>
[00:28:48:4136630] TFTP: File received successfully!

[00:28:48:4136633] Parse error: var: wibble_foo not found in table
[00:28:48:4136636] Parse error: 1 Errors found

[00:28:48:4136636] %W350 unprovisioned proxy_backup
[00:28:48:4136637] %W351 unprovisioned proxy_emergency
[00:28:48:4136637] %W362 No Valid Line Names Provisioned
[00:28:48:4136649] %W310 1 Error(s) Parsing: SIPDefault.cnf
[00:28:48:4136650] TFTP: Request file:SIP0009E8B4AE3E.cnf from: <x.x.x.x>
[00:28:48:4136668] TFTP: File received successfully!
[00:28:48:4136672] %W350 unprovisioned proxy_backup
[00:28:48:4136673] %W351 unprovisioned proxy_emergency
[00:28:48:4136685] upgrade_check(P0S3-08-6-00)

In this case it did not like my “wibble_foo: thing” in SIPDefault.conf !

Asterisk + SIP + Cisco 7931

The 7931 are a great phone, with a smallish screen and lots of BLF buttons. However, there are no hard buttons for options like settings. The 7931 will configure in a very similar manner to all of the other 79xx phones except for these buttons.

To configure an Applications button (to access directories, missed calls, settings etc), include the following into your SEPmac.cnf.xml:


            <line button="24">
                <featureID>197</featureID>
            </line>

Some of the feature codes available to be connected to buttons:

  • 2 Speed Dial
  • 5 Forward All
  • 19 Privacy
  • 18 Services
  • 104 Conference
  • 123 Meetme
  • 130 DoNotDisturb
  • 194 Messages
  • 195 Directory
  • 197 Applications
  • 198 Headset

 

Asterisk + SIP + Cisco 7975

This is working configuration of my server and runing gr8 with all feature….enjoy it…

Home page:- http://www.linuxbug.org

contact detail:-

Satish Patel
Mobile:- +1-646-327-9153
Email:- satish.lx@gmail.com

Installation method

Copy this configuration file in your tftp root directory and configure your phone for tftp and reboot your ip phone. beafore doing this change your setting accoring your setup.

SEP<MAC_ADDRESS>.cnf

NOTE: MAC_ADDRESS must be in all caps and at least on the 7975g this file name should conclude with the full extention ending as .cnf.xml
To reassure yourself of the actual file name the phone is requesting go into Settings, Status, Status Messages for the results of the TFTP attempts.


<device xsi:type="axl:XIPPhone" ctiid="203849429" uuid="{96f8508b-10ef-f98c-d20d-0471777ec725}">
<fullConfig>true</fullConfig>
<deviceProtocol>SIP</deviceProtocol> 
<sshUserId>user</sshUserId> 
<sshPassword>pass</sshPassword> 
<devicePool uuid="{a755aa55-089c-2b47-9603-c7d51b9ca4b5}"> 
<name>Dallas 5.0 Beta</name> 
<dateTimeSetting uuid="{9ec4850a-7748-11d3-bdf0-00108302ead1}"> 
<name>CMLocal</name> 
<dateTemplate>D/M/Y</dateTemplate> 
<timeZone>GMT Standard/Daylight Time</timeZone> 
</dateTimeSetting> 
<callManagerGroup> 
<name>5.0 Beta</name> 
<tftpDefault>true</tftpDefault> 
<members> 
<member priority="0"> 
<callManager> 
<name>71.5.250.225</name> 
<description>CallManager 5.0 Beta Pub - 5.0.1.032</description> 
<ports> 
<ethernetPhonePort>2000</ethernetPhonePort> 
<sipPort>5060</sipPort> 
<securedSipPort>5061</securedSipPort> 
</ports> 
<processNodeName>71.5.250.225</processNodeName> 
</callManager> 
</member> 
</members> 
</callManagerGroup> 
</devicePool> 

<sipProfile> 
<sipProxies> 
<backupProxy></backupProxy> 
<backupProxyPort></backupProxyPort> 
<emergencyProxy></emergencyProxy> 
<emergencyProxyPort></emergencyProxyPort> 
<outboundProxy></outboundProxy> 
<outboundProxyPort></outboundProxyPort> 
<registerWithProxy>true</registerWithProxy> 
</sipProxies> 

<sipCallFeatures> 
<cnfJoinEnabled>true</cnfJoinEnabled> 
<callForwardURI>x-cisco-serviceuri-cfwdall</callForwardURI> 
<callPickupURI>x-cisco-serviceuri-pickup</callPickupURI> 
<callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI> 
<callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI> 
<meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI> 
<abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI> 
<rfc2543Hold>false</rfc2543Hold> 
<callHoldRingback>2</callHoldRingback> 
<localCfwdEnable>true</localCfwdEnable> 
<semiAttendedTransfer>true</semiAttendedTransfer> 
<anonymousCallBlock>2</anonymousCallBlock> 
<callerIdBlocking>2</callerIdBlocking> 
<dndControl>0</dndControl> 
<remoteCcEnable>true</remoteCcEnable> 
</sipCallFeatures> 

<sipStack> 
<sipInviteRetx>6</sipInviteRetx> 
<sipRetx>10</sipRetx> 
<timerInviteExpires>180</timerInviteExpires> 
<timerRegisterExpires>3600</timerRegisterExpires> 
<timerRegisterDelta>5</timerRegisterDelta> 
<timerKeepAliveExpires>120</timerKeepAliveExpires> 
<timerSubscribeExpires>120</timerSubscribeExpires> 
<timerSubscribeDelta>5</timerSubscribeDelta> 
<timerT1>500</timerT1> 
<timerT2>4000</timerT2> 
<maxRedirects>70</maxRedirects> 
<remotePartyID>true</remotePartyID> 
<userInfo>None</userInfo> 
</sipStack> 

<autoAnswerTimer>1</autoAnswerTimer> 
<autoAnswerAltBehavior>false</autoAnswerAltBehavior> 
<autoAnswerOverride>true</autoAnswerOverride> 
<transferOnhookEnabled>false</transferOnhookEnabled> 
<enableVad>false</enableVad> 
<preferredCodec>g711</preferredCodec> 
<dtmfAvtPayload>101</dtmfAvtPayload> 
<dtmfDbLevel>3</dtmfDbLevel> 
<dtmfOutofBand>avt</dtmfOutofBand> 
<alwaysUsePrimeLine>false</alwaysUsePrimeLine> 
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail> 
<kpml>3</kpml> 
<phoneLabel>satish</phoneLabel> 
<stutterMsgWaiting>2</stutterMsgWaiting> 
<callStats>false</callStats> 
<offhookToFirstDigitTimer>15000</offhookToFirstDigitTimer> 
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts> 
<disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig> 
<startMediaPort>16384</startMediaPort> 
<stopMediaPort>32766</stopMediaPort> 

<sipLines> 
<line button="1"> 
<featureID>9</featureID> 
<featureLabel>5493</featureLabel> 
<proxy>71.5.250.225</proxy> 
<port>5060</port> 
<name>5493</name> 
<displayName>5493</displayName> 
<autoAnswer> 
<autoAnswerEnabled>2</autoAnswerEnabled> 
</autoAnswer> 
<callWaiting>3</callWaiting> 
<authName>5493</authName> 
<authPassword>5493</authPassword> 
<sharedLine>false</sharedLine> 
<messageWaitingLampPolicy>3</messageWaitingLampPolicy> 
<messagesNumber></messagesNumber> 
<ringSettingIdle>4</ringSettingIdle> 
<ringSettingActive>5</ringSettingActive> 
<contact>5493</contact> 
<forwardCallInfoDisplay> 
<callerName>true</callerName> 
<callerNumber>false</callerNumber> 
<redirectedNumber>false</redirectedNumber> 
<dialedNumber>true</dialedNumber> 
</forwardCallInfoDisplay> 
</line> 

<line button="2"> 
<featureID></featureID> 
<featureLabel></featureLabel> 
<speedDialNumber></speedDialNumber> 
</line> 
</sipLines>

<voipControlPort>5060</voipControlPort> 
<dscpForAudio>184</dscpForAudio> 
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy> 
<dialTemplate>dialplan.xml</dialTemplate> 
<softKeyFile>SK50719900-3bee-4594-bc3f-6400e1a33bf0.xml</softKeyFile> 
</sipProfile> 

<commonProfile> 
<phonePassword></phonePassword> 
<backgroundImageAccess>true</backgroundImageAccess> 
<callLogBlfEnabled>2</callLogBlfEnabled> 
</commonProfile> 

<loadInformation>SIP75.8-3-3SR2S</loadInformation> 

<vendorConfig> 
<disableSpeaker>false</disableSpeaker> 
<disableSpeakerAndHeadset>false</disableSpeakerAndHeadset> 
<pcPort>0</pcPort> 
<settingsAccess>1</settingsAccess> 
<garp>0</garp> 
<voiceVlanAccess>0</voiceVlanAccess> 
<videoCapability>0</videoCapability> 
<autoSelectLineEnable>0</autoSelectLineEnable> 
<webAccess>1</webAccess> 
<daysDisplayNotActive>1,7</daysDisplayNotActive> 
<displayOnTime>08:00</displayOnTime> 
<displayOnDuration>10:30</displayOnDuration> 
<displayIdleTimeout>01:00</displayIdleTimeout> 
<spanToPCPort>1</spanToPCPort> 
</vendorConfig> 

<versionStamp>1136931633-57191cee-5ffc-4342-b286-4246b4991890</versionStamp> 

<userLocale> 
<name>English_United_States</name> 
<uid>1</uid> 
<langCode>en_US</langCode> 
<version>1.0.0.0-1</version> 
<winCharSet>iso-8859-1</winCharSet> 
</userLocale> 

<networkLocale>United_States</networkLocale> 
<networkLocaleInfo> 
<name>United_States</name> 
<uid>64</uid> 
<version>1.0.0.0-1</version> 
</networkLocaleInfo> 

<deviceSecurityMode>1</deviceSecurityMode> 
<idleTimeout>0</idleTimeout> 
<authenticationURL></authenticationURL> 
<directoryURL></directoryURL> 
<idleURL></idleURL> 
<informationURL></informationURL> 
<messagesURL></messagesURL> 
<proxyServerURL></proxyServerURL> 
<servicesURL></servicesURL> 
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig> 
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices> 
<dscpForCm2Dvce>96</dscpForCm2Dvce> 
<transportLayerProtocol>4</transportLayerProtocol> 
<capfAuthMode>0</capfAuthMode> 

<capfList> 
<capf> 
<phonePort>3804</phonePort> 
</capf> 
</capfList> 

<certHash></certHash> 
<encrConfig>false</encrConfig> 
</device> 

#---------------END-------------------#

If you still cannot find it, try adding “debug config” which will generate even more config debugging.

(Note: You can also reset the 7960 by pressing *+6+settings at the same time.)
(Note: additional technical data was displayed but it was clipped from this documentation.)

Check out:
http://www.cisco.com/en/US/products/sw/voicesw/ps2156/products_administration_guide_chapter09186a00801d1988.html
^ This site has all the information you will need to help you work with the phone in the telnet prompt!

See also:

Nginx limit upload size (413 Request Entity Too Large)

Symptom:

When upload files larger than 15MB

=>Error: HTTP error or 413 Request Entity Too Large

Resolution:

Edit file /etc/nginx/nginx.conf

looking for

client_max_body_size 15m;

change to client_max_body_size your_size;

ScreenHunter_02 Jan. 28 14.23

And important when check file /etc/nginx/nginx.conf

There are that lines at bottom will overwrite nginx configuration, so we should check them.

ScreenHunter_03 Jan. 28 14.25

Finally, restart nginx:

#service nginx restart

or

#/etc/init.d/nginx restart

Mount USB in CentOS

How do I figure out which /dev is a USB flash drive?

Which /dev/sdX is my usb stick on?

#dmesage

#fdisk -l

you can do this easily by referencing /dev/disk/by-id/usb-manufacturername_*serialnumber*

#yum install ntfs-3g

[Mount]
1. Plug in your thumb drive.
2. Print out the kernel messages. Your thumb drive will appear as something similar to /dev/sdb (check with the vendor name and model number):
    $ dmesg
3. Obtain the file system. It should be something similar to /dev/sdb1:
    $ fdisk -l
4. Create a target directory where you want to attach to:
    $ mkdir /mnt/usb
5. Mount the file system to the directory that you created. Now your thumb drive is accessible on /mnt/usb:
    $ mount /dev/sdb1 /mnt/usb
[Unmount]
1. Unmount by specifying the directory path where it has been mounted:
$ umount/mnt/usb* Note that the thumb drive should not be busy. In case you cannot wait to properly unmount a device, you can forcefully or lazily unmount it:
umount -f/mnt/usb
or
umount -l/mnt/usb

#Format NTFS:

 

OK, finally I got the solution. Though I was already having package ntfs-3g previously installed, it was not sufficient enough for formatting of the usb-drive in ntfs-format.

One needs to install ntfsprogs — a subpackage of ntfs-3g for enabling the ntfs-format type partition in GParted.

I installed it using

yum install ntfsprogs

The ntfsprogs package currently consists of a library and utilities such as mkntfs, ntfscat, ntfsls, ntfsresize, and ntfsundelete (for a full list of included utilities see man 8 ntfsprogs after installation).

Can not access to https management of Juniper SSG vi Chrome (Error code: ERR_SSL_VERSION_OR_CIPHER_MISMATCH)

Can not access to https management of Juniper SSG through Chrome (Error code: ERR_SSL_VERSION_OR_CIPHER_MISMATCH)

A secure connection cannot be established because this site uses an unsupported protocol.
Error code: ERR_SSL_VERSION_OR_CIPHER_MISMATCH

Did this work before? Yes Previous version of Google Chrome: 39.0.2171
Resolution 1:
1. Go to the "Chrome://flags" from the address bar.
2. Find "Minimum SSL/TLS" version support"
3. Select " SSLv3" option. 

Resolution 2:
Access to WEB UI of ScreenOS
1. Go to Configuration/Admin/Management
2. Change Cipher to DES-SHA1 / 3DES-SHA1
3. Apply

Juniper SSG VIP port range (ScreenOS 6.3.x)

Instead of mapping individual ports between virtual IP and real server IP, you can map a
range of ports between them by using the port-range VIP entry feature. You can enable
this feature by using the set interface command:
 

set interface <interface> vip { ip_address | interface_ip } port-range port1  port2 server-ip ip-address2 port-range portx - porty [ protocol TCP | UDP ] [manual]
 

The port-range VIP entry is considered a single entry. The range of ports is from 1  65535.
For example, to map ports from 3 to 20, to ports 43 to 60, using IP address 10.10.10.100
and server IP 10.42.62.100

Asterisk/FreePBX – Unknown RTP codec 126 received from ‘x.x.x.x:p’

Howto overcome the ‘Unknown RTP codec 126 received from’ in Asterisk with Counterpath Bria/X-lite etc.

To overcome the ‘Unknown RTP codec 126 received’ in Asterisk, disable the Counterpath proprietary keep-alive messages in X-Lite/Bria by unchecking the ‘Send SIP keep-alives’ option in the advanced account settings.

Counterpath Bria v3.2 - SIP Account - Advanced

The log messages keep repeating while on a call:

[Jul 24 17:45:15] NOTICE[24257]: res_rtp_asterisk.c:2190 ast_rtp_read: Unknown RTP codec 126 received from '10.20.1.2:57744'
[Jul 24 17:45:25] NOTICE[24257]: res_rtp_asterisk.c:2190 ast_rtp_read: Unknown RTP codec 126 received from '10.20.1.2:57744'

Debug Asterisk/FreePBX

asterisk -r

sip show peers

sip set debug peer Twilio (trunk_name)

=> <— SIP read from UDP:54.172.60.3:5060 —>
SIP/2.0 400 Invalid phone number
CSeq: 103 INVITE
Call-ID: 6980e43f067be1683e155b45598e271d@208.xx.xxx.x:5060
From: <sip:1973zzzzzzz@208.xx.xxx.x>;tag=as3a9asfasf
To: <sip:1973xxxxxxx@xxx.pstn.twilio.com>;tag=12199260_6772d868_b192636d-a2c0-45e5-a450-b8e06c798465
Via: SIP/2.0/UDP 208.xx.xx.x:5060;received=208.zz.zzz.z;branch=121qafa17f;rport=5060
Server: Twilio
Contact: <sip:172.xx.aa.cc:5060>
X-Twilio-Error: 32101 The called number is not correctly formatted.
Content-Length: 0