Asterisk CLI Commands

At work we setup Asterisk PBX phone systems along with our own Perl scripts for various purposes. Asterisk is an open source PBX phone system that works with Soft Phones and Hard Phones. I installed and setup Asterisk on my work laptop with a software VoixPhone (SIP/IAX).

The one thing with Asterisk is that each update introduces a few changes, mainly the choice of CLI commands to debug or find certain information.

This post is basically a quick reference to the current Asterisk CLI commands. If you are interested in taking a look at Asterisk (it’s in the Debian repos) and/or the VoixPhone software SIP/IAX phone, see these links:

VoixPhone – http://www.voixphone.com/

Asterisk – http://www.asterisk.org/

Debian Repo – http://packages.debian.org/search?keywords=asterisk

Current CLI Commands: ( Courtesy of: asteriskglobe.blogspot.com )

! – Execute a shell command
abort halt – Cancel a running halt
cdr status – Display the CDR status
feature show – Lists configured features
feature show channels – List status of feature channels
file convert – Convert audio file
group show channels – Display active channels with group(s)
help – Display help list, or specific help on a command
indication add – Add the given indication to the country
indication remove – Remove the given indication from the country
indication show – Display a list of all countries/indications
keys init – Initialize RSA key passcodes
keys show – Displays RSA key information
local show channels – List status of local channels
logger mute – Toggle logging output to a console
logger reload – Reopens the log files
logger rotate – Rotates and reopens the log files
logger show channels – List configured log channels
meetme – Execute a command on a conference or conferee
mixmonitor – Execute a MixMonitor command.
moh reload – Music On Hold
moh show classes – List MOH classes
moh show files – List MOH file-based classes
no debug channel (null)
originate – Originate a call
realtime load – Used to print out RealTime variables.
realtime update – Used to update RealTime variables.
restart gracefully – Restart Asterisk gracefully
restart now – Restart Asterisk immediately
restart when convenient – Restart Asterisk at empty call volume
sla show – Show status of Shared Line Appearances
soft hangup – Request a hangup on a given channel
stop gracefully – Gracefully shut down Asterisk
stop now – Shut down Asterisk immediately
stop when convenient – Shut down Asterisk at empty call volume
stun debug – Enable STUN debugging
stun debug off – Disable STUN debugging
udptl debug – Enable UDPTL debugging
udptl debug ip – Enable UDPTL debugging on IP
udptl debug off – Disable UDPTL debugging

AEL commands

ael debug contexts – Enable AEL contexts debug (does nothing)
ael debug macros – Enable AEL macros debug (does nothing)
ael debug read – Enable AEL read debug (does nothing)
ael debug tokens – Enable AEL tokens debug (does nothing)
ael nodebug – Disable AEL debug messages
ael reload – Reload AEL configuration

Agents commands

agent logoff – Sets an agent offline
agent show – Show status of agents
agent show online – Show all online agents

AGI commands

agi debug – Enable AGI debugging
agi debug off – Disable AGI debugging
agi dumphtml – Dumps a list of agi commands in html format
agi show– List AGI commands or specific help
dnsmgr reload – Reloads the DNS manager configuration
dnsmgr status – Display the DNS manager status
http show status – Display HTTP server status

Console commands

console active – Sets/displays active console
console answer – Answer an incoming console call
console autoanswer – Sets/displays autoanswer
console boost – Sets/displays mic boost in dB
console dial – Dial an extension on the console
console flash – Flash a call on the console
console hangup – Hangup a call on the console
console mute – Disable mic input
console send text – Send text to the remote device
console transfer – Transfer a call to a different extension
console unmute – Enable mic input

Core related commands

core clear profile – Clear profiling info
core set debug channel – Enable/disable debugging on a channel
core set debug – Set level of debug chattiness
core set debug off – Turns off debug chattiness
core set global – Set global dialplan variable
core set verbose – Set level of verboseness
core show applications – Shows registered dialplan applications
core show application – Describe a specific dialplan application
core show audio codecs – Displays a list of audio codecs
core show channels – Display information on channels
core show channel – Display information on a specific channel
core show channeltypes – List available channel types
core show channeltype – Give more details on that channel type
core show codecs – Displays a list of codecs
core show codec – Shows a specific codec
core show config mappings – Display config mappings (file names to config engines)
core show file formats – Displays file formats
core show file version – List versions of files used to build Asterisk
core show functions – Shows registered dialplan functions
core show function – Describe a specific dialplan function
core show globals – Show global dialplan variables
core show hints – Show dialplan hints
core show image codecs – Displays a list of image codecs
core show image formats – Displays image formats
core show license – Show the license(s) for this copy of Asterisk
core show profile – Display profiling info
core show switches – Show alternative switches
core show threads – Show running threads
core show translation – Display translation matrix
core show uptime – Show uptime information
core show version – Display version info
core show video codecs – Displays a list of video codecs
core show warranty – Show the warranty (if any) for this copy of Asterisk

Database commands

database del – Removes database key/value
database deltree – Removes database keytree/values
database get – Gets database value
database put – Adds/updates database value
database show – Shows database contents
database showkey – Shows database contents

Dialplan commands

dialplan add extension – Add new extension into context
dialplan add ignorepat – Add new ignore pattern
dialplan add include – Include context in other context
dialplan reload – Reload extensions and *only* extensions
dialplan remove extension – Remove a specified extension
dialplan remove ignorepat – Remove ignore pattern from context
dialplan remove include – Remove a specified include from context
dialplan save – Save dialplan
dialplan show – Show dialplan

DUNDI commands

dundi debug – Enable DUNDi debugging
dundi flush – Flush DUNDi cache
dundi lookup – Lookup a number in DUNDi
dundi no debug – Disable DUNDi debugging
dundi no store history – Disable DUNDi historic records
dundi precache – Precache a number in DUNDi
dundi query – Query a DUNDi EID
dundi show entityid – Display Global Entity ID
dundi show mappings – Show DUNDi mappings
dundi show peers – Show defined DUNDi peers
dundi show peer – Show info on a specific DUNDi peer
dundi show precache – Show DUNDi precache
dundi show requests – Show DUNDi requests
dundi show trans – Show active DUNDi transactions
dundi store history – Enable DUNDi historic records

GTalk & Jabber commands

gtalk reload – Enable Jabber debugging
gtalk show channels – Show GoogleTalk Channels
jabber debug – Enable Jabber debugging
jabber debug off – Disable Jabber debug
jabber reload – Enable Jabber debugging
jabber show connected – Show state of clients and components
jabber test – Shows roster, but is generally used for mog’s debugging.

IAX2 commands

iax2 provision – Provision an IAX device
iax2 prune realtime – Prune a cached realtime lookup
iax2 reload – Reload IAX configuration
iax2 set debug – Enable IAX debugging
iax2 set debug jb – Enable IAX jitterbuffer debugging
iax2 set debug jb off – Disable IAX jitterbuffer debugging
iax2 set debug off – Disable IAX debugging
iax2 set debug trunk – Enable IAX trunk debugging
iax2 set debug trunk off – Disable IAX trunk debugging
iax2 show cache – Display IAX cached dialplan
iax2 show channels – List active IAX channels
iax2 show firmware – List available IAX firmwares
iax2 show netstats – List active IAX channel netstats
iax2 show peers – List defined IAX peers
iax2 show peer – Show details on specific IAX peer
iax2 show provisioning – Display iax provisioning
iax2 show registry – Display IAX registration status
iax2 show stats – Display IAX statistics
iax2 show threads – Display IAX helper thread info
iax2 show users – List defined IAX users
iax2 test losspct – Set IAX2 incoming frame loss percentage

Manager commands

manager show command – Show a manager interface command
manager show commands – List manager interface commands
manager show connected – List connected manager interface users
manager show eventq – List manager interface queued events
manager show users – List configured manager users
manager show user – Display information on a specific manager user

MGCP commands

mgcp audit endpoint – Audit specified MGCP endpoint
mgcp reload – Reload MGCP configuration
mgcp set debug – Enable MGCP debugging
mgcp set debug off – Disable MGCP debugging
mgcp show endpoints – List defined MGCP endpoints

Module management

module load – Load a module by name
module reload – Reload configuration
module show – List modules and info
module show like – List modules and info
module unload – Unload a module by name

PRI commands

pri debug span – Enables PRI debugging on a span
pri intense debug span – Enables REALLY INTENSE PRI debugging
pri no debug span – Disables PRI debugging on a span
pri set debug file – Sends PRI debug output to the specified file
pri show debug – Displays current PRI debug settings
pri show spans – Displays PRI Information
pri show span – Displays PRI Information
pri unset debug file – Ends PRI debug output to file

Queue commands

queue add member – Add a channel to a specified queue
queue remove member – Removes a channel from a specified queue
queue show – Show status of a specified queue
rtcp debug ip – Enable RTCP debugging on IP
rtcp debug – Enable RTCP debugging
rtcp debug off – Disable RTCP debugging
rtcp stats – Enable RTCP stats
rtcp stats off – Disable RTCP stats
rtp debug ip – Enable RTP debugging on IP
rtp debug – Enable RTP debugging
rtp debug off – Disable RTP debugging
say load – Set/show the say mode
show parkedcalls – Lists parked calls
show queue – Show information for target queue
show queues – Show the queues

SIP commands

sip history – Enable SIP history
sip history off – Disable SIP history
sip notify – Send a notify packet to a SIP peer
sip prune realtime – Prune cached Realtime object(s)
sip prune realtime peer – Prune cached Realtime peer(s)
sip prune realtime user – Prune cached Realtime user(s)
sip reload – Reload SIP configuration
sip set debug – Enable SIP debugging
sip set debug ip – Enable SIP debugging on IP
sip set debug off – Disable SIP debugging
sip set debug peer – Enable SIP debugging on Peername
sip show channels – List active SIP channels
sip show channel – Show detailed SIP channel info
sip show domains – List our local SIP domains.
sip show history – Show SIP dialog history
sip show inuse – List all inuse/limits
sip show objects – List all SIP object allocations
sip show peers – List defined SIP peers
sip show peer – Show details on specific SIP peer
sip show registry – List SIP registration status
sip show settings – Show SIP global settings
sip show subscriptions – List active SIP subscriptions
sip show users – List defined SIP users
sip show user – Show details on specific SIP user

Skinny commands

skinny reset – Reset Skinny device(s)
skinny set debug – Enable Skinny debugging
skinny set debug off – Disable Skinny debugging
skinny show devices – List defined Skinny devices
skinny show lines – List defined Skinny lines per device

Voicemail commands

voicemail show users – List defined voicemail boxes
voicemail show users for – List defined voicemail boxes for target context
voicemail show zones – List zone message formats

Zaptel commands

zap destroy channel – Destroys a channel
zap restart – Fully restart zaptel channels
zap show cadences – List cadences
zap show channels – Show active zapata channels
zap show channel – Show information on a channel
zap show status – Show all Zaptel cards status

Howto Create a Custom Debian Installer Netinstall iso

Remote server installations or Custom distro:

This is handy if you need to have preconfigured netinstall isos for remote installations of servers. Or maybe you just want to create a custom Debian based distro. At work I create these isos tailor made to suit our customers needs (more or less) then perform an automated remote installation.

The basic steps:

The basics are that you download a Debian Netinstall iso : http://www.debian.org/CD/netinst/

We mount the iso to a temporary directory, where we insert a “Preseed” file which has our custom settings configured. Then we recreate the iso.

Custom preseed file:

Before doing anything you need to get the example Preseed and edit it to your liking:

http://www.debian.org/releases/lenny/example-preseed.txt

**All of these commands are performed as Root in the /root home directory.**

You know the risks of running as root, and I will take for granted that you are an experienced Linux user who respects the responsibility of being root.

Lets create a custom iso:

Create a temporary direcory to mount the iso:

mkdir -p loopdir

Mount the Debian netinstall iso:

mount -o loop debian_netinstall_iso.iso loopdir

Remove the cd dircetory

rm -rf cd

Recreate a new cd directory:

mkdir cd

Now we Rsync everything over from the loopdir to our new cd directory:

rsync -a -H –exclude=TRANS.TBL loopdir/ cd

Unmount the netinstall iso from loopdir:

umount loopdir

Make a new directory to extract the initrd.gz, change to that directory and extract:

mkdir irmod

cd irmod

**Note**

The initrd.gz for the 64bit Netinstall iso is in /install.amd/. If this command fails it’s becuase it is somewhere else. Just have a look for it and change the command accordingly.

*One command at a time, don’t copy and paste both lines* (arguments are two dashes not one ” – -“)

gzip -d < ../cd/install.amd/initrd.gz | \

cpio –extract –verbose –make-directories –no-absolute-filenames

Now we copy over our custom Preseed file to initrd:

cp ../my_preseed.cfg preseed.cfg

*One command at a time, don’t copy and paste both lines*

find . | cpio -H newc –create –verbose | \

gzip -9 > ../cd/install.amd/initrd.gz

Now we go back to the /root directory and remove the irmod directory:

cd ../

rm -fr irmod/

Change to the cd directory and create an Md5sum:

cd cd

md5sum `find -follow -type f` > md5sum.txt

Back to /root again to create your new iso:

cd ..

*One command at a time, don’t copy and paste both lines*

genisoimage -o name_of_you_iso.iso -r -J -no-emul-boot -boot-load-size 4 \

-boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat ./cd

Now you have your own custom iso which you can burn to CD or run in VirtualBox or a chosen Emulator. Have a good read of the Preseed documentation as you can configure practically everything on the Netinstall iso, including adding your own custom Debian applications, themes, etc. basically you can go from automated basic netinstall to full blown distro. It’s up to you.

Howto – Fix Firefox already running error

This is the error message that tells you Firefox is already running:

Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system.

To fix it you can usually just kill Firefox with:

killall firefox-bin

But sometimes it decides to be a bit of a pest and you’ll need to find the Firefox PID and then kill the process:

ps auxwww | grep firefox

Which will give you something like this:

rich      2167  0.0  0.0   3300   764 pts/0    S+   19:36   0:00 grep firefox

Then you just kill the process number:

killall 2167

Still not able to kill Firefox?

1. Find your profile. This page tells you how to find the location of your Firefox profile. Under Linux (e.g. Ubuntu), it will be at ~/.mozilla/firefox/[Profile name]/ .

2. Remove the lock files. This page tells you what the lock files are for Firefox on Windows/Linux/Mac. Under Unix/Linux, you’ll need to remove two files “lock” and “.parentlock” .

IPv6 Time – Less than 10% of IPv4 addresses available

You may have avoided moving your network to IPv6 for years, but you won’t be able to put it off much longer. Here’s why you need to plan for a transition.

Every few years there’s another panic about everyone running out of IP addresses. The terror that the Internet would simply run out of room is finally coming true. It’s not so much that computers are consuming the IP addresses; it’s all those smartphones, iPads, and other devices that require Internet access.

The Number Resource Organization (NRO), the organization that oversees the allocation of all Internet number resources, announced in January 2010 that less than 10% of available IPv4 addresses remain unallocated.

By Steven J. Vaughan-Nichols

READ MORE: http://itexpertvoice.com/home/ready-or-not-your-network-is-moving-to-ipv6/

CHMOD – Get those File Permissions Right

CHMOD is used to change permissions of a file.

        PERMISSION      COMMAND   

         U   G   W

        rwx rwx rwx     chmod 777 filename      

        rwx rwx r-x     chmod 775 filename

        rwx r-x r-x     chmod 755 filename

        rw- rw- r--     chmod 664 filename

        rw- r-- r--     chmod 644 filename

        U = User 

        G = Group 

        W = World

        r = Readable

        w = writable

        x = executable 

        - = no permission


Here is another way of looking at it:
Permissions:

400     read by owner

040     read by group

004     read by anybody (other)

200     write by owner

020     write by group

002     write by anybody

100     execute by owner

010     execute by group

001     execute by anybody

To get a combination, just add them up. For example, to get read, write, execute by owner, read, execute, by group, and execute by anybody, you would add 400+200+100+040+010+001 to give 751.

Ubuntu Lucid Gui Tool to Configure NotifyOSD

There is a nice gui and a patched notifyOSD available from leolik’s PPA

sudo add-apt-repository ppa:leolik/leolik

sudo add-apt-repository ppa:amandeepgrewal/notifyosdconfig

Update source list

sudo apt-get update

Now install notifyosdconfig using the following command from your terminal

sudo apt-get install notifyosdconfig

Using notifyosdconfig

Open notifyosdconfig from Applications -> Accessories -> NotifyOSD Configuration