Asterisk Source Build

Installation of Asterisk

AMI

https://wiki.debian.org/Cloud/AmazonEC2Image/Jessie

PREREQS

apt-get install vim screen -y

apt-get install build-essential

apt-get install linux-headers-$(uname -r)

apt-get install libxml2 libxml2-dev openssl libssl-dev libncurses5 libncurses5-dev libnewt0.52 libnewt-dev vim-nox libsqlite3-dev subversion

Summary:

apt-get install build-essential linux-headers-$(uname -r) libxml2 libxml2-dev openssl libssl-dev libncurses5 libncurses5-dev libnewt0.52 libnewt-dev vim-nox libsqlite3-dev autoconf subversion

apt-get install libmysqlclient18 mysql-common libmysqlclient-dev

apt-get install unixODBC unixODBC-dev

apt-get install uuid-dev

apt-get install libjansson4 libjansson-dev
Libgsmme-dev

libgsm1-dev

apt-get install pkg-config

apt-get install pkg-config
apt-get install libmysqlclient18 mysql-common libmysqlclient-dev unixODBC unixODBC-dev uuid-dev libjansson4 libjansson-dev  Libgsmme-dev libgsm1-dev pkg-config -y

PJSIP

apt-get install libpj2 libpjlib-util2 libpjsip2 libpjsua2

cd /usr/src/

wget http://www.pjsip.org/release/2.x/pjproject-2.x.tar.bz2

tar -jxvf pjproject-2.x.tar.bz2

cd pjproject-2.x

./configure –prefix=/usr –enable-shared –disable-sound –disable-resample –disable-video –disable-opencore-amr CFLAGS=’-O2 -DNDEBUG’

make dep && make && make install && ldconfig

http://www.pjsip.org/using.htm

Apt-get install git

git clone -b 13 http://gerrit.asterisk.org/asterisk

git clone http://gerrit.asterisk.org/asterisk asterisk

DAHDI install

wget http://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-13.8-current.tar.gz

tar -zxvf dahdi-linux-complete-current.tar.gz

Asterisk Install

cd /usr/src

wget http://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-13.8-current.tar.gz

tar -zxvf asterisk-certified-13.8-current.tar.gz

cd asterisk-certified-13.8-cert2/

./contrib/scripts/install_prereq install

./contrib/scripts/get_mp3_source.sh

./bootstrap

./configure

make menuconfig

make

make install

make samples

make config

HOMER INSTALL

sudo apt-get install git build-essential autoconf -y
cd /usr/src/
git clone https://github.com/sipcapture/homer.git
cd homer
git submodule init
git submodule update –init –recursive
git submodule foreach git pull origin master
autoreconf -if
mkdir -p build
cd build
../configure –enable-deb
make setup.sh
export PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/root/bin
sudo ./setup.sh

Debian 8 (Jessie)

make debian-jessie-x86_64.homer.deb

ip-10-0-32-100*CLI>

 == Using SIP RTP CoS mark 5

   — Executing [639230990430@OSsites:1] Answer(“SIP/10.0.33.45-00000009”, “”) in new stack

      > 0x7ff408013ee0 — Probation passed – setting RTP source address to 10.0.33.45:10368

   — Executing [639230990430@OSsites:2] Dial(“SIP/10.0.33.45-00000009”, “SIP/6700”) in new stack

 == Using SIP RTP CoS mark 5

   — Called SIP/6700

   — SIP/10.0.33.45-00000009 requested media update control 20, passing it to SIP/6700-0000000a

   — SIP/6700-0000000a answered SIP/10.0.33.45-00000009

   — Channel SIP/10.0.33.45-00000009 joined ‘simple_bridge’ basic-bridge <500329ef-a05b-40e7-8dd5-cfaedc31a45f>

   — Channel SIP/6700-0000000a joined ‘simple_bridge’ basic-bridge <500329ef-a05b-40e7-8dd5-cfaedc31a45f>

      > Bridge 500329ef-a05b-40e7-8dd5-cfaedc31a45f: switching from simple_bridge technology to native_rtp

      > 0x7ff47c007150 — Probation passed – setting RTP source address to 192.168.81.254:16386

   — Channel SIP/10.0.33.45-00000009 left ‘native_rtp’ basic-bridge <500329ef-a05b-40e7-8dd5-cfaedc31a45f>

   — Channel SIP/6700-0000000a left ‘native_rtp’ basic-bridge <500329ef-a05b-40e7-8dd5-cfaedc31a45f>

 == Spawn extension (OSsites, 639230990430, 2) exited non-zero on ‘SIP/10.0.33.45-00000009’

ip-10-0-33-45*CLI>

 == Using SIP RTP CoS mark 5

   — Executing [639230990430@public:1] Answer(“SIP/205.207.0.82-0000000b”, “”) in new stack

      > 0x7f879c004140 — Probation passed – setting RTP source address to 205.207.0.82:24048

   — Executing [639230990430@public:2] Dial(“SIP/205.207.0.82-0000000b”, “SIP/10.0.32.100/639230990430”) in new stack

 == Using SIP RTP CoS mark 5

   — Called SIP/10.0.32.100/639230990430

   — SIP/10.0.32.100-0000000c answered SIP/205.207.0.82-0000000b

   — Channel SIP/205.207.0.82-0000000b joined ‘simple_bridge’ basic-bridge <1cdee761-e16e-4760-b572-b4e214adba4b>

   — Channel SIP/10.0.32.100-0000000c joined ‘simple_bridge’ basic-bridge <1cdee761-e16e-4760-b572-b4e214adba4b>

      > Bridge 1cdee761-e16e-4760-b572-b4e214adba4b: switching from simple_bridge technology to native_rtp

   — Channel SIP/205.207.0.82-0000000b left ‘native_rtp’ basic-bridge <1cdee761-e16e-4760-b572-b4e214adba4b>

 == Spawn extension (public, 639230990430, 2) exited non-zero on ‘SIP/205.207.0.82-0000000b’

   — Channel SIP/10.0.32.100-0000000c left ‘native_rtp’ basic-bridge <1cdee761-e16e-4760-b572-b4e214adba4b>

Building unsupported cards,

Although the TDM410 and the TDM800 are no longer ‘supported’ they can be made to work to get yourself out of a mess.

Warning: You’re on your own with support.

The example here is using DAHDI 3.1.0 as I found myself in the same mess.

In file dahdi-linux-complete-3.1.0+3.1.0/linux/drivers/dahdi/wctdm24xxp/base.c add back in the PCI devices for the TDM410 and the TDM800 in my case.

static DEFINE_PCI_DEVICE_TABLE(wctdm_pci_tbl) = {
    { 0xd161, 0x2400, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wctdm2400 },
    **{ 0xd161, 0x0800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wctdm800 },**
    { 0xd161, 0x8002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcaex800 },
    { 0xd161, 0x8003, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcaex2400 },
    **{ 0xd161, 0x8005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wctdm410 },**
    { 0xd161, 0x8006, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcaex410 },
    { 0xd161, 0x8007, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wcha80000 },
    { 0xd161, 0x8008, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) &wchb80000 },
    { 0 }
};