Tuesday, August 5, 2008

Asterisk How to

Asterisk Step - By Step :
Asterisk Installation can be of 3 types -
1. Using Asterisk Live CD ( Slast)
2. Installing Asterisk from CD (Asterisk@Home, TrixBox) and
3. Installing Asterisk direct from internet.

Firstly i tried installing Asterisk from Live CD but i can not manage the network as the hardware used here in India has not the get detected by that.
Then i tried installing Asterisk@Home and TrixBox both are basically configured for Digium hardwares so i started thinking about the last option.
When compiling Asterisk from source, there are four major pieces to the puzzle:

LibPRI - it is a library for handling the PRI signaling standard.The PRI standard was created by the Bell System back in the 1970s and is now an ITU standard. LibPRI is a C implementation of the standard.This package may be required depending on the hardware installed on the system.

Zaptel - is the package that contains the driver and libraries for Asterisk to talk to Zapata telephony hardware, which are the telephone interface cards discussed earlier. This is a handy package to install, even if there is no Zaptel hardware on the system, since the conferencing software requires it for timing purposes.

Asterisk-Addons - it is a package that contains certain optional “bells and whistles,” such as an MP3 player so Asterisk can handle sound files encoded in MP3, and modules for logging calls to a MySQL database. While these modules are completely optional, they are good to have, especially the MP3 player, and the resources they take up are minimal. Installing them is recommended.

Asterisk - This package contains the code for compiling the PBX and all its modules.

Asterisk has three dependencies:
ncurses (www.gnu.org/software/ncurses/), a library for text-based “graphical” displays.
OpenSSL (www.openssl.org/), an open-source library of the TLS and SSL protocols.
zlib (www.zlib.net/), a data compression library.
and must be the compiler like GNU C Compiler (gcc).


Now we are going into Asterisk installation:

Step 1: Asterisk code are available at http://www.asterisk.org/downloads. Grabbing Asterisk directly only downloads the Asterisk package, so you’ll want to download the LibPRI, Zaptel, and Asterisk- Addons and the sound core libraries separately.The latest versions of each package should end in -current. Since there are multiple source archives, it is best to put all of them in a common subdirectory wherever the system’s source code directory is located (for example: /usr/src).

Step 2: Get the source code for libpri, Asterisk, Asterisk-addons and sound files first:
wget ftp.digium.com/pub/asterisk/releases/asterisk-1.4.21.tar.gz
wget ftp.digium.com/pub/zaptel/releases/zaptel-1.4.11.tar.gz
wget ftp..digium.com/pub/libpri/releases/libpri-1.4.4.tar.gz
wget ftp.digium.com/pub/asterisk/releases/asterisk-addons-1.4.7.tar.gz
wget ftp.digium.com/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz


Step 3: Now we have to unpack the tarballs:
tar xvzf asterisk-1.4.21.tar.gz
tar xvzf zaptel-1.4.11.tar.gz
tar xvzf libpri-1.4.4.tar.gz
tar xvzf asterisk-addons-1.4.7.tar.gz
tar xvzf asterisk-core-sounds-en-wav-current.tar.gz


Step 4: Procedure said the sequence of installing should be zaptel, libpri, asterisk, asterisk-addons and then sounds. But as i get some problem installing zaptel in Amazon EC2 i do not it is the right procedure or not but still we should proceed in that way. For installing zaptel we need to install the kernel-sources and kernel-headers first( version should be the one used in your Operating System).
sudo apt-get install linux-source-2.6.15
sudo apt-get install linux-headers-2.6.22-14-xen


Step 5: Installing Zaptel:
cd zaptel-1.4.0/
./configure

menuselect utility: menuselect is a new feature in Asterisk 1.4 and above that allows you to choose which modules to compile and install, permitting you to “trim the fat” of any software not required in your particular situation. For example, if you do not have a Digium TDM400, you can deselect the wctdm module during menuselect and that module will not be compiled or installed.
make menuselect
The controls used in menuselect: Pressing Enter or the Spacebar will select/deselect a module or enter a menu. F8 will select all the modules, and F7
will deselect all the modules.To save and quit, press x, and to quit without saving, press q. If you forget any of the keys, press h and the help screen will be displayed. Menuselect lists a description at the bottom of the screen that explains which module supports which card.
Next, compile the Zaptel modules.This is done in one of two ways. If the system is running a 2.4.X kernel, simply run:
make
However, if the system is running a 2.6.X kernel, run:
make linux26
After the modules are done compiling, regardless of the system kernel version, run the installation command as a root user:
make install
And so the Zaptel modules will install. Now get back to the previous directory:
cd ../

Step 6: Installing Libpri:
cd libpri-1.4.4/
Now compile the libpri modules
make
run the installation
make install
After installation get back again.
cd ../

Step 7: Installing Asterisk:
cd asterisk-1.4.21/
./configure
make menuselect
make
make install
Now you can create sample .conf(configuration files) files.
make sample
Now you can get the documentation
make progdocs

Step 8: you can try running asterisk to check if the installation is properly made or not.
asterisk -c
you will get few warnings and can see the CLI> prompt, it means Asterisk is running
more common commands we can run here like:
show dialplan
sip show peers




AddThis Feed Button

Amazon SimpleDB

Amazon SimpleDB is a distributed database believed to be written in Erlang by Amazon.com. It is used as a web service in concert with Amazon Elastic Compute Cloud (EC2) and Amazon S3 and is part of Amazon Web Services. It was announced on December 13, 2007.

As with EC2 and S3, Amazon charges fees for SimpleDB storage, transfer, and throughput over the Internet. Transfer to other Amazon Web Services is free of charge.

Nitin Borwankar of GigaOM called SimpleDB "hugely disruptive" [in a positive way] to the database market. It has some similarities to CouchDB.

Limitations of SimpleDB

Maximum size of domains
10GB
Maximum domains
100
Maximum attributes per item
256
Maximum size per attribute
1024 characters
Maximum attributes per domain
250,000,000
Maximum items returned in a query response
250
Maximum seconds a query may run
5
Maximum attribute names per query predicate
1
Maximum operators per predicate
5
Maximum predicates per query
5




AddThis Feed Button

Amazon Flexible Payments Service

Amazon FPS (Flexible Payment Service) is an Amazon Web Service that allows the transfer of money between two entities. The service was launched as a limited beta in August 2007. Some of the features of Amazon FPS are:

  • Support for micropayments by grouping several small transactions into a larger one paid for by traditional e-commerce means.
  • Ability to pay by credit card, bank account, and Amazon Payments.
  • Programmatically define payment instructions on each transaction.
  • Support for multiple and recurring payments.




AddThis Feed Button

Amazon E-Commerce Service

Amazon E-Commerce Service (ECS) is a web service and application programming interface (API) accessible via either the SOAP or REST protocols. It is part of the Amazon Web Services (AWS).

The ECS API allows clients to search or browse Amazon.com's product catalog; to retrieve detailed product information, reviews, and images; and to interface with customer shopping carts.

Amazon.com developed ECS toward three classifications of users:

  • Associates: third-party site owners wishing to build more effective sponsored affiliate links to Amazon products, thus increasing their referral fees
  • Vendors: sellers on the Amazon platform looking to manage inventory and receive batch product data feeds
  • Developers: third-party developers building Amazon-driven functionality into their applications




AddThis Feed Button

Amazon Simple Queue Service

Amazon Simple Queue Service (Amazon SQS) is a messaging service provided by Amazon.com. It supports programmatic sending of messages by computer programs as a way to communicate over the web. In some sense it could be compared with an instant messaging service for software.

Amazon SQS can be described as commoditization of the messaging service. Well-known examples of messaging service technologies include Java Message Service and Microsoft Message Queuing. Whereas with Java Message Service, for instance, users would have to maintain their own server, Amazon SQS does it for them and sells the service at a per-use rate.

Expected message latency, as of 2007, was 2-10 seconds.

Price, as of 2008, was $0.01 USD per 10,000 messages sent plus bandwidth surcharge if bandwidth usage is significant.

As of 2007, Amazon SQS did NOT guarantee reception of messages by the recipient in the order they were sent by the sender.





AddThis Feed Button

Amazon S3

Amazon S3 (Simple Storage Service) is an online storage web service offered by Amazon Web Services. Amazon S3 provides unlimited storage through a simple web services interface. Amazon launched S3, its first publicly-available web service, in the United States in March 2006 and in Europe in November 2007. Amazon charges fees for data stored and for bandwidth used in sending and receiving data. Amazon S3 uses the same scalable storage infrastructure that Amazon.com uses to run its own global e-commerce network. Amazon S3 is reported to store more than 14 billion objects as of January 2008, up from 10 billion in October of 2007. Many small start-ups and enterprise clients use S3 as a web hosting service, image hosting service, back-up system, and more.

Design

S3's design aims to provide scalability, high availability, and low latency at commodity costs.

S3 stores arbitrary objects up to 5 gigabytes in size, each accompanied by up to 2 kilobytes of metadata. Objects are organized into buckets (each owned by an AWS account), and identified within each bucket by a unique, user-assigned key.

Buckets and objects can be created, listed, and retrieved using either a REST-style HTTP interface or a SOAP interface. Additionally, objects can be downloaded using the HTTP GET interface and the BitTorrent protocol.

Requests are authorized using an access control list associated with each bucket and object.

Bucket names and keys are chosen so that objects are addressable using HTTP URLs:

  • http://s3.amazonaws.com/bucket/key
  • http://bucket.s3.amazonaws.com/key
  • http://bucket/key (where bucket is a DNS CNAME record pointing to s3.amazonaws.com)

Because objects are accessible by unmodified HTTP clients, S3 can be used to replace significant existing web hosting infrastructure. The Amazon AWS Authentication mechanism allows the bucket owner to create an authenticated URL with time-bounded validity. That is, someone can construct a URL that can be handed off to a third-party for access for a period such as the next thirty minutes, or the next twenty-four hours. This may be useful in some circumstances.

Every item in a bucket can also be served up as a BitTorrent feed, so the S3 store can act as a seed host for a torrent, and any BitTorrent client can retrieve the file, drastically reducing the bandwidth costs for the download. The bandwidth and storage reduction at Amazon S3 can also be augmented by using deduplication and single_instance_storage. Amazon does not provide deduplication but many vendors provide this capability as a differentiator.

A bucket can be configured to save HTTP log information to a sibling bucket; this can be used in later data mining operations.





AddThis Feed Button

Cloud computing

Cloud computing means Internet ('Cloud') based development and use of computer technology ('Computing'). It is a style of computing where IT-related capabilities are provided “as a service, allowing users to access technology-enabled services without knowledge of, expertise with, or control over the technology infrastructure that supports them. It is a general concept that incorporates software as a service, Web 2.0 and other recent, well-known technology trends, where the common theme is reliance on the Internet for satisfying the computing needs of the users.

Cloud computing is often confused with grid computing (a form of distributed computing whereby a "super and virtual computer" is composed of a cluster of networked, loosely-coupled computers, acting in concert to perform very large tasks), utility computing (the packaging of computing resources, such as computation and storage, as a metered service similar to a traditional public utility such as electricity) and autonomic computing (computer systems capable of self-management). Indeed many cloud computing deployments are today powered by grids, have autonomic characteristics and are billed like utilities, but cloud computing is rather a natural next step from the grid-utility model. Some successful cloud architectures have little or no centralised infrastructure or billing systems whatsoever including Peer to peer networks like BitTorrent and Skype and Volunteer computing like SETI.

The majority of cloud computing infrastructure currently consists of reliable services delivered through next-generation data centers that are built on compute and storage virtualization technologies. The services are accessible anywhere in the world, with The Cloud appearing as a single point of access for all the computing needs of consumers. Commercial offerings need to meet the quality of service requirements of customers and typically offer service level agreements. Open standards and open source software are also critical to the growth of cloud computing.

As customers generally do not own the infrastructure, they are mearly accessing or renting, they can forego capital expenditure and consume resources as a service, paying instead for what they use. Many cloud computing offerings have adopted the utility computing model which is analogous to how traditional utilities like electricity are consumed, while others are billed on a subscription basis. By sharing "perishable and intangible" computing power between multiple tenants, utilization rates can be improved (as servers are not left idle) which can reduce costs significantly while increasing the speed of application development. A side effect of this approach is that "computer capacity rises dramatically" as customers do not have to engineer for peak loads. Adoption has been enabled by "increased high-speed bandwidth" which makes it possible to receive the same response times from centralized infrastructure at other sites.

The cloud computing "revolution" is being driven by companies like Google, Red Hat, Salesforce and Yahoo! as well as traditional vendors including Hewlett Packard, IBM and Microsoft and adopted by individuals through large enterprises including General Electric, L'Oréal and Valeo.


Key characteristics

  • Capital expenditure minimized and thus low barrier to entry as infrastructure is owned by the provider and does not need to be purchased for one-time or infrequent intensive computing tasks. Services are typically being available to or specifically targeting retail consumers and small businesses.
  • Multitenancy enabling sharing of resources (and costs) among a large pool of users, allowing for:
    • Centralization of infrastructure in areas with lower costs (eg real estate, electricity)
    • Peak-load capacity increases (users need not engineer for highest possible load levels)
    • Utilization and efficiency improvements
  • Scalability which meets changing user demands quickly. Massive scalability and large user bases are common but not an absolute requirement.
  • Security which typically improves due to centralization of data, increased security-focused resources, etc. but which raises concerns about loss of control over certain sensitive data
  • Performance is monitored and consistent but can be affected by insufficient bandwidth or high network load.
  • Device and location independence which enables users to access systems regardless of location or what device they are using (eg PC, mobile).

Components

Application

Cloud applications leverage The Cloud in software architecture, often eliminating the need to install and run the application on the customer's own computer, thus alleviating the burden of software maintenance, ongoing operation, and support. For example:

Hardware

Cloud hardware is computer hardware which relies on The Cloud for application delivery, or which is specifically designed for delivery of cloud services, and which is in either case essentially useless without it. For example:

Infrastructure

Cloud infrastructure (eg Infrastructure as a service) is the delivery of computer infrastructure (typically a platform virtualization environment) as a service. For example:

Platform

Cloud platforms (eg Platform as a service) (the delivery of a computing platform and/or solution stack as a service) facilitate deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers. For example:

Services

Cloud services (eg Web Services) are "software system[s] designed to support interoperable machine-to-machine interaction over a network" which may be accessed by other cloud computing components, software (eg Software plus services) or end users directly. For example:

Storage

Cloud storage is the delivery of data storage as a service (including database-like services), often billed on a utility computing basis (eg per gigabyte per month). For example:

Standards

Cloud standards are a number of existing (typically lightweight) open standards that have facilitated the growth of cloud computing, including:

Systems

Cloud systems are involved in the delivery of cloud computing (eg hardware, software). For example:





AddThis Feed Button

Amazon Elastic Compute Cloud(EC2)

Amazon Elastic Compute Cloud, also known as "EC2", is a commercial web service which allows paying customers to rent computers on which to run their own computer applications. EC2 allows scalable deployment of applications by providing a web services interface through which customers can request an arbitrary number of Virtual Machines, i.e. server instances, on which they can load any software of their choice. Current users are able to create, launch, and terminate server instances on demand, hence the term "elastic". The Amazon implementation allows server instances to be created in zones that are insulated from correlated failures. EC2 is one of several Web Services provided by Amazon.com under the blanket term Amazon Web Services (AWS).

EC2 uses Xen virtualization. Each virtual machine, called an instance, is a virtual private server and can be one of three sizes; small, large or extra large. Instances are sized based on EC2 Compute Units which is the equivalent CPU capacity of physical hardware.

One EC2 Compute Unit equals 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. The three available Instance sizes are sized as follows:

Small Instance

The small instance (default) is the "equivalent of a system with 1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform "

Large Instance

The large instance is the "equivalent of a system with 7.5 GB of memory, 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each), 850 GB of instance storage, 64-bit platform".

Extra Large Instance

The extra large instance is the "equivalent of a system with 15 GB of memory, 8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each), 1690 GB of instance storage, 64-bit platform."

High-CPU Instances

Instances of this family have proportionally more CPU resources than memory (RAM) and are well suited for compute-intensive applications.

High-CPU Medium Instance Instances of this family have the following configuration:

           1.7 GB of memory
5 EC2 Compute Units (2 virtual cores with 2.5 EC2 Compute Units each)
350 GB of instance storage
32-bit platform
I/O Performance: Moderate

High-CPU Extra Large Instance Instances of this family have the following configuration:

           7 GB of memory
20 EC2 Compute Units (8 virtual cores with 2.5 EC2 Compute Units each)
1690 GB of instance storage
64-bit platform
I/O Performance: High




AddThis Feed Button

Why use Amazon AWS

Why Use Amazon Web Services?


Battle-Tested Web Services

Amazon has spent over a decade and $2 billion building the infrastructure, technical knowledge, and operational excellence to operate a world class web-scale computing platform. Amazon Web Services (AWS) has now released a variety of web services (programmatic access to its open APIs) that provide access to Amazon's robust infrastructure, easily and inexpensively. These fundamental services allow developers and their companies to build web applications in a reliable, scalable, and cost-effective manner.

Web-Scale Computing

Amazon Web Services enables web-scale computing by providing access to an established infrastructure that gives you flexibility to run your business at "web-scale" -- uninhibited by growth and demand.

Characteristics of web-scale computing:

  • Scalability and elasticity - scale both up or down
  • Fast response time
  • 24/7 availability
  • Rock solid reliability

Pay For What You Use

With AWS offerings, you only pay for what you use. You can dynamically scale your system up and down depending on immediate requirements and only pay for resources when you need them. This means there are no upfront costs, so your developers can get started using web services without huge investment. Developers don't need to give up equity or incur huge capital expenses, because costs scale along with usage.

Focus on Your Idea

Free up your most valuable resource: time. We estimate that businesses spend approximately 70% of their time building and maintaining and worrying about infrastructure but only 30% of their time focused on the ideas that will propel their business forward.

Don't spend time worrying about scaling data centers, buying hardware, negotiating lease contracts, or dealing with downed servers. Amazon Web Services takes care of those issues and does the "heavy lifting". By shifting the focus from managing infrastructure to driving your business, you are able to concentrate on what matters most to your business -- product innovation, differentiation, and go-to-market strategies. This business approach levels the playing field so everyone can now compete on ideas, not resources.

Who's Using AWS?

A growing community of 330,000+ developers, start-ups, and established companies are building robust applications using AWS solutions. Read the Success Stories from AWS customers across a variety of vertical markets and explore the Solutions Catalog to experience the breadth of solutions that can be built with our services.

How Can I Get Started?

  1. Create an Amazon Web Services account and receive our monthly newsletter.
  2. Browse our services to learn about the infrastructure solutions, such as Amazon Simple Storage Service and Amazon Elastic Compute Cloud.
  3. Sign up for individual services by clicking the Sign Up for Web Service button on the relevant service detail page.
  4. Start building! Explore the AWS Developer Connection to access our Developer Forums, Resource Center, and to learn about co-marketing opportunities.




AddThis Feed Button

Amazon AWS

The Amazon Web Services (AWS) are a collection of remote computing services (also called web services) offered over the Internet by Amazon.com.

Launched in July 2002, Amazon Web Services provide online services for other web sites or client-side applications. Most of these services are not exposed directly to end users, but instead offer functionality that other developers can use. In June 2007, Amazon claimed that more than 330,000 developers had signed up to use Amazon Web Services.

Amazon Web Services’ offerings are accessed over HTTP, using REST and SOAP protocols. All are billed on usage, with the exact form of usage varying from service to service.

Amazon Web Services provides developers with direct access to Amazon's robust technology platform. Build on Amazon's suite of web services to enable and enhance your applications. We innovate for you, so that you can innovate for your customers. Browse developer innovations in our Solutions Catalog to see the possibilities!





AddThis Feed Button