SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
ETE 605: IP Telephony



   Setting an IP telephony solution between Asterisk
                        Servers




Course Instructor: Dr. Mashiur Rahman


Submitted by: Md. Asibul Ahsan
ID: 063 473 056




Date of Submission- 15/04/08
Introduction:

Asterisk is the world’s leading open source telephony engine and tool kit. Different types
of VoIP solution can be provided using Asterisk. The unit configuration of asterisk is quit
simple and anyone can able to configure it easily. But in practical implementation where
communication between multiple Asterisk servers is required, there are lots of methods to
implement this. Depending upon the situation we have to choose the right method. The
main objective of my report is to choose the right method depending upon the situation.

Objective:
   •    Implementation of IP telephony solution between two asterisk
   •    Discuss various methods for communicating between two Asterisk server


Communication Between Two Asterisk:
There are various methods to communication between two Asterisk servers.

    •   IAX (Inter Asterisk Exchange)
    •   SIP
    •   H.323
    •   MGCP

Of course you can also use SIP or H.323 (but not MGCP) to interlink two Asterisk
servers, however IAX is the most common approach (Note: SIP > IAX > SIP does not
currently work for video calls as of Jan 08). In order to share a dial plan you can

   •    intelligently design the dial plan on each server so that it becomes immediately
        clear when an extension on the other server is dialed, e.g. use 3xxx for server A,
        4xxx for server B, and 5xxx for extensions on server C.
   •    use the "switch" statement to make server A lookup locally unknown extensions
        on server B (both boxes must be permanently on-line, if that is not the case you'll
        experience large delays when dialing!)
   •    use DUNDi: Distributed Universal Number Directory (DUNDi)
   •    use EnumLookup

SIP methods
Unlike with IAX there is no clean distinction between type=peer and type=user when it
comes to sip.conf. You can start out with type=friend on both sides, and if you get that
working you'll probably want to split the entry into a peer and a user. Also take a look at
the sip.conf parameters "insecure=very" and maybe "autocreatepeer=yes".
•   server A with static IP, server B with dynamic IP: Register server B with server A
       in sip.conf
   •   both servers with static IP: No need to register at all
   •   both servers with dynamic IP: That's a bit tricky, you'll need to resort to a service
       like dyndns.org in to be able to register the servers with each other; in any case
       this is not a good setup as during IP change connectivity will be lost until the
       update has been propagated through dyndns.
   •   both servers behind their own NAT: Don't use SIP, turn to IAX2 instead




                 Fig: Connecting two Asterisk servers using SIP


SIP can be used to interconnect two Asterisk boxes. It is important to pay attention to the
dial plan before moving on with this configuration. Users usually want to connect other
PBXs with minimal effort. The idea now is to use an extension number only to connect to
the other PBX.

The complete implementation is given bellow:

Server 1:

IP         : 192.168.9.4
Server Name: B
Extension : 34XX

Server 2:

IP         : 192.168.6.3
Server Name: A
Extension : 30XX
Required Configuration Files:
      1) sip.conf
      2) Extension.conf

Server 1

 sip.conf
[B]
type=user
secret=B
host=192.168.9.4
allow=all
canreinvite=no

[B-out]
type=peer
fromuser=A
username=A
secret=A
host=192.168.6.3
allow=all
canreinvite=no

[3401]
callerid="West User" <3401>
canreinvite=no
context=default
host=dynamic
mailbox=3401
secret=3401
type=friend
username=3401
allow=all

[3402]
callerid="West User" <3402>
canreinvite=no
context=default
host=dynamic
mailbox=3402
secret=3402
type=friend
username=3402
allow=all
extension.conf

[default]
exten=_34XX,1,dial(SIP/${EXTEN},20)
exten=_34XX,2,hangup()
exten=_30XX,1,dial(SIP/B-out/${EXTEN})
exten=_30XX,2,hangup()


Server 2

 sip.conf
[A]
type=user
host=192.168.6.3
secret=A
allow=all
canreinvite=no

[A-out]
type=peer
host=192.168.9.4
fromuser=B
username=B
secret=B
allow=all
canreinvite=no

[3001]
callerid="East User" <3001>
canreinvite=no
context=default
host=dynamic
mailbox=3001
secret=3001
type=friend
username=3001
allow=all

[3002]
callerid="East User" <3002>
canreinvite=no
context=default
host=dynamic
mailbox=3002
secret=3002
type=friend
username=3002
allow=all

extension.conf

[default]
exten=_30XX,1,dial(SIP/${EXTEN},20)
exten=_30XX,2,hangup()
exten=_34XX,1,dial(SIP/A-out/${EXTEN})
exten=_34XX,2,hangup()


Log Files for call from extension 3001(server A) to 3401 (Server B)

Server : A

*CLI>
*CLI> -- Executing [3401@default:1] Dial("SIP/3001-0891ebe0", "SIP/A-out/3401")
in new stack
   -- Called A-out/3401
   -- SIP/A-out-08923e58 is ringing
   -- SIP/A-out-08923e58 answered SIP/3001-0891ebe0
   -- Packet2Packet bridging SIP/3001-0891ebe0 and SIP/A-out-08923e58
 == Spawn extension (default, 3401, 1) exited non-zero on 'SIP/3001-0891ebe0'


Server : B

*CLI>
*CLI> -- Executing [3401@default:1] Dial("SIP/B-084c0e48", "SIP/3401|20") in new
stack
   -- Called 3401
   -- SIP/3401-084c64a0 is ringing
   -- SIP/3401-084c64a0 answered SIP/B-084c0e48
   -- Packet2Packet bridging SIP/B-084c0e48 and SIP/3401-084c64a0
 == Spawn extension (default, 3401, 1) exited non-zero on 'SIP/B-084c0e48'
IAX setup details
An IAX connection between two Asterisk servers is setup in steps:

   •   Configure Asterisk servers at both ends in iax.conf, one as peer and the other as user.
   •   Set up the user's dialplan in extensions.conf so that calls can be made from the user to the
       peer.
   •   Optionally, register the peer with the user (for when the peer's ip is dynamic and
       therefore unknown by the user.)
   •   Repeat the previous steps in the opposite direction (swap peer and user) if you want to be
       able to place calls in both directions.

Declaration of IAX2 user
A peer receives calls. The following would be needed in iax.conf on the peer machine to
verify (authenticate) the identify of the user before allowing calls from that user.

[username]
 type=user
 auth=md5
 secret=secretword
 context=iax2users


The "context" is important as it sets the local context in which to place any calls
incoming from this user (see extensions.conf ).

This setup lets the remote user register to your system from any host. If you want to
restrict which IP-address or hostname the remote user connects from, add permit or deny
settings when describing the user in the peer's iax.conf.

Declaration of IAX2 peer
A user makes calls. The following would be needed in iax.conf on the user machine to
identify (authenticate) itself to the peer before the peer will take the call.

[peername]
 type=peer
 host=hostname.domain.tld (or "dynamic" which would then require a "register" comman
d by the peer.)
 auth=md5
 secret=secretword          ; redundant when already embedded in Dial string
 username=username-at-the-peer     ; redundant when already embedded in Dial string



Please note:
•   a type=user is to authenticate an incoming call
    •   a type=peer is someone you send a call to
    •   type=friend, of course, is both


Using type=friend makes life easier, but treat it as a shortcut. If you add both type=friend
and host=hostname, domain.ext you limit the hosts your peer can place calls from, which
may not be what you want.



For instructions on using auth=rsa, see Asterisk IAX RSA authentication wiki page.

Now that we have completed steps 1 and 2 the only thing left is to set up the dialplan.
Read the examples below for how to accomplish that.


Connecting the dial plans

Example 1

extensions.conf:
 exten => _7XXX,1,Dial(IAX2/myserver:passwordA@IAXserverA/${EXTEN:1},30,r)
 exten => _7XXX,2,Dial(SIP/myserver:passwordA@SIPserverA/${EXTEN:1},30,r)
 exten => _7XXX,3,Congestion

exten => _8XXX,1,Dial(IAX2/myserver:passwordB@IAXserverB/${EXTEN:1},30,r)
exten => _8XXX,2,Dial(SIP/myserver:passwordB@SIPserverB/${EXTEN:1},30,r)
exten => _8XXX,3,Congestion

Of course we'll need matching entries like [IAXserverA] etc. in iax.conf and sip.conf in
order for the above to work as intended. The example uses SIP as a fallback in case we
have problems with your IAX connection.
Note that with this approach username and password will be shown in the CDR records
(you might want to use the second example or to look at using keys instead of a
username/password combination)!

Example 2
This example doesn't show the username and secret in the CDR.
Note: As if 1.0.9 this shortcut is still not part of the Asterisk Stable branch, so still
requires the user and password as part of the dial string in extensions.conf. e.g.
 exten => _7XXX,1,Dial(IAX2/username:pass@serverB/${EXTEN:1},30,r)


(serverA)
iax.conf
[general]
register => <username>:<password>@<serverB hostname or IP>

[serverB]
type=friend
user=<username>
secret=<password>
host=<serverB hostname or IP>

extensions.conf
 exten => _7XXX,1,Dial(IAX2/serverB/${EXTEN:1},30,r)
 exten => _7XXX,2,Congestion

(serverB)
iax.conf
 [serverA]
 type=friend
 user=<username>
 secret=<password>
 host=<dynamic> | <serverA hostname or IP>

extensions.conf
exten => _8XXX,1,Dial(IAX2/serverA/${EXTEN:1},30,r)
exten => _8XXX,2,Congestion

In some cases the serverA and serverB, will be the usernames of the server.

Example 3
With the Switch object in extensions.conf you may connect two Asterisk servers and the
other servers dial plan. In this case our own box "server C" will either connect to "server
A" or "server B":

[default]
exten => _801XXX,1,Goto,srvA|${EXTEN}|1
exten => _802XXX,1,Goto,srvB|${EXTEN}|1

 [srvA]
 exten => _801XXX,1,StripMSD,3
 exten => _XXX,2,Goto,1
 switch => IAX/serverA

 [srvB]
 exten => _802XXX,1,StripMSD,3
 exten => _XXX,2,Goto,1
 switch => IAX/serverB
Notes: You may not establish circular links by switching serverA to serverB and serverB
to serverA! Also take a look at the (new) iax.conf setting "autokill=" to prevent a long
hang when the remote server is down or disconnected.

Example 4

In extensions.conf: (on master)

[outbound]
switch => IAX2/master:secret@iax-gw1.company.net/outbound

In iax.conf (on master):

[slave]
type=user
auth=plaintext
context=outbound
context=outbound2 ; (can have multiple if you want)
secret=secret
host=dynamic
callerid="slave"
trunk=yes
notransfer=yes

[slave]
type=peer
auth=plaintext
context=outbound-nuphone
secret=secret
host=dynamic
trunk=yes
notransfer=yes

In extensions.conf (slave):

[assigned-dids]
; uncomment a dial mechanism, first one goes to specific extension
; other one goes to dial parameter s.

;exten => 7046446999,1,Dial,IAX2/master@slave/${EXTEN}
;exten => 7046446999,1,Dial,IAX2/master@slave

In iax.conf (slave):

register => slave:secret@iax-gw1.company.net
[master]
type=peer
host=iax-gw1.company.net
secret=secret
context=outbound
trunk=yes
canreinvite=no

[master]
type=user
secret=secret
context=acontext
trunk=yes
canreinvite=no



The register command
When the ip of the peer is unknown, a user has no way to place a call (e.g. when an
office/user calls a teleworker/peer at home, where the teleworker has only a dynamic ip
or is behind NAT.) To compensate for this, the teleworker/peer actively registers with the
office/user by providing its identity and ip location.

On the peer, in the [general] section of iax.conf, add a registration entry:

register => user:password@hostname.domain.ext

The continually updates the user so it will always know how to reach the peer even if the
peer's ip changes.

The "register" statement only works if you want to hook up a server with a dynamic IP to
a server with a static (public) IP, i.e. on the user you must add "host=dynamic" in the
iax.conf for that peer. If both servers are at known, static IPs then there is no need for a
register statement as you'd use host=hostname on both ends.




Summery

The configurations between two Asterisk servers were discussed in here. It’s a easy and
scalable way to communicate over IP. The upcoming VoIP requirements for Call Center
and other VoIP based solutions can be easily implemented through the process.
Reference:

  1) http://www.voip-info.org/wiki/index.php
  2) Asterisk PBX Configuration Guide - Flavio E. Gonçalves
  2) http://forum.asteriskportal.nl
  3) http://www.the-asterisk-book.com
  4) http://www.asteriskbilling.com/asterisk/software.htm
  5) http://www.easyasterisk.org
  6) http://www.pbxtech.info/register.php
  7) http://www.voip-news.co.uk/voip/news/

Weitere ähnliche Inhalte

Was ist angesagt?

Dynamic Routing with FRR - pfSense Hangout December 2017
Dynamic Routing with FRR - pfSense Hangout December 2017Dynamic Routing with FRR - pfSense Hangout December 2017
Dynamic Routing with FRR - pfSense Hangout December 2017Netgate
 
Connectivity Troubleshooting - pfSense Hangout June 2016
Connectivity Troubleshooting - pfSense Hangout June 2016Connectivity Troubleshooting - pfSense Hangout June 2016
Connectivity Troubleshooting - pfSense Hangout June 2016Netgate
 
High Availability Part 2 - pfSense Hangout July 2016
High Availability Part 2 - pfSense Hangout July 2016High Availability Part 2 - pfSense Hangout July 2016
High Availability Part 2 - pfSense Hangout July 2016Netgate
 
pfSense firewall workshop guide
pfSense firewall workshop guidepfSense firewall workshop guide
pfSense firewall workshop guideSopon Tumchota
 
High Availability on pfSense 2.4 - pfSense Hangout March 2017
High Availability on pfSense 2.4 - pfSense Hangout March 2017High Availability on pfSense 2.4 - pfSense Hangout March 2017
High Availability on pfSense 2.4 - pfSense Hangout March 2017Netgate
 
Providing Local DNS with pfSense - pfSense Hangout August 2016
Providing Local DNS with pfSense - pfSense Hangout August 2016Providing Local DNS with pfSense - pfSense Hangout August 2016
Providing Local DNS with pfSense - pfSense Hangout August 2016Netgate
 
Console Menu - pfSense Hangout December 2016
Console Menu - pfSense Hangout December 2016Console Menu - pfSense Hangout December 2016
Console Menu - pfSense Hangout December 2016Netgate
 
10 step-to-configure-cisco-call-manager-express
10 step-to-configure-cisco-call-manager-express10 step-to-configure-cisco-call-manager-express
10 step-to-configure-cisco-call-manager-expressNguyen Thanh
 
Multi-WAN on pfSense 2.3 - pfSense Hangout March 2016
Multi-WAN on pfSense 2.3 - pfSense Hangout March 2016Multi-WAN on pfSense 2.3 - pfSense Hangout March 2016
Multi-WAN on pfSense 2.3 - pfSense Hangout March 2016Netgate
 
Configuring Netgate Appliance Integrated Switches on pfSense 2.4.4 - pfSense ...
Configuring Netgate Appliance Integrated Switches on pfSense 2.4.4 - pfSense ...Configuring Netgate Appliance Integrated Switches on pfSense 2.4.4 - pfSense ...
Configuring Netgate Appliance Integrated Switches on pfSense 2.4.4 - pfSense ...Netgate
 
Traffic Shaping Basics with PRIQ - pfSense Hangout February 2016
Traffic Shaping Basics with PRIQ - pfSense Hangout February 2016Traffic Shaping Basics with PRIQ - pfSense Hangout February 2016
Traffic Shaping Basics with PRIQ - pfSense Hangout February 2016Netgate
 
Advanced Captive Portal - pfSense Hangout June 2017
Advanced Captive Portal - pfSense Hangout June 2017Advanced Captive Portal - pfSense Hangout June 2017
Advanced Captive Portal - pfSense Hangout June 2017Netgate
 
Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017
Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017
Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017Netgate
 
RADIUS and LDAP - pfSense Hangout August 2015
RADIUS and LDAP - pfSense Hangout August 2015RADIUS and LDAP - pfSense Hangout August 2015
RADIUS and LDAP - pfSense Hangout August 2015Netgate
 
pfSense 2.3 Preview - pfSense Hangout December 2015
pfSense 2.3 Preview - pfSense Hangout December 2015pfSense 2.3 Preview - pfSense Hangout December 2015
pfSense 2.3 Preview - pfSense Hangout December 2015Netgate
 
Troubleshooting BGP
Troubleshooting BGPTroubleshooting BGP
Troubleshooting BGPDuane Bodle
 
Server Load Balancing on pfSense 2.4 - pfSense Hangout July 2017
Server Load Balancing on pfSense 2.4 - pfSense Hangout July 2017Server Load Balancing on pfSense 2.4 - pfSense Hangout July 2017
Server Load Balancing on pfSense 2.4 - pfSense Hangout July 2017Netgate
 
Site-to-Site VPNs - pfSense Hangout November 2015
Site-to-Site VPNs - pfSense Hangout November 2015Site-to-Site VPNs - pfSense Hangout November 2015
Site-to-Site VPNs - pfSense Hangout November 2015Netgate
 
VoiceCon Troubleshooting Tutorial
VoiceCon Troubleshooting TutorialVoiceCon Troubleshooting Tutorial
VoiceCon Troubleshooting Tutorialekrapf
 

Was ist angesagt? (20)

Dynamic Routing with FRR - pfSense Hangout December 2017
Dynamic Routing with FRR - pfSense Hangout December 2017Dynamic Routing with FRR - pfSense Hangout December 2017
Dynamic Routing with FRR - pfSense Hangout December 2017
 
Connectivity Troubleshooting - pfSense Hangout June 2016
Connectivity Troubleshooting - pfSense Hangout June 2016Connectivity Troubleshooting - pfSense Hangout June 2016
Connectivity Troubleshooting - pfSense Hangout June 2016
 
High Availability Part 2 - pfSense Hangout July 2016
High Availability Part 2 - pfSense Hangout July 2016High Availability Part 2 - pfSense Hangout July 2016
High Availability Part 2 - pfSense Hangout July 2016
 
pfSense firewall workshop guide
pfSense firewall workshop guidepfSense firewall workshop guide
pfSense firewall workshop guide
 
High Availability on pfSense 2.4 - pfSense Hangout March 2017
High Availability on pfSense 2.4 - pfSense Hangout March 2017High Availability on pfSense 2.4 - pfSense Hangout March 2017
High Availability on pfSense 2.4 - pfSense Hangout March 2017
 
Providing Local DNS with pfSense - pfSense Hangout August 2016
Providing Local DNS with pfSense - pfSense Hangout August 2016Providing Local DNS with pfSense - pfSense Hangout August 2016
Providing Local DNS with pfSense - pfSense Hangout August 2016
 
Console Menu - pfSense Hangout December 2016
Console Menu - pfSense Hangout December 2016Console Menu - pfSense Hangout December 2016
Console Menu - pfSense Hangout December 2016
 
10 step-to-configure-cisco-call-manager-express
10 step-to-configure-cisco-call-manager-express10 step-to-configure-cisco-call-manager-express
10 step-to-configure-cisco-call-manager-express
 
Multi-WAN on pfSense 2.3 - pfSense Hangout March 2016
Multi-WAN on pfSense 2.3 - pfSense Hangout March 2016Multi-WAN on pfSense 2.3 - pfSense Hangout March 2016
Multi-WAN on pfSense 2.3 - pfSense Hangout March 2016
 
Configuring Netgate Appliance Integrated Switches on pfSense 2.4.4 - pfSense ...
Configuring Netgate Appliance Integrated Switches on pfSense 2.4.4 - pfSense ...Configuring Netgate Appliance Integrated Switches on pfSense 2.4.4 - pfSense ...
Configuring Netgate Appliance Integrated Switches on pfSense 2.4.4 - pfSense ...
 
Traffic Shaping Basics with PRIQ - pfSense Hangout February 2016
Traffic Shaping Basics with PRIQ - pfSense Hangout February 2016Traffic Shaping Basics with PRIQ - pfSense Hangout February 2016
Traffic Shaping Basics with PRIQ - pfSense Hangout February 2016
 
Advanced Captive Portal - pfSense Hangout June 2017
Advanced Captive Portal - pfSense Hangout June 2017Advanced Captive Portal - pfSense Hangout June 2017
Advanced Captive Portal - pfSense Hangout June 2017
 
Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017
Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017
Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017
 
RADIUS and LDAP - pfSense Hangout August 2015
RADIUS and LDAP - pfSense Hangout August 2015RADIUS and LDAP - pfSense Hangout August 2015
RADIUS and LDAP - pfSense Hangout August 2015
 
pfSense 2.3 Preview - pfSense Hangout December 2015
pfSense 2.3 Preview - pfSense Hangout December 2015pfSense 2.3 Preview - pfSense Hangout December 2015
pfSense 2.3 Preview - pfSense Hangout December 2015
 
EMEA Airheads- Virtual Switching Framework- Aruba OS Switch
EMEA Airheads- Virtual Switching Framework- Aruba OS SwitchEMEA Airheads- Virtual Switching Framework- Aruba OS Switch
EMEA Airheads- Virtual Switching Framework- Aruba OS Switch
 
Troubleshooting BGP
Troubleshooting BGPTroubleshooting BGP
Troubleshooting BGP
 
Server Load Balancing on pfSense 2.4 - pfSense Hangout July 2017
Server Load Balancing on pfSense 2.4 - pfSense Hangout July 2017Server Load Balancing on pfSense 2.4 - pfSense Hangout July 2017
Server Load Balancing on pfSense 2.4 - pfSense Hangout July 2017
 
Site-to-Site VPNs - pfSense Hangout November 2015
Site-to-Site VPNs - pfSense Hangout November 2015Site-to-Site VPNs - pfSense Hangout November 2015
Site-to-Site VPNs - pfSense Hangout November 2015
 
VoiceCon Troubleshooting Tutorial
VoiceCon Troubleshooting TutorialVoiceCon Troubleshooting Tutorial
VoiceCon Troubleshooting Tutorial
 

Ähnlich wie Asibul Ahsan(063473056)

Astricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installationsAstricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installationsOlle E Johansson
 
Tutorial mikrotik step by step anung muhandanu
Tutorial mikrotik step by step  anung muhandanu Tutorial mikrotik step by step  anung muhandanu
Tutorial mikrotik step by step anung muhandanu theviper0308
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rulesFreddy Buenaño
 
All contents are Copyright © 1992–2012 Cisco Systems, Inc. A.docx
All contents are Copyright © 1992–2012 Cisco Systems, Inc. A.docxAll contents are Copyright © 1992–2012 Cisco Systems, Inc. A.docx
All contents are Copyright © 1992–2012 Cisco Systems, Inc. A.docxgalerussel59292
 
Asterisksecuritykingasterisk 130723131448-phpapp01
Asterisksecuritykingasterisk 130723131448-phpapp01Asterisksecuritykingasterisk 130723131448-phpapp01
Asterisksecuritykingasterisk 130723131448-phpapp01King Astreisk Technologies
 
BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.Sumutiu Marius
 
ProjectPurposeThe purpose of this project is to provide an o.docx
ProjectPurposeThe purpose of this project is to provide an o.docxProjectPurposeThe purpose of this project is to provide an o.docx
ProjectPurposeThe purpose of this project is to provide an o.docxwoodruffeloisa
 
Sharing your-internet-connection-on-linux
Sharing your-internet-connection-on-linuxSharing your-internet-connection-on-linux
Sharing your-internet-connection-on-linuxjasembo
 
Group7_EE284_ProjectReport
Group7_EE284_ProjectReportGroup7_EE284_ProjectReport
Group7_EE284_ProjectReportJagbir Kalirai
 
My speech at AstriCon 2007
My speech at AstriCon 2007My speech at AstriCon 2007
My speech at AstriCon 2007stefanocarlini
 
Basic Cisco ASA 5506-x Configuration (Firepower)
Basic Cisco ASA 5506-x Configuration (Firepower)Basic Cisco ASA 5506-x Configuration (Firepower)
Basic Cisco ASA 5506-x Configuration (Firepower)NetProtocol Xpert
 
Design an Implementation of A Messaging and Resource Sharing Software
Design an Implementation of A Messaging and Resource Sharing SoftwareDesign an Implementation of A Messaging and Resource Sharing Software
Design an Implementation of A Messaging and Resource Sharing Softwarenilabarai
 
Integra sppt-elastix-asterisk-configuration
Integra sppt-elastix-asterisk-configurationIntegra sppt-elastix-asterisk-configuration
Integra sppt-elastix-asterisk-configurationMohammed Taher Alhomadei
 
Yeastar Certified Technician S-Series Handouts
Yeastar Certified Technician S-Series HandoutsYeastar Certified Technician S-Series Handouts
Yeastar Certified Technician S-Series HandoutsDemeu Ltd.
 

Ähnlich wie Asibul Ahsan(063473056) (20)

Astricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installationsAstricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installations
 
Tutorial mikrotik step by step anung muhandanu
Tutorial mikrotik step by step  anung muhandanu Tutorial mikrotik step by step  anung muhandanu
Tutorial mikrotik step by step anung muhandanu
 
jonny-martin-asterisk.pdf
jonny-martin-asterisk.pdfjonny-martin-asterisk.pdf
jonny-martin-asterisk.pdf
 
26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rules
 
All contents are Copyright © 1992–2012 Cisco Systems, Inc. A.docx
All contents are Copyright © 1992–2012 Cisco Systems, Inc. A.docxAll contents are Copyright © 1992–2012 Cisco Systems, Inc. A.docx
All contents are Copyright © 1992–2012 Cisco Systems, Inc. A.docx
 
What Is IVR ?
What Is IVR ?What Is IVR ?
What Is IVR ?
 
Asterisksecuritykingasterisk 130723131448-phpapp01
Asterisksecuritykingasterisk 130723131448-phpapp01Asterisksecuritykingasterisk 130723131448-phpapp01
Asterisksecuritykingasterisk 130723131448-phpapp01
 
Tutorial mikrotik step by step
Tutorial mikrotik step by stepTutorial mikrotik step by step
Tutorial mikrotik step by step
 
BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.
 
Lan to lan vpn
Lan to lan vpnLan to lan vpn
Lan to lan vpn
 
ProjectPurposeThe purpose of this project is to provide an o.docx
ProjectPurposeThe purpose of this project is to provide an o.docxProjectPurposeThe purpose of this project is to provide an o.docx
ProjectPurposeThe purpose of this project is to provide an o.docx
 
Np unit2
Np unit2Np unit2
Np unit2
 
CCNA 200-120 Exam Quick Notes
CCNA 200-120 Exam Quick NotesCCNA 200-120 Exam Quick Notes
CCNA 200-120 Exam Quick Notes
 
Sharing your-internet-connection-on-linux
Sharing your-internet-connection-on-linuxSharing your-internet-connection-on-linux
Sharing your-internet-connection-on-linux
 
Group7_EE284_ProjectReport
Group7_EE284_ProjectReportGroup7_EE284_ProjectReport
Group7_EE284_ProjectReport
 
My speech at AstriCon 2007
My speech at AstriCon 2007My speech at AstriCon 2007
My speech at AstriCon 2007
 
Basic Cisco ASA 5506-x Configuration (Firepower)
Basic Cisco ASA 5506-x Configuration (Firepower)Basic Cisco ASA 5506-x Configuration (Firepower)
Basic Cisco ASA 5506-x Configuration (Firepower)
 
Design an Implementation of A Messaging and Resource Sharing Software
Design an Implementation of A Messaging and Resource Sharing SoftwareDesign an Implementation of A Messaging and Resource Sharing Software
Design an Implementation of A Messaging and Resource Sharing Software
 
Integra sppt-elastix-asterisk-configuration
Integra sppt-elastix-asterisk-configurationIntegra sppt-elastix-asterisk-configuration
Integra sppt-elastix-asterisk-configuration
 
Yeastar Certified Technician S-Series Handouts
Yeastar Certified Technician S-Series HandoutsYeastar Certified Technician S-Series Handouts
Yeastar Certified Technician S-Series Handouts
 

Mehr von mashiur

Touseef Kamal062159056
Touseef Kamal062159056Touseef Kamal062159056
Touseef Kamal062159056mashiur
 
Towfique 063382056
Towfique 063382056Towfique 063382056
Towfique 063382056mashiur
 
Tasmiah Binte Zilani (071649556)
Tasmiah Binte Zilani (071649556)Tasmiah Binte Zilani (071649556)
Tasmiah Binte Zilani (071649556)mashiur
 
Sk M Rezaul Karim 072899056
Sk M Rezaul Karim  072899056Sk M Rezaul Karim  072899056
Sk M Rezaul Karim 072899056mashiur
 
Syeda Farhana Shirin Id#062681056
Syeda Farhana Shirin  Id#062681056Syeda Farhana Shirin  Id#062681056
Syeda Farhana Shirin Id#062681056mashiur
 
Shihab Uddin 062483056
Shihab Uddin  062483056Shihab Uddin  062483056
Shihab Uddin 062483056mashiur
 
Shakhawat Hossain (062364056)
Shakhawat Hossain (062364056)Shakhawat Hossain (062364056)
Shakhawat Hossain (062364056)mashiur
 
Shahriar Khaled 062473056
Shahriar Khaled 062473056Shahriar Khaled 062473056
Shahriar Khaled 062473056mashiur
 
Shahnshah Sarker 072802556
Shahnshah Sarker  072802556Shahnshah Sarker  072802556
Shahnshah Sarker 072802556mashiur
 
Shah M Saklaen 072809056
Shah M Saklaen 072809056Shah M Saklaen 072809056
Shah M Saklaen 072809056mashiur
 
Sayef Almaji (063170056)
Sayef Almaji (063170056)Sayef Almaji (063170056)
Sayef Almaji (063170056)mashiur
 
Shah Md Zobair(063560056)
Shah Md Zobair(063560056)Shah Md Zobair(063560056)
Shah Md Zobair(063560056)mashiur
 
Shahed.Anwar 061708556
Shahed.Anwar 061708556Shahed.Anwar 061708556
Shahed.Anwar 061708556mashiur
 
Sajjad Hossain 071297056
Sajjad Hossain  071297056Sajjad Hossain  071297056
Sajjad Hossain 071297056mashiur
 
S K Ashikur Rahman (072874556)
S K Ashikur Rahman (072874556)S K Ashikur Rahman (072874556)
S K Ashikur Rahman (072874556)mashiur
 
Rumana Rashid Riti (Id 053 507 056)
Rumana Rashid Riti (Id 053 507 056)Rumana Rashid Riti (Id 053 507 056)
Rumana Rashid Riti (Id 053 507 056)mashiur
 
Rumana Akther Id#072842056
Rumana Akther Id#072842056Rumana Akther Id#072842056
Rumana Akther Id#072842056mashiur
 
Ridhwana Mohammad (071403056)
Ridhwana Mohammad (071403056)Ridhwana Mohammad (071403056)
Ridhwana Mohammad (071403056)mashiur
 
Riaz Rahman (072878056)
Riaz Rahman (072878056)Riaz Rahman (072878056)
Riaz Rahman (072878056)mashiur
 
Rubaiyet Rashid Romel (063454056)
Rubaiyet Rashid Romel (063454056)Rubaiyet Rashid Romel (063454056)
Rubaiyet Rashid Romel (063454056)mashiur
 

Mehr von mashiur (20)

Touseef Kamal062159056
Touseef Kamal062159056Touseef Kamal062159056
Touseef Kamal062159056
 
Towfique 063382056
Towfique 063382056Towfique 063382056
Towfique 063382056
 
Tasmiah Binte Zilani (071649556)
Tasmiah Binte Zilani (071649556)Tasmiah Binte Zilani (071649556)
Tasmiah Binte Zilani (071649556)
 
Sk M Rezaul Karim 072899056
Sk M Rezaul Karim  072899056Sk M Rezaul Karim  072899056
Sk M Rezaul Karim 072899056
 
Syeda Farhana Shirin Id#062681056
Syeda Farhana Shirin  Id#062681056Syeda Farhana Shirin  Id#062681056
Syeda Farhana Shirin Id#062681056
 
Shihab Uddin 062483056
Shihab Uddin  062483056Shihab Uddin  062483056
Shihab Uddin 062483056
 
Shakhawat Hossain (062364056)
Shakhawat Hossain (062364056)Shakhawat Hossain (062364056)
Shakhawat Hossain (062364056)
 
Shahriar Khaled 062473056
Shahriar Khaled 062473056Shahriar Khaled 062473056
Shahriar Khaled 062473056
 
Shahnshah Sarker 072802556
Shahnshah Sarker  072802556Shahnshah Sarker  072802556
Shahnshah Sarker 072802556
 
Shah M Saklaen 072809056
Shah M Saklaen 072809056Shah M Saklaen 072809056
Shah M Saklaen 072809056
 
Sayef Almaji (063170056)
Sayef Almaji (063170056)Sayef Almaji (063170056)
Sayef Almaji (063170056)
 
Shah Md Zobair(063560056)
Shah Md Zobair(063560056)Shah Md Zobair(063560056)
Shah Md Zobair(063560056)
 
Shahed.Anwar 061708556
Shahed.Anwar 061708556Shahed.Anwar 061708556
Shahed.Anwar 061708556
 
Sajjad Hossain 071297056
Sajjad Hossain  071297056Sajjad Hossain  071297056
Sajjad Hossain 071297056
 
S K Ashikur Rahman (072874556)
S K Ashikur Rahman (072874556)S K Ashikur Rahman (072874556)
S K Ashikur Rahman (072874556)
 
Rumana Rashid Riti (Id 053 507 056)
Rumana Rashid Riti (Id 053 507 056)Rumana Rashid Riti (Id 053 507 056)
Rumana Rashid Riti (Id 053 507 056)
 
Rumana Akther Id#072842056
Rumana Akther Id#072842056Rumana Akther Id#072842056
Rumana Akther Id#072842056
 
Ridhwana Mohammad (071403056)
Ridhwana Mohammad (071403056)Ridhwana Mohammad (071403056)
Ridhwana Mohammad (071403056)
 
Riaz Rahman (072878056)
Riaz Rahman (072878056)Riaz Rahman (072878056)
Riaz Rahman (072878056)
 
Rubaiyet Rashid Romel (063454056)
Rubaiyet Rashid Romel (063454056)Rubaiyet Rashid Romel (063454056)
Rubaiyet Rashid Romel (063454056)
 

Kürzlich hochgeladen

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Asibul Ahsan(063473056)

  • 1. ETE 605: IP Telephony Setting an IP telephony solution between Asterisk Servers Course Instructor: Dr. Mashiur Rahman Submitted by: Md. Asibul Ahsan ID: 063 473 056 Date of Submission- 15/04/08
  • 2. Introduction: Asterisk is the world’s leading open source telephony engine and tool kit. Different types of VoIP solution can be provided using Asterisk. The unit configuration of asterisk is quit simple and anyone can able to configure it easily. But in practical implementation where communication between multiple Asterisk servers is required, there are lots of methods to implement this. Depending upon the situation we have to choose the right method. The main objective of my report is to choose the right method depending upon the situation. Objective: • Implementation of IP telephony solution between two asterisk • Discuss various methods for communicating between two Asterisk server Communication Between Two Asterisk: There are various methods to communication between two Asterisk servers. • IAX (Inter Asterisk Exchange) • SIP • H.323 • MGCP Of course you can also use SIP or H.323 (but not MGCP) to interlink two Asterisk servers, however IAX is the most common approach (Note: SIP > IAX > SIP does not currently work for video calls as of Jan 08). In order to share a dial plan you can • intelligently design the dial plan on each server so that it becomes immediately clear when an extension on the other server is dialed, e.g. use 3xxx for server A, 4xxx for server B, and 5xxx for extensions on server C. • use the "switch" statement to make server A lookup locally unknown extensions on server B (both boxes must be permanently on-line, if that is not the case you'll experience large delays when dialing!) • use DUNDi: Distributed Universal Number Directory (DUNDi) • use EnumLookup SIP methods Unlike with IAX there is no clean distinction between type=peer and type=user when it comes to sip.conf. You can start out with type=friend on both sides, and if you get that working you'll probably want to split the entry into a peer and a user. Also take a look at the sip.conf parameters "insecure=very" and maybe "autocreatepeer=yes".
  • 3. server A with static IP, server B with dynamic IP: Register server B with server A in sip.conf • both servers with static IP: No need to register at all • both servers with dynamic IP: That's a bit tricky, you'll need to resort to a service like dyndns.org in to be able to register the servers with each other; in any case this is not a good setup as during IP change connectivity will be lost until the update has been propagated through dyndns. • both servers behind their own NAT: Don't use SIP, turn to IAX2 instead Fig: Connecting two Asterisk servers using SIP SIP can be used to interconnect two Asterisk boxes. It is important to pay attention to the dial plan before moving on with this configuration. Users usually want to connect other PBXs with minimal effort. The idea now is to use an extension number only to connect to the other PBX. The complete implementation is given bellow: Server 1: IP : 192.168.9.4 Server Name: B Extension : 34XX Server 2: IP : 192.168.6.3 Server Name: A Extension : 30XX
  • 4. Required Configuration Files: 1) sip.conf 2) Extension.conf Server 1 sip.conf [B] type=user secret=B host=192.168.9.4 allow=all canreinvite=no [B-out] type=peer fromuser=A username=A secret=A host=192.168.6.3 allow=all canreinvite=no [3401] callerid="West User" <3401> canreinvite=no context=default host=dynamic mailbox=3401 secret=3401 type=friend username=3401 allow=all [3402] callerid="West User" <3402> canreinvite=no context=default host=dynamic mailbox=3402 secret=3402 type=friend username=3402 allow=all
  • 6. type=friend username=3002 allow=all extension.conf [default] exten=_30XX,1,dial(SIP/${EXTEN},20) exten=_30XX,2,hangup() exten=_34XX,1,dial(SIP/A-out/${EXTEN}) exten=_34XX,2,hangup() Log Files for call from extension 3001(server A) to 3401 (Server B) Server : A *CLI> *CLI> -- Executing [3401@default:1] Dial("SIP/3001-0891ebe0", "SIP/A-out/3401") in new stack -- Called A-out/3401 -- SIP/A-out-08923e58 is ringing -- SIP/A-out-08923e58 answered SIP/3001-0891ebe0 -- Packet2Packet bridging SIP/3001-0891ebe0 and SIP/A-out-08923e58 == Spawn extension (default, 3401, 1) exited non-zero on 'SIP/3001-0891ebe0' Server : B *CLI> *CLI> -- Executing [3401@default:1] Dial("SIP/B-084c0e48", "SIP/3401|20") in new stack -- Called 3401 -- SIP/3401-084c64a0 is ringing -- SIP/3401-084c64a0 answered SIP/B-084c0e48 -- Packet2Packet bridging SIP/B-084c0e48 and SIP/3401-084c64a0 == Spawn extension (default, 3401, 1) exited non-zero on 'SIP/B-084c0e48'
  • 7. IAX setup details An IAX connection between two Asterisk servers is setup in steps: • Configure Asterisk servers at both ends in iax.conf, one as peer and the other as user. • Set up the user's dialplan in extensions.conf so that calls can be made from the user to the peer. • Optionally, register the peer with the user (for when the peer's ip is dynamic and therefore unknown by the user.) • Repeat the previous steps in the opposite direction (swap peer and user) if you want to be able to place calls in both directions. Declaration of IAX2 user A peer receives calls. The following would be needed in iax.conf on the peer machine to verify (authenticate) the identify of the user before allowing calls from that user. [username] type=user auth=md5 secret=secretword context=iax2users The "context" is important as it sets the local context in which to place any calls incoming from this user (see extensions.conf ). This setup lets the remote user register to your system from any host. If you want to restrict which IP-address or hostname the remote user connects from, add permit or deny settings when describing the user in the peer's iax.conf. Declaration of IAX2 peer A user makes calls. The following would be needed in iax.conf on the user machine to identify (authenticate) itself to the peer before the peer will take the call. [peername] type=peer host=hostname.domain.tld (or "dynamic" which would then require a "register" comman d by the peer.) auth=md5 secret=secretword ; redundant when already embedded in Dial string username=username-at-the-peer ; redundant when already embedded in Dial string Please note:
  • 8. a type=user is to authenticate an incoming call • a type=peer is someone you send a call to • type=friend, of course, is both Using type=friend makes life easier, but treat it as a shortcut. If you add both type=friend and host=hostname, domain.ext you limit the hosts your peer can place calls from, which may not be what you want. For instructions on using auth=rsa, see Asterisk IAX RSA authentication wiki page. Now that we have completed steps 1 and 2 the only thing left is to set up the dialplan. Read the examples below for how to accomplish that. Connecting the dial plans Example 1 extensions.conf: exten => _7XXX,1,Dial(IAX2/myserver:passwordA@IAXserverA/${EXTEN:1},30,r) exten => _7XXX,2,Dial(SIP/myserver:passwordA@SIPserverA/${EXTEN:1},30,r) exten => _7XXX,3,Congestion exten => _8XXX,1,Dial(IAX2/myserver:passwordB@IAXserverB/${EXTEN:1},30,r) exten => _8XXX,2,Dial(SIP/myserver:passwordB@SIPserverB/${EXTEN:1},30,r) exten => _8XXX,3,Congestion Of course we'll need matching entries like [IAXserverA] etc. in iax.conf and sip.conf in order for the above to work as intended. The example uses SIP as a fallback in case we have problems with your IAX connection. Note that with this approach username and password will be shown in the CDR records (you might want to use the second example or to look at using keys instead of a username/password combination)! Example 2 This example doesn't show the username and secret in the CDR. Note: As if 1.0.9 this shortcut is still not part of the Asterisk Stable branch, so still requires the user and password as part of the dial string in extensions.conf. e.g. exten => _7XXX,1,Dial(IAX2/username:pass@serverB/${EXTEN:1},30,r) (serverA) iax.conf
  • 9. [general] register => <username>:<password>@<serverB hostname or IP> [serverB] type=friend user=<username> secret=<password> host=<serverB hostname or IP> extensions.conf exten => _7XXX,1,Dial(IAX2/serverB/${EXTEN:1},30,r) exten => _7XXX,2,Congestion (serverB) iax.conf [serverA] type=friend user=<username> secret=<password> host=<dynamic> | <serverA hostname or IP> extensions.conf exten => _8XXX,1,Dial(IAX2/serverA/${EXTEN:1},30,r) exten => _8XXX,2,Congestion In some cases the serverA and serverB, will be the usernames of the server. Example 3 With the Switch object in extensions.conf you may connect two Asterisk servers and the other servers dial plan. In this case our own box "server C" will either connect to "server A" or "server B": [default] exten => _801XXX,1,Goto,srvA|${EXTEN}|1 exten => _802XXX,1,Goto,srvB|${EXTEN}|1 [srvA] exten => _801XXX,1,StripMSD,3 exten => _XXX,2,Goto,1 switch => IAX/serverA [srvB] exten => _802XXX,1,StripMSD,3 exten => _XXX,2,Goto,1 switch => IAX/serverB
  • 10. Notes: You may not establish circular links by switching serverA to serverB and serverB to serverA! Also take a look at the (new) iax.conf setting "autokill=" to prevent a long hang when the remote server is down or disconnected. Example 4 In extensions.conf: (on master) [outbound] switch => IAX2/master:secret@iax-gw1.company.net/outbound In iax.conf (on master): [slave] type=user auth=plaintext context=outbound context=outbound2 ; (can have multiple if you want) secret=secret host=dynamic callerid="slave" trunk=yes notransfer=yes [slave] type=peer auth=plaintext context=outbound-nuphone secret=secret host=dynamic trunk=yes notransfer=yes In extensions.conf (slave): [assigned-dids] ; uncomment a dial mechanism, first one goes to specific extension ; other one goes to dial parameter s. ;exten => 7046446999,1,Dial,IAX2/master@slave/${EXTEN} ;exten => 7046446999,1,Dial,IAX2/master@slave In iax.conf (slave): register => slave:secret@iax-gw1.company.net
  • 11. [master] type=peer host=iax-gw1.company.net secret=secret context=outbound trunk=yes canreinvite=no [master] type=user secret=secret context=acontext trunk=yes canreinvite=no The register command When the ip of the peer is unknown, a user has no way to place a call (e.g. when an office/user calls a teleworker/peer at home, where the teleworker has only a dynamic ip or is behind NAT.) To compensate for this, the teleworker/peer actively registers with the office/user by providing its identity and ip location. On the peer, in the [general] section of iax.conf, add a registration entry: register => user:password@hostname.domain.ext The continually updates the user so it will always know how to reach the peer even if the peer's ip changes. The "register" statement only works if you want to hook up a server with a dynamic IP to a server with a static (public) IP, i.e. on the user you must add "host=dynamic" in the iax.conf for that peer. If both servers are at known, static IPs then there is no need for a register statement as you'd use host=hostname on both ends. Summery The configurations between two Asterisk servers were discussed in here. It’s a easy and scalable way to communicate over IP. The upcoming VoIP requirements for Call Center and other VoIP based solutions can be easily implemented through the process.
  • 12. Reference: 1) http://www.voip-info.org/wiki/index.php 2) Asterisk PBX Configuration Guide - Flavio E. Gonçalves 2) http://forum.asteriskportal.nl 3) http://www.the-asterisk-book.com 4) http://www.asteriskbilling.com/asterisk/software.htm 5) http://www.easyasterisk.org 6) http://www.pbxtech.info/register.php 7) http://www.voip-news.co.uk/voip/news/