Software: Sjphone and X-Lite softphones, Redhat Linux 9, Asterisk (downloaded current version mid June 03)



Similar documents
Ryan Brown October 9, 2004 The Burgh Live, LLC. Voice over IP using Asterisk (*)

Following the general section, clients are defined, one per section. Sections are delineated by their name in brackets.

Setup the Asterisk server with the Internet Gate

VOIP, Linux, and Asterisk Making Beautiful Voice Together

Introduction. What is DUNDi? Configuring Asterisk for use with DUNDi

Setup Guide: on the MyNetFone Service. Revision History

Introduction to VOIP. Stephen Okay Abdus Salam Int l Center for Theoretical Physics Trieste, Italy, February 21, 2007

Asterisk: The Open Source PBX Solution Adam Olson Systems and network administrators typically deal with

Connecting Your Enterprise With Asterisk: IAX to Carriers. Dayton Turner Voxter Communications

Figure The scenario

Micronet VoIP Solution with Asterisk

IPChitChat VoIP Service User Manual

Atcom MP01 and Elastix Server

How to Configure MTG200 with FreePBX

Mediatrix 3000 with Asterisk June 22, 2011

Implementation of a Fully Functional VoIP Server Inside of a Campus Network

Vdex-40: Zoiper Quick Setup

General Guidelines for SIP Trunking Installations

General Guidelines for SIP Trunking Installations

1) How do I setup my SIP trunk for inbound/outbound calling? We authenticate IP-PBX SIP Trunking traffic by:

Overview of Asterisk (*) Jeff Gunther

Skype connect and Asterisk

Asterisk & ENUM. Extending the Open Source PBX. Michael Haberler, IPA Otmar Lendl, nic.at

Configuring the Cisco SPA8800 IP Telephony Gateway in an Asterisk Environment

DUNDi, So Easy A Caveman Could Do It!

Basic configuration of the GXW410x with Asterisk

Background 1 Table 1 Software & Firmware Versions Tested 1 Figure 1 Integra s Universal Access (UA) IP PBX Test Configuration 1

Quick Installation Guide

VoIP Channels IAX APPENDIX A. General IAX Settings. Appendix A

Asterisk. Michael Kershaw

Configuration Notes 290

EarthLink Business SIP Trunking. Asterisk 11.2 IP PBX Customer Configuration Guide

Copyright ZYCOO All Rights Reserved 1 / 8

PBX Setup Basic setup procedures

Guideline for SIP Trunk Setup

Dean Forest Railway - Asterisk Service

IP Telephony with Asterisk. Sunday A. Folayan

How to Config MTG1000B With T1 and Elastix

SIP Trunk 2 IP-PBX User Guide Asterisk. Ver /08/01 Ver /09/17 Ver /10/07 Ver /10/15 Ver1.0.

SIP Trunking Service Configuration Guide for Time Warner Cable Business Class

Using DUNDi with a Cluster of Asterisk Servers! General Description and Scope

SFLphone Documentation

AGILE SIP TRUNK IP- PBX Connection Manual (Asterisk, Trixbox)

Application Note Configuring the Synapse SB67070 SIP Gateway for Broadvox GO! SIP Trunking

Integrating Asterisk FreePBX with Lync Server 2010

EarthLink Business SIP Trunking. Switchvox SMB 5.5 & Adtran SIP Proxy Implementation Guide

Unicorn60x0 IP ANALOG GATEWAY ASTERISK CONFIGURATION

Practical Guide. How to setup VoIP Infrastructure using AsteriskNOW

SIP Trunking Service Configuration Guide for MegaPath

NodePhone Business Trunks User Manual

SIP Trunking Service Configuration Guide for Skype

nexvortex Setup Guide

nexvortex Setup Template

VOIP with Asterisk & Perl

DT01 WiFi/3G VoIP PBX / ATA User Manual

SIPSTATION User Guide. Schmooze Com Inc.

Using Polycom KIRK Wireless Server 300 or 6000 with Asterisk

Optimum Business SIP Trunk Set-up Guide

Alcatel-Lucent OXO Configuration Guide. For Use with AT&T s IP Flexible Reach Service. Version 1 / Issue 1 Date July 28, 2009

Asterisk: A Non-Technical Overview

Application Notes for Configuring Cablevision Optimum Voice SIP Trunking with Avaya IP Office - Issue 1.1

Telephony with an Asterisk phone system

Voice Call Addon for Ozeki NG SMS Gateway

Asterisk. Technical Application Notes

AGILE SIP TRUNK IP-PBX Connection Manual (Asterisk)

SIP Trunking Service Configuration Guide for Broadvox Fusion

SIP Trunking Service Configuration Guide for PAETEC (Broadsoft Platform)

ASTERISK. Goal. Prerequisites. Asterisk IP PBX Configuration

VoIP Workshop PacNOG3

SIP Trunk Configuration Guide. using

SIP Trunking with Elastix. Configuration Guide for Matrix SETU VTEP

How-To Feature Guide. SIP Peering

XO SIP Service Customer Configuration Guide for Interactive Intelligence Customer Interaction Center (CIC) with XO SIP

SIP Trunking using Optimum Business SIP Trunk Adaptor and the Panasonic KX-NCP500 IP PBX V2.0502

A Guide to Connecting to FreePBX

Link2VoIP SIP Trunk Setup

6.40A AudioCodes Mediant 800 MSBG

Integrating VoIP Phones and IP PBX s with VidyoGateway

TekSIP Proxy frontend for Asterisk PBX

Allo PRI Gateway and Elastix Server

L2F Case Study Overview

Using the GS8 Modular Gateway with Asterisk

Configuring Positron s V114 as a VoIP gateway for a 3cx system

You da M.A.N. Voice, over IP, over stuff

Grandstream Networks, Inc.

ThinkTel SIP Trunks on UCP & emg80-p2

Trunks User Guide. Schmooze Com Inc.

VoIPon Tel: +44 (0) Fax: +44 (0)

Lab Organizing CCENT Objectives by OSI Layer

Grandstream Networks, Inc. UCM6510 Basic Configuration Guide

Businesses Save Money with Toshiba s New SIP Trunking Feature

nexvortex SIP Trunking Implementation & Planning Guide V1.5

SIP Configuration Guide

SIP Trunking Quick Reference Document

Peer-to-Peer SIP Mode with FXS and FXO Gateways

ACD: Average Call Duration is the average duration of the calls routed bya a VoIP provider. It is a quality parameter given by the VoIP providers.

EarthLink Business SIP Trunking. NEC SV8300 IP PBX Customer Configuration Guide

Quick Installation Guide

Transcription:

Asterisk IAX - a Newbie s Struggle Produces a How-To IRC: Hubguru@irc.freenode.net/room:#Asterisk E-mail: Jr.richardson@cox.net Overview Intrigued by the proposition of an Open Source PBX, I jumped into Asterisk waters with a summersault. I have years of experience in telecommunications, transport (layer 1, 2&3), PSTN, Routers, Switches, OSS, ATM, TDM, TCP/IP, etc. This was certainly to be an asset in getting a working system up and running in no-time. That notion couldn t have been farther from the truth. All of my pre-conceptions of how I thought this system actually works were used against me in my own mind. The sparse and emergent documentation was not in a format I was used to seeing and therefore made little sense when bringing together the concepts of the dial plan or IAX setup. I finally managed to get 2 * s up and running with an IAX connection and successfully completed 4-digit call connections between them. This only after hours of trial and error, reading and rereading documentation, searching wiki pages http://voip-info.org/wiki-asterisk and conversing with friendly IRC users: kram, blitzrage & jtodd (thanks guys). Scope The scope of this document is to provide my own interpretation of setting up a dial plan to route calls between 2 * s servers with a 4 digit dial scheme. Included will be example configurations files sip.conf, iax.conf and extentions.conf from each Asterisk server and some explanatory notes within the pertinent context. This document is supplementary to existing documents. Other documentation referenced is a must-read. Test Setup Hardware: 2 Dell GXa s, Pentium III 600, 256 Meg Ram, on-board video, sound, NIC. Not using any Zaptel/Digium cards at this time. 1 Cisco 7960 w/sip ver 4.4 image 1 Cisco ATA-186 w/ver 2.16 image Software: Sjphone and X-Lite softphones, Redhat Linux 9, Asterisk (downloaded current version mid June 03) The 2 computers are loaded with Linux and Asterisk using the following how-to: http://www.automated.it/guidetoasterisk.htm (Andy Powell) Both computers/servers were on the same LAN segment with a flat IP scheme. Server 1 name [Asterisk], IP Address 192.168.1.30 Server 2 name [Asterisk2], IP Address 192.168.1.31

2 X-Lite soft phones installed on Win2K Workstations. These are registered to Asterisk2 (Server #2), IP Address 192.168.1.3 extension [2001] and 192.168.1.4 extension [2002] Cisco 7960 phone is configured with 6 lines, 3 registered to Asterisk and 3 registered to Asterisk2. IP Address 192.168.1.56 line 1 [2010], line 2 [2011], line 3 [2012], line 4 [1010], line 5 [1011], line 6 [1012] Cisco ATA-186 configured using: http://www.loligo.com/asterisk/cisco/ata-186-guide.v20030628.txt (John Todd) Both analog ports have POTS phones attached. The device is registered to Asterisk with 2 lines. IP Address 192.168.1.55 line 1 [1861], line 2 [1862] Sample Configuration Files & Existing Documentation These configuration files and existing documents are set forth with experienced literature but when it comes to IAX, the example of providing what is needed on the other[peer], [user] or [friend] server (the mate) is unclear, at least for me. Attempted below is a reconciliation of such examples, offering configurations for both servers. Client Phone Registration Here is the above mentioned configuration file for both asterisk and asterisk2 denoting successful registration of the above mentioned hardware and software SIP clients. SIP Configuration for Asterisk [general] port = 5060 Port to bind to bindaddr = 0.0.0.0 Address to bind to context = sip Default for incoming calls srvlookup = yes Enable SRV lookups on outbound calls pedantic = yes Enable slow, pedantic checking for Pingtel tos=lowdelay tos=184 maxexpirey=3600 Max length of incoming registration we allow defaultexpirey=120 Default length of incoming/outoing registration notifymimetype=text/plain Allow overriding of mime type in NOTIFY videosupport=yes Turn on support for SIP video disallow=all Disallow all codecs allow=ulaw Allow codecs in order of preference allow=ilbc register => 1234@mysipprovider.com Register with a SIP provider register => 2345@mysipprovider.com/1234 Register 2345 at sip provider as 1234 here.

[1861] line 1 of ATA-186 username=1861 mailbox=1861 nat=1 [1862] line 2 of ATA-186 username=1862 mailbox=9999 nat=1 [1003] Laptop 1, X-Lite over WiFi username=1003 mailbox=1003 nat=1 [1004] Laptop 2, X-Lite over WiFi username=1004 mailbox=1004 nat=1

[1010] 7960 line 4 username=1010 nat=yes mailbox=1010 [1011] 7960 line 5 username=1011 nat=yes [1012] 7960 line 6 username=2012 nat=yes SIP Configuration for Asterisk2 [general] port = 5060 Port to bind to bindaddr = 0.0.0.0 Address to bind to context = sip Default for incoming calls srvlookup = yes Enable SRV lookups on outbound calls pedantic = yes Enable slow, pedantic checking for Pingtel tos=lowdelay tos=184 maxexpirey=3600 Max length of incoming registration we allow defaultexpirey=120 Default length of incoming/outoing registration notifymimetype=text/plain Allow overriding of mime type in NOTIFY

videosupport=yes Turn on support for SIP video disallow=all Disallow all codecs allow=ulaw Allow codecs in order of preference allow=ilbc register => 1234@mysipprovider.com Register with a SIP provider register => 2345@mysipprovider.com/1234 Register 2345 at sip provider as 1234 here. [2001] X-Lite Client username=2001 mailbox=2001 nat=1 [2002] X-Lite Client username=2002 mailbox=2002 nat=1 [2010] 7960 line 1 username=2010 nat=yes mailbox=2010 [2011] 7960 line 2 username=2011 nat=yes

[2012] 7960 line 3 username=2012 nat=yes [root@asterisk2 asterisk]# IAX Configuration Inter-Asterisk exchange driver definition (asterisk) [general] port=5036 bindaddr=192.168.0.1 amaflags=default accountcode=lss0101 bandwidth=low allow=all allow=g723.1 same as bandwidth=high Hm... Proprietary, don't use it... disallow=lpc10 Icky sound quality... Mr. Roboto. allow=gsm Always allow GSM, it's cool :) jitterbuffer=no dropcount=3 maxjitterbuffer=500 maxexccessbuffer=100 trunkfreq=20 register => asterisk:1945@192.168.1.31:5036 How frequently to send trunk msgs (in ms) Above is the entry to establish an IAX register (connection) with a remote IAX server i.e. another Asterisk server. This is not necessary unless this server is dynamic, the IP Address changes.

Notice: register => name:password@192.168.1.31:5036. This local asterisk is registering with remote asterisk2. Asterisk2 must have an entry in its iax.conf to recognize this server and authenticate it (allow it to pass traffic). register => joe@remotehost:5656 register => marko:[torkey]@tormenta.linux-support.net tos=lowdelay Below is the entry to allow asterisk2 to connect to asterisk with the IAX protocol. The context is local, allowing asterisk2 to contact, call or use any client or interface within the [local] context in this server (asterisk) depicted within the dial plan. [asterisk2] auth=md5 context=local defaultip=192.168.1.31 qualify=yes trunk=yes Inter-Asterisk exchange driver definition (asterisk2) [general] port=5036 bindaddr=192.168.0.1 amaflags=default accountcode=lss0101 bandwidth=low allow=all same as bandwidth=high allow=g723.1 Hm... Proprietary, don't use it... disallow=lpc10 Icky sound quality... Mr. Roboto. allow=gsm Always allow GSM, it's cool :) jitterbuffer=no dropcount=3 maxjitterbuffer=500 maxexccessbuffer=100 trunkfreq=20 register => asterisk2:1945@192.168.1.30:5036 How frequently to send trunk msgs (in ms)

Above is the entry to establish an IAX register (connection) with a remote IAX recipient i.e. another Asterisk server. This is not necessary unless this server is dynamic, the IP changes. Notice: register => name:password@192.168.1.30:5036. This local asterisk2 is registering with remote asterisk. Asterisk must have an entry in its iax.conf to recognize this server and authenticate it (allow it to pass traffic). register => joe@remotehost:5656 register => marko:[torkey]@tormenta.linux-support.net tos=lowdelay Below is the entry to allow asterisk to connect to asterisk2 with the IAX protocol. The context is local, allowing asterisk to contact, call or use any client or interface within the [local] context in this server (asterisk2) depicted within the dial plan. [asterisk] auth=md5 context=local defaultip=192.168.1.30 qualify=yes trunk=yes Extension Configuration This file is from [asterisk] server #1 Included are the only entries added or altered from the original sample file. [local] Master context for local, toll-free, and iaxtel calls only ignorepat => 9 include => default include => parkedcalls include => trunklocal include => iaxtel700 include => trunktollfree include => iaxprovider include => sip

include sip here because the iax.conf entry of context was (local) so if any inbound call from IAX wants to contact a sip extension, it must be included here. For security reasons, you may want to specify sip in the (context =) portion in iax.conf. [sip] exten => 55,1,VoicemailMain exten => 1861,1,Dial(SIP/1861,20,tr) exten => 1861,2,VoiceMail,u1861 exten => 1861,102,VoiceMail,b1861 exten => 1862,1,Dial(SIP/1862,20,tr) exten => 1862,2,VoiceMail,u9999 exten => 1862,102,VoiceMail,b9999 exten => 1001,1,Dial(SIP/1001,20,tr) exten => 1001,2,VoiceMail,u1001 exten => 1001,102,VoiceMail,b1001 exten => 1002,1,Dial(SIP/1002,20,tr) exten => 1002,2,VoiceMail,u1002 exten => 1002,102,VoiceMail,b1002 exten => 1003,1,Dial(SIP/1003,20,tr) exten => 1003,2,VoiceMail,u1003 exten => 1003,102,VoiceMail,b1003 exten => 1004,1,Dial(SIP/1004,20,tr) exten => 1004,2,VoiceMail,u1004 exten => 1004,102,VoiceMail,b1004 exten => 1010,1,Dial(SIP/1010,20,tr) exten => 1010,2,VoiceMail,u1010 exten => 1010,102,VoiceMail,b1010 exten => 1011,1,Dial(SIP/1011,20,tr) exten => 1012,1,Dial(SIP/1012,20,tr) exten => _2XXX,1,Dial(IAX/asterisk:1945@192.168.1.31/${EXTEN}@local) This statement above tells the local server if any SIP extension dials a pattern of 2XXX, then forward that request to the IAX channel interface called asterisk. When the call request gets to the other asterisk server (in this case [asterisk2]), register with username (asterisk) and password (1945). The desired asterisk

server (asterisk2) is @ IP Address 192.168.1.31. When the request for connection is authenticated and established from asterisk to asterisk2, asterisk2 forwards the request for connection to extension 2XXX within the local context. This file is from [asterisk2] server #2 Included are the only entries added or altered from the original sample file. [local] Master context for local, toll-free, and iaxtel calls only ignorepat => 9 include => default include => parkedcalls include => trunklocal include => iaxtel700 include => trunktollfree include => iaxprovider include => sip include sip here because the iax.conf entry of context was (local) so if any inbound call from IAX wants to contact a sip extension, it must be included here. For security reasons, you may want to specify sip in the (context =) portion in iax.conf. [sip] exten => 55,1,VoicemailMain exten => 2001,1,Dial(SIP/2001,20,tr) exten => 2001,2,VoiceMail,u2001 exten => 2001,102,VoiceMail,b2001 exten => 2002,1,Dial(SIP/2002,20,tr) exten => 2002,2,VoiceMail,u2002 exten => 2002,102,VoiceMail,b2002 exten => 2003,1,Dial(SIP/2003,20,tr) exten => 2003,2,VoiceMail,u2003 exten => 2003,102,VoiceMail,b2003 exten => 2004,1,Dial(SIP/2004,20,tr) exten => 2004,2,VoiceMail,u2004 exten => 2004,102,VoiceMail,b2004 exten => 2010,1,Dial(SIP/2010,20,tr) exten => 2010,2,VoiceMail,u2010

exten => 2010,102,VoiceMail,b2010 exten => 2011,1,Dial(SIP/2011,20,tr) exten => 2012,1,Dial(SIP/2012,20,tr) exten => _1XXX,1,Dial(IAX/asterisk2:1945@192.168.1.30/${EXTEN}@local) This statement above tells the local server if any SIP extension dials a pattern of 1XXX, then forward that request to the IAX channel interface called asterisk2. When the call request gets to the other asterisk server (in this case [asterisk]), register with username (asterisk2) and password (1945). The desired asterisk server (asterisk) is @ IP Address 192.168.1.30. When the request for connection is authenticated and established from asterisk2 to asterisk, asterisk forwards the request for connection to extension 1XXX within the local context. Closing All that is left is to reload both servers with the added configurations and proceed to test 4-digit dialing between 2 * servers through an IAX link. Another good document to read is the /usr/src/asterisk/readme.iax file located on the asterisk server. I encourage those with pre-conceptions embedded from years of working with Nortel, Cisco and the like to shed them prior to diving into the documents, have an open mind and keep things simple, because it really is simple to setup IAX. Hope this helps. JR

1 2 3 4 5 6 7 8 9 * 8 # 1 2 3 4 5 6 7 8 9 * 8 # 1 2 3 4 5 6 7 8 9 * 8 # 1 2 3 4 5 6 7 8 9 * 8 # 1 2 3 4 5 6 7 8 9 * 8 # 1 2 3 4 5 6 7 8 9 * 8 # From asterisk iax.conf register => asterisk:1945@192.168.1.31:5036 Asterisk #1 [asterisk] These phones are SIP registered with asterisk [asterisk2] auth=md5 context=local defaultip=192.168.1.31 qualify=yes Ethernet IAX Link between Asterisk & Asterisk2 Asterisk #2 [asterisk2] From asterisk2 iax.conf Ethernet register => asterisk:1945@192.168.1.30:5036 These phones are SIP registered with asterisk2 [asterisk] auth=md5 context=local defaultip=192.168.1.30 qualify=yes