<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.voip.ms/w/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.voip.ms/w/index.php?feed=atom&amp;target=Dereksky&amp;title=Special%3AContributions%2FDereksky</id>
		<title>VoIP.ms Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.voip.ms/w/index.php?feed=atom&amp;target=Dereksky&amp;title=Special%3AContributions%2FDereksky"/>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/Special:Contributions/Dereksky"/>
		<updated>2026-06-04T13:45:12Z</updated>
		<subtitle>From VoIP.ms Wiki</subtitle>
		<generator>MediaWiki 1.16.0</generator>

	<entry>
		<id>https://wiki.voip.ms/article/PBXs</id>
		<title>PBXs</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/PBXs"/>
				<updated>2011-06-30T03:01:23Z</updated>
		
		<summary type="html">&lt;p&gt;Dereksky: /* extensions.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==FreePBX / Trixbox / PBX in a Flash (SIP)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxsiptrunk.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]] &lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
canreinvite=nonat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; nat=yes ; uncomment if behind nat&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; allow=g729 ; uncomment if you purchased g.729 from Digium&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
fromuser=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
trustrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
sendrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FreePBX / Trixbox / PBX in a Flash (IAX2)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxiax.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
requirecalltoken=no&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:4569&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[general]                &lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=no&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; Uncomment if you support G729&lt;br /&gt;
fromuser=100000 ;your account&lt;br /&gt;
trustrpid=yes&lt;br /&gt;
sendrpid=yes&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; Uncomment this if your box is behind a NAT&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound because the _NXXNXXXXXX handler will match the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk IP Auth. (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
Note: You'll need to create a sub account to use IP Auth&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=nonat&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
type=friend&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support g729&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; uncommment if behind a nat&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound because the _NXXNXXXXXX handler will match the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (IAX2)==&lt;br /&gt;
&lt;br /&gt;
===iax.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support it&lt;br /&gt;
insecure=port,invite &lt;br /&gt;
requirecalltoken=no&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound because the _NXXNXXXXXX handler will match the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cisco IOS==&lt;br /&gt;
&lt;br /&gt;
===SIP Trunk (Username/Password Authentication)===&lt;br /&gt;
For the configuration below to work, you must have DNS name lookups properly configured on your router.&lt;br /&gt;
The example below is based on IOS 15.1(3)T.  Minor adjustments may be necessary for ealier IOS revisions.&lt;br /&gt;
Note that the dial plan shown below will allow you to dial anything and will pass those digits directly to voip.ms, but will take a few seconds to route the call unless you finish the number with a #.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 configure terminal&lt;br /&gt;
 &lt;br /&gt;
 voice service voip&lt;br /&gt;
  gcid&lt;br /&gt;
  clid substitute name&lt;br /&gt;
  allow-connections sip to sip&lt;br /&gt;
  no supplementary-service sip moved-temporarily&lt;br /&gt;
  no supplementary-service sip refer&lt;br /&gt;
  sip&lt;br /&gt;
   e911&lt;br /&gt;
   transport switch udp tcp&lt;br /&gt;
   asserted-id ppi&lt;br /&gt;
   localhost dns:dns.name.of.your.device&lt;br /&gt;
   midcall-signaling passthru&lt;br /&gt;
   no call service stop&lt;br /&gt;
 &lt;br /&gt;
 sip-ua&lt;br /&gt;
  credentials username your_account password 0 your_password realm voip.ms&lt;br /&gt;
  authentication username your_account password 0 your_password&lt;br /&gt;
  registrar 1 dns:newyork.voip.ms  !Pick your preferred first server&lt;br /&gt;
  registrar 2 dns:montreal.voip.ms !Pick the next best here&lt;br /&gt;
  !You can configure up to 6 registrar servers for fault-tolerance&lt;br /&gt;
 &lt;br /&gt;
 !This dial peer will match all incoming calls for DIDs in the range (555)555-1000 to  (555)555-1999&lt;br /&gt;
 dial-peer voice 1 voip&lt;br /&gt;
  incoming called-number 5555551...&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte &lt;br /&gt;
 &lt;br /&gt;
 !This dial peer is for outgoing calls and matches anything.&lt;br /&gt;
 !Finish dialing with a # to immediately route the call.&lt;br /&gt;
 dial-peer voice 2 voip&lt;br /&gt;
  destination-pattern T&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte&lt;br /&gt;
  session protocol sipv2&lt;br /&gt;
  session transport udp&lt;br /&gt;
  session target sip-server &lt;br /&gt;
 end&lt;br /&gt;
 copy run start&lt;/div&gt;</summary>
		<author><name>Dereksky</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/PBXs</id>
		<title>PBXs</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/PBXs"/>
				<updated>2011-06-30T03:01:09Z</updated>
		
		<summary type="html">&lt;p&gt;Dereksky: /* extensions.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==FreePBX / Trixbox / PBX in a Flash (SIP)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxsiptrunk.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]] &lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
canreinvite=nonat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; nat=yes ; uncomment if behind nat&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; allow=g729 ; uncomment if you purchased g.729 from Digium&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
fromuser=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
trustrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
sendrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FreePBX / Trixbox / PBX in a Flash (IAX2)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxiax.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
requirecalltoken=no&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:4569&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[general]                &lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=no&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; Uncomment if you support G729&lt;br /&gt;
fromuser=100000 ;your account&lt;br /&gt;
trustrpid=yes&lt;br /&gt;
sendrpid=yes&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; Uncomment this if your box is behind a NAT&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound because the _NXXNXXXXXX handler will match the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk IP Auth. (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
Note: You'll need to create a sub account to use IP Auth&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=nonat&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
type=friend&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support g729&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; uncommment if behind a nat&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound because the _NXXNXXXXXX handler will match the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (IAX2)==&lt;br /&gt;
&lt;br /&gt;
===iax.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support it&lt;br /&gt;
insecure=port,invite &lt;br /&gt;
requirecalltoken=no&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will match the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cisco IOS==&lt;br /&gt;
&lt;br /&gt;
===SIP Trunk (Username/Password Authentication)===&lt;br /&gt;
For the configuration below to work, you must have DNS name lookups properly configured on your router.&lt;br /&gt;
The example below is based on IOS 15.1(3)T.  Minor adjustments may be necessary for ealier IOS revisions.&lt;br /&gt;
Note that the dial plan shown below will allow you to dial anything and will pass those digits directly to voip.ms, but will take a few seconds to route the call unless you finish the number with a #.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 configure terminal&lt;br /&gt;
 &lt;br /&gt;
 voice service voip&lt;br /&gt;
  gcid&lt;br /&gt;
  clid substitute name&lt;br /&gt;
  allow-connections sip to sip&lt;br /&gt;
  no supplementary-service sip moved-temporarily&lt;br /&gt;
  no supplementary-service sip refer&lt;br /&gt;
  sip&lt;br /&gt;
   e911&lt;br /&gt;
   transport switch udp tcp&lt;br /&gt;
   asserted-id ppi&lt;br /&gt;
   localhost dns:dns.name.of.your.device&lt;br /&gt;
   midcall-signaling passthru&lt;br /&gt;
   no call service stop&lt;br /&gt;
 &lt;br /&gt;
 sip-ua&lt;br /&gt;
  credentials username your_account password 0 your_password realm voip.ms&lt;br /&gt;
  authentication username your_account password 0 your_password&lt;br /&gt;
  registrar 1 dns:newyork.voip.ms  !Pick your preferred first server&lt;br /&gt;
  registrar 2 dns:montreal.voip.ms !Pick the next best here&lt;br /&gt;
  !You can configure up to 6 registrar servers for fault-tolerance&lt;br /&gt;
 &lt;br /&gt;
 !This dial peer will match all incoming calls for DIDs in the range (555)555-1000 to  (555)555-1999&lt;br /&gt;
 dial-peer voice 1 voip&lt;br /&gt;
  incoming called-number 5555551...&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte &lt;br /&gt;
 &lt;br /&gt;
 !This dial peer is for outgoing calls and matches anything.&lt;br /&gt;
 !Finish dialing with a # to immediately route the call.&lt;br /&gt;
 dial-peer voice 2 voip&lt;br /&gt;
  destination-pattern T&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte&lt;br /&gt;
  session protocol sipv2&lt;br /&gt;
  session transport udp&lt;br /&gt;
  session target sip-server &lt;br /&gt;
 end&lt;br /&gt;
 copy run start&lt;/div&gt;</summary>
		<author><name>Dereksky</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/PBXs</id>
		<title>PBXs</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/PBXs"/>
				<updated>2011-06-30T03:00:56Z</updated>
		
		<summary type="html">&lt;p&gt;Dereksky: /* extensions.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==FreePBX / Trixbox / PBX in a Flash (SIP)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxsiptrunk.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]] &lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
canreinvite=nonat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; nat=yes ; uncomment if behind nat&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; allow=g729 ; uncomment if you purchased g.729 from Digium&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
fromuser=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
trustrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
sendrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FreePBX / Trixbox / PBX in a Flash (IAX2)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxiax.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
requirecalltoken=no&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:4569&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[general]                &lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=no&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; Uncomment if you support G729&lt;br /&gt;
fromuser=100000 ;your account&lt;br /&gt;
trustrpid=yes&lt;br /&gt;
sendrpid=yes&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; Uncomment this if your box is behind a NAT&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound because the _NXXNXXXXXX handler will match the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk IP Auth. (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
Note: You'll need to create a sub account to use IP Auth&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=nonat&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
type=friend&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support g729&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; uncommment if behind a nat&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will match the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (IAX2)==&lt;br /&gt;
&lt;br /&gt;
===iax.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support it&lt;br /&gt;
insecure=port,invite &lt;br /&gt;
requirecalltoken=no&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will match the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cisco IOS==&lt;br /&gt;
&lt;br /&gt;
===SIP Trunk (Username/Password Authentication)===&lt;br /&gt;
For the configuration below to work, you must have DNS name lookups properly configured on your router.&lt;br /&gt;
The example below is based on IOS 15.1(3)T.  Minor adjustments may be necessary for ealier IOS revisions.&lt;br /&gt;
Note that the dial plan shown below will allow you to dial anything and will pass those digits directly to voip.ms, but will take a few seconds to route the call unless you finish the number with a #.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 configure terminal&lt;br /&gt;
 &lt;br /&gt;
 voice service voip&lt;br /&gt;
  gcid&lt;br /&gt;
  clid substitute name&lt;br /&gt;
  allow-connections sip to sip&lt;br /&gt;
  no supplementary-service sip moved-temporarily&lt;br /&gt;
  no supplementary-service sip refer&lt;br /&gt;
  sip&lt;br /&gt;
   e911&lt;br /&gt;
   transport switch udp tcp&lt;br /&gt;
   asserted-id ppi&lt;br /&gt;
   localhost dns:dns.name.of.your.device&lt;br /&gt;
   midcall-signaling passthru&lt;br /&gt;
   no call service stop&lt;br /&gt;
 &lt;br /&gt;
 sip-ua&lt;br /&gt;
  credentials username your_account password 0 your_password realm voip.ms&lt;br /&gt;
  authentication username your_account password 0 your_password&lt;br /&gt;
  registrar 1 dns:newyork.voip.ms  !Pick your preferred first server&lt;br /&gt;
  registrar 2 dns:montreal.voip.ms !Pick the next best here&lt;br /&gt;
  !You can configure up to 6 registrar servers for fault-tolerance&lt;br /&gt;
 &lt;br /&gt;
 !This dial peer will match all incoming calls for DIDs in the range (555)555-1000 to  (555)555-1999&lt;br /&gt;
 dial-peer voice 1 voip&lt;br /&gt;
  incoming called-number 5555551...&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte &lt;br /&gt;
 &lt;br /&gt;
 !This dial peer is for outgoing calls and matches anything.&lt;br /&gt;
 !Finish dialing with a # to immediately route the call.&lt;br /&gt;
 dial-peer voice 2 voip&lt;br /&gt;
  destination-pattern T&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte&lt;br /&gt;
  session protocol sipv2&lt;br /&gt;
  session transport udp&lt;br /&gt;
  session target sip-server &lt;br /&gt;
 end&lt;br /&gt;
 copy run start&lt;/div&gt;</summary>
		<author><name>Dereksky</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/PBXs</id>
		<title>PBXs</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/PBXs"/>
				<updated>2011-06-30T02:22:30Z</updated>
		
		<summary type="html">&lt;p&gt;Dereksky: /* extensions.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==FreePBX / Trixbox / PBX in a Flash (SIP)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxsiptrunk.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]] &lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
canreinvite=nonat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; nat=yes ; uncomment if behind nat&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; allow=g729 ; uncomment if you purchased g.729 from Digium&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
fromuser=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
trustrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
sendrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FreePBX / Trixbox / PBX in a Flash (IAX2)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxiax.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
requirecalltoken=no&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:4569&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[general]                &lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=no&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; Uncomment if you support G729&lt;br /&gt;
fromuser=100000 ;your account&lt;br /&gt;
trustrpid=yes&lt;br /&gt;
sendrpid=yes&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; Uncomment this if your box is behind a NAT&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will match the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk IP Auth. (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
Note: You'll need to create a sub account to use IP Auth&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=nonat&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
type=friend&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support g729&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; uncommment if behind a nat&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will match the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (IAX2)==&lt;br /&gt;
&lt;br /&gt;
===iax.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support it&lt;br /&gt;
insecure=port,invite &lt;br /&gt;
requirecalltoken=no&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will match the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cisco IOS==&lt;br /&gt;
&lt;br /&gt;
===SIP Trunk (Username/Password Authentication)===&lt;br /&gt;
For the configuration below to work, you must have DNS name lookups properly configured on your router.&lt;br /&gt;
The example below is based on IOS 15.1(3)T.  Minor adjustments may be necessary for ealier IOS revisions.&lt;br /&gt;
Note that the dial plan shown below will allow you to dial anything and will pass those digits directly to voip.ms, but will take a few seconds to route the call unless you finish the number with a #.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 configure terminal&lt;br /&gt;
 &lt;br /&gt;
 voice service voip&lt;br /&gt;
  gcid&lt;br /&gt;
  clid substitute name&lt;br /&gt;
  allow-connections sip to sip&lt;br /&gt;
  no supplementary-service sip moved-temporarily&lt;br /&gt;
  no supplementary-service sip refer&lt;br /&gt;
  sip&lt;br /&gt;
   e911&lt;br /&gt;
   transport switch udp tcp&lt;br /&gt;
   asserted-id ppi&lt;br /&gt;
   localhost dns:dns.name.of.your.device&lt;br /&gt;
   midcall-signaling passthru&lt;br /&gt;
   no call service stop&lt;br /&gt;
 &lt;br /&gt;
 sip-ua&lt;br /&gt;
  credentials username your_account password 0 your_password realm voip.ms&lt;br /&gt;
  authentication username your_account password 0 your_password&lt;br /&gt;
  registrar 1 dns:newyork.voip.ms  !Pick your preferred first server&lt;br /&gt;
  registrar 2 dns:montreal.voip.ms !Pick the next best here&lt;br /&gt;
  !You can configure up to 6 registrar servers for fault-tolerance&lt;br /&gt;
 &lt;br /&gt;
 !This dial peer will match all incoming calls for DIDs in the range (555)555-1000 to  (555)555-1999&lt;br /&gt;
 dial-peer voice 1 voip&lt;br /&gt;
  incoming called-number 5555551...&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte &lt;br /&gt;
 &lt;br /&gt;
 !This dial peer is for outgoing calls and matches anything.&lt;br /&gt;
 !Finish dialing with a # to immediately route the call.&lt;br /&gt;
 dial-peer voice 2 voip&lt;br /&gt;
  destination-pattern T&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte&lt;br /&gt;
  session protocol sipv2&lt;br /&gt;
  session transport udp&lt;br /&gt;
  session target sip-server &lt;br /&gt;
 end&lt;br /&gt;
 copy run start&lt;/div&gt;</summary>
		<author><name>Dereksky</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/PBXs</id>
		<title>PBXs</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/PBXs"/>
				<updated>2011-06-30T02:22:14Z</updated>
		
		<summary type="html">&lt;p&gt;Dereksky: /* extensions.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==FreePBX / Trixbox / PBX in a Flash (SIP)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxsiptrunk.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]] &lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
canreinvite=nonat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; nat=yes ; uncomment if behind nat&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; allow=g729 ; uncomment if you purchased g.729 from Digium&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
fromuser=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
trustrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
sendrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FreePBX / Trixbox / PBX in a Flash (IAX2)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxiax.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
requirecalltoken=no&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:4569&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[general]                &lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=no&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; Uncomment if you support G729&lt;br /&gt;
fromuser=100000 ;your account&lt;br /&gt;
trustrpid=yes&lt;br /&gt;
sendrpid=yes&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; Uncomment this if your box is behind a NAT&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will match the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk IP Auth. (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
Note: You'll need to create a sub account to use IP Auth&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=nonat&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
type=friend&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support g729&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; uncommment if behind a nat&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will match the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (IAX2)==&lt;br /&gt;
&lt;br /&gt;
===iax.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support it&lt;br /&gt;
insecure=port,invite &lt;br /&gt;
requirecalltoken=no&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will fetch the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cisco IOS==&lt;br /&gt;
&lt;br /&gt;
===SIP Trunk (Username/Password Authentication)===&lt;br /&gt;
For the configuration below to work, you must have DNS name lookups properly configured on your router.&lt;br /&gt;
The example below is based on IOS 15.1(3)T.  Minor adjustments may be necessary for ealier IOS revisions.&lt;br /&gt;
Note that the dial plan shown below will allow you to dial anything and will pass those digits directly to voip.ms, but will take a few seconds to route the call unless you finish the number with a #.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 configure terminal&lt;br /&gt;
 &lt;br /&gt;
 voice service voip&lt;br /&gt;
  gcid&lt;br /&gt;
  clid substitute name&lt;br /&gt;
  allow-connections sip to sip&lt;br /&gt;
  no supplementary-service sip moved-temporarily&lt;br /&gt;
  no supplementary-service sip refer&lt;br /&gt;
  sip&lt;br /&gt;
   e911&lt;br /&gt;
   transport switch udp tcp&lt;br /&gt;
   asserted-id ppi&lt;br /&gt;
   localhost dns:dns.name.of.your.device&lt;br /&gt;
   midcall-signaling passthru&lt;br /&gt;
   no call service stop&lt;br /&gt;
 &lt;br /&gt;
 sip-ua&lt;br /&gt;
  credentials username your_account password 0 your_password realm voip.ms&lt;br /&gt;
  authentication username your_account password 0 your_password&lt;br /&gt;
  registrar 1 dns:newyork.voip.ms  !Pick your preferred first server&lt;br /&gt;
  registrar 2 dns:montreal.voip.ms !Pick the next best here&lt;br /&gt;
  !You can configure up to 6 registrar servers for fault-tolerance&lt;br /&gt;
 &lt;br /&gt;
 !This dial peer will match all incoming calls for DIDs in the range (555)555-1000 to  (555)555-1999&lt;br /&gt;
 dial-peer voice 1 voip&lt;br /&gt;
  incoming called-number 5555551...&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte &lt;br /&gt;
 &lt;br /&gt;
 !This dial peer is for outgoing calls and matches anything.&lt;br /&gt;
 !Finish dialing with a # to immediately route the call.&lt;br /&gt;
 dial-peer voice 2 voip&lt;br /&gt;
  destination-pattern T&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte&lt;br /&gt;
  session protocol sipv2&lt;br /&gt;
  session transport udp&lt;br /&gt;
  session target sip-server &lt;br /&gt;
 end&lt;br /&gt;
 copy run start&lt;/div&gt;</summary>
		<author><name>Dereksky</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/PBXs</id>
		<title>PBXs</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/PBXs"/>
				<updated>2011-06-30T02:21:59Z</updated>
		
		<summary type="html">&lt;p&gt;Dereksky: /* extensions.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==FreePBX / Trixbox / PBX in a Flash (SIP)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxsiptrunk.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]] &lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
canreinvite=nonat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; nat=yes ; uncomment if behind nat&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; allow=g729 ; uncomment if you purchased g.729 from Digium&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
fromuser=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
trustrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
sendrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FreePBX / Trixbox / PBX in a Flash (IAX2)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxiax.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
requirecalltoken=no&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:4569&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[general]                &lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=no&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; Uncomment if you support G729&lt;br /&gt;
fromuser=100000 ;your account&lt;br /&gt;
trustrpid=yes&lt;br /&gt;
sendrpid=yes&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; Uncomment this if your box is behind a NAT&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will match the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk IP Auth. (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
Note: You'll need to create a sub account to use IP Auth&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=nonat&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
type=friend&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support g729&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; uncommment if behind a nat&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will fetch the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (IAX2)==&lt;br /&gt;
&lt;br /&gt;
===iax.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support it&lt;br /&gt;
insecure=port,invite &lt;br /&gt;
requirecalltoken=no&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will fetch the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cisco IOS==&lt;br /&gt;
&lt;br /&gt;
===SIP Trunk (Username/Password Authentication)===&lt;br /&gt;
For the configuration below to work, you must have DNS name lookups properly configured on your router.&lt;br /&gt;
The example below is based on IOS 15.1(3)T.  Minor adjustments may be necessary for ealier IOS revisions.&lt;br /&gt;
Note that the dial plan shown below will allow you to dial anything and will pass those digits directly to voip.ms, but will take a few seconds to route the call unless you finish the number with a #.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 configure terminal&lt;br /&gt;
 &lt;br /&gt;
 voice service voip&lt;br /&gt;
  gcid&lt;br /&gt;
  clid substitute name&lt;br /&gt;
  allow-connections sip to sip&lt;br /&gt;
  no supplementary-service sip moved-temporarily&lt;br /&gt;
  no supplementary-service sip refer&lt;br /&gt;
  sip&lt;br /&gt;
   e911&lt;br /&gt;
   transport switch udp tcp&lt;br /&gt;
   asserted-id ppi&lt;br /&gt;
   localhost dns:dns.name.of.your.device&lt;br /&gt;
   midcall-signaling passthru&lt;br /&gt;
   no call service stop&lt;br /&gt;
 &lt;br /&gt;
 sip-ua&lt;br /&gt;
  credentials username your_account password 0 your_password realm voip.ms&lt;br /&gt;
  authentication username your_account password 0 your_password&lt;br /&gt;
  registrar 1 dns:newyork.voip.ms  !Pick your preferred first server&lt;br /&gt;
  registrar 2 dns:montreal.voip.ms !Pick the next best here&lt;br /&gt;
  !You can configure up to 6 registrar servers for fault-tolerance&lt;br /&gt;
 &lt;br /&gt;
 !This dial peer will match all incoming calls for DIDs in the range (555)555-1000 to  (555)555-1999&lt;br /&gt;
 dial-peer voice 1 voip&lt;br /&gt;
  incoming called-number 5555551...&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte &lt;br /&gt;
 &lt;br /&gt;
 !This dial peer is for outgoing calls and matches anything.&lt;br /&gt;
 !Finish dialing with a # to immediately route the call.&lt;br /&gt;
 dial-peer voice 2 voip&lt;br /&gt;
  destination-pattern T&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte&lt;br /&gt;
  session protocol sipv2&lt;br /&gt;
  session transport udp&lt;br /&gt;
  session target sip-server &lt;br /&gt;
 end&lt;br /&gt;
 copy run start&lt;/div&gt;</summary>
		<author><name>Dereksky</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/PBXs</id>
		<title>PBXs</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/PBXs"/>
				<updated>2011-06-30T02:17:23Z</updated>
		
		<summary type="html">&lt;p&gt;Dereksky: /* extensions.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==FreePBX / Trixbox / PBX in a Flash (SIP)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxsiptrunk.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]] &lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
canreinvite=nonat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; nat=yes ; uncomment if behind nat&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; allow=g729 ; uncomment if you purchased g.729 from Digium&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
fromuser=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
trustrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
sendrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FreePBX / Trixbox / PBX in a Flash (IAX2)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxiax.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
requirecalltoken=no&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:4569&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[general]                &lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=no&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; Uncomment if you support G729&lt;br /&gt;
fromuser=100000 ;your account&lt;br /&gt;
trustrpid=yes&lt;br /&gt;
sendrpid=yes&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; Uncomment this if your box is behind a NAT&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will fetch the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk IP Auth. (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
Note: You'll need to create a sub account to use IP Auth&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=nonat&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
type=friend&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support g729&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; uncommment if behind a nat&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will fetch the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (IAX2)==&lt;br /&gt;
&lt;br /&gt;
===iax.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support it&lt;br /&gt;
insecure=port,invite &lt;br /&gt;
requirecalltoken=no&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will fetch the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cisco IOS==&lt;br /&gt;
&lt;br /&gt;
===SIP Trunk (Username/Password Authentication)===&lt;br /&gt;
For the configuration below to work, you must have DNS name lookups properly configured on your router.&lt;br /&gt;
The example below is based on IOS 15.1(3)T.  Minor adjustments may be necessary for ealier IOS revisions.&lt;br /&gt;
Note that the dial plan shown below will allow you to dial anything and will pass those digits directly to voip.ms, but will take a few seconds to route the call unless you finish the number with a #.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 configure terminal&lt;br /&gt;
 &lt;br /&gt;
 voice service voip&lt;br /&gt;
  gcid&lt;br /&gt;
  clid substitute name&lt;br /&gt;
  allow-connections sip to sip&lt;br /&gt;
  no supplementary-service sip moved-temporarily&lt;br /&gt;
  no supplementary-service sip refer&lt;br /&gt;
  sip&lt;br /&gt;
   e911&lt;br /&gt;
   transport switch udp tcp&lt;br /&gt;
   asserted-id ppi&lt;br /&gt;
   localhost dns:dns.name.of.your.device&lt;br /&gt;
   midcall-signaling passthru&lt;br /&gt;
   no call service stop&lt;br /&gt;
 &lt;br /&gt;
 sip-ua&lt;br /&gt;
  credentials username your_account password 0 your_password realm voip.ms&lt;br /&gt;
  authentication username your_account password 0 your_password&lt;br /&gt;
  registrar 1 dns:newyork.voip.ms  !Pick your preferred first server&lt;br /&gt;
  registrar 2 dns:montreal.voip.ms !Pick the next best here&lt;br /&gt;
  !You can configure up to 6 registrar servers for fault-tolerance&lt;br /&gt;
 &lt;br /&gt;
 !This dial peer will match all incoming calls for DIDs in the range (555)555-1000 to  (555)555-1999&lt;br /&gt;
 dial-peer voice 1 voip&lt;br /&gt;
  incoming called-number 5555551...&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte &lt;br /&gt;
 &lt;br /&gt;
 !This dial peer is for outgoing calls and matches anything.&lt;br /&gt;
 !Finish dialing with a # to immediately route the call.&lt;br /&gt;
 dial-peer voice 2 voip&lt;br /&gt;
  destination-pattern T&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte&lt;br /&gt;
  session protocol sipv2&lt;br /&gt;
  session transport udp&lt;br /&gt;
  session target sip-server &lt;br /&gt;
 end&lt;br /&gt;
 copy run start&lt;/div&gt;</summary>
		<author><name>Dereksky</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/PBXs</id>
		<title>PBXs</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/PBXs"/>
				<updated>2011-06-30T02:17:03Z</updated>
		
		<summary type="html">&lt;p&gt;Dereksky: /* extensions.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==FreePBX / Trixbox / PBX in a Flash (SIP)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxsiptrunk.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]] &lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
canreinvite=nonat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; nat=yes ; uncomment if behind nat&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; allow=g729 ; uncomment if you purchased g.729 from Digium&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
fromuser=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
trustrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
sendrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FreePBX / Trixbox / PBX in a Flash (IAX2)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxiax.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
requirecalltoken=no&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:4569&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[general]                &lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=no&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; Uncomment if you support G729&lt;br /&gt;
fromuser=100000 ;your account&lt;br /&gt;
trustrpid=yes&lt;br /&gt;
sendrpid=yes&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; Uncomment this if your box is behind a NAT&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will fetch the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk IP Auth. (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
Note: You'll need to create a sub account to use IP Auth&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=nonat&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
type=friend&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support g729&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; uncommment if behind a nat&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (IAX2)==&lt;br /&gt;
&lt;br /&gt;
===iax.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support it&lt;br /&gt;
insecure=port,invite &lt;br /&gt;
requirecalltoken=no&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will fetch the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cisco IOS==&lt;br /&gt;
&lt;br /&gt;
===SIP Trunk (Username/Password Authentication)===&lt;br /&gt;
For the configuration below to work, you must have DNS name lookups properly configured on your router.&lt;br /&gt;
The example below is based on IOS 15.1(3)T.  Minor adjustments may be necessary for ealier IOS revisions.&lt;br /&gt;
Note that the dial plan shown below will allow you to dial anything and will pass those digits directly to voip.ms, but will take a few seconds to route the call unless you finish the number with a #.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 configure terminal&lt;br /&gt;
 &lt;br /&gt;
 voice service voip&lt;br /&gt;
  gcid&lt;br /&gt;
  clid substitute name&lt;br /&gt;
  allow-connections sip to sip&lt;br /&gt;
  no supplementary-service sip moved-temporarily&lt;br /&gt;
  no supplementary-service sip refer&lt;br /&gt;
  sip&lt;br /&gt;
   e911&lt;br /&gt;
   transport switch udp tcp&lt;br /&gt;
   asserted-id ppi&lt;br /&gt;
   localhost dns:dns.name.of.your.device&lt;br /&gt;
   midcall-signaling passthru&lt;br /&gt;
   no call service stop&lt;br /&gt;
 &lt;br /&gt;
 sip-ua&lt;br /&gt;
  credentials username your_account password 0 your_password realm voip.ms&lt;br /&gt;
  authentication username your_account password 0 your_password&lt;br /&gt;
  registrar 1 dns:newyork.voip.ms  !Pick your preferred first server&lt;br /&gt;
  registrar 2 dns:montreal.voip.ms !Pick the next best here&lt;br /&gt;
  !You can configure up to 6 registrar servers for fault-tolerance&lt;br /&gt;
 &lt;br /&gt;
 !This dial peer will match all incoming calls for DIDs in the range (555)555-1000 to  (555)555-1999&lt;br /&gt;
 dial-peer voice 1 voip&lt;br /&gt;
  incoming called-number 5555551...&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte &lt;br /&gt;
 &lt;br /&gt;
 !This dial peer is for outgoing calls and matches anything.&lt;br /&gt;
 !Finish dialing with a # to immediately route the call.&lt;br /&gt;
 dial-peer voice 2 voip&lt;br /&gt;
  destination-pattern T&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte&lt;br /&gt;
  session protocol sipv2&lt;br /&gt;
  session transport udp&lt;br /&gt;
  session target sip-server &lt;br /&gt;
 end&lt;br /&gt;
 copy run start&lt;/div&gt;</summary>
		<author><name>Dereksky</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/PBXs</id>
		<title>PBXs</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/PBXs"/>
				<updated>2011-06-30T02:16:10Z</updated>
		
		<summary type="html">&lt;p&gt;Dereksky: /* extensions.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==FreePBX / Trixbox / PBX in a Flash (SIP)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxsiptrunk.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]] &lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
canreinvite=nonat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; nat=yes ; uncomment if behind nat&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; allow=g729 ; uncomment if you purchased g.729 from Digium&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
fromuser=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
trustrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
sendrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FreePBX / Trixbox / PBX in a Flash (IAX2)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxiax.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
requirecalltoken=no&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:4569&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[general]                &lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=no&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; Uncomment if you support G729&lt;br /&gt;
fromuser=100000 ;your account&lt;br /&gt;
trustrpid=yes&lt;br /&gt;
sendrpid=yes&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; Uncomment this if your box is behind a NAT&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will fetch the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk IP Auth. (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
Note: You'll need to create a sub account to use IP Auth&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=nonat&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
type=friend&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support g729&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; uncommment if behind a nat&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (IAX2)==&lt;br /&gt;
&lt;br /&gt;
===iax.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support it&lt;br /&gt;
insecure=port,invite &lt;br /&gt;
requirecalltoken=no&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
include =&amp;gt; inbound&lt;br /&gt;
include =&amp;gt; outbound&lt;br /&gt;
&lt;br /&gt;
[outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(IAX2/109799@voipms/${EXTEN})&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(IAX2/109799@voipms/${EXTEN})&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(IAX2/109799@voipms/${EXTEN})&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cisco IOS==&lt;br /&gt;
&lt;br /&gt;
===SIP Trunk (Username/Password Authentication)===&lt;br /&gt;
For the configuration below to work, you must have DNS name lookups properly configured on your router.&lt;br /&gt;
The example below is based on IOS 15.1(3)T.  Minor adjustments may be necessary for ealier IOS revisions.&lt;br /&gt;
Note that the dial plan shown below will allow you to dial anything and will pass those digits directly to voip.ms, but will take a few seconds to route the call unless you finish the number with a #.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 configure terminal&lt;br /&gt;
 &lt;br /&gt;
 voice service voip&lt;br /&gt;
  gcid&lt;br /&gt;
  clid substitute name&lt;br /&gt;
  allow-connections sip to sip&lt;br /&gt;
  no supplementary-service sip moved-temporarily&lt;br /&gt;
  no supplementary-service sip refer&lt;br /&gt;
  sip&lt;br /&gt;
   e911&lt;br /&gt;
   transport switch udp tcp&lt;br /&gt;
   asserted-id ppi&lt;br /&gt;
   localhost dns:dns.name.of.your.device&lt;br /&gt;
   midcall-signaling passthru&lt;br /&gt;
   no call service stop&lt;br /&gt;
 &lt;br /&gt;
 sip-ua&lt;br /&gt;
  credentials username your_account password 0 your_password realm voip.ms&lt;br /&gt;
  authentication username your_account password 0 your_password&lt;br /&gt;
  registrar 1 dns:newyork.voip.ms  !Pick your preferred first server&lt;br /&gt;
  registrar 2 dns:montreal.voip.ms !Pick the next best here&lt;br /&gt;
  !You can configure up to 6 registrar servers for fault-tolerance&lt;br /&gt;
 &lt;br /&gt;
 !This dial peer will match all incoming calls for DIDs in the range (555)555-1000 to  (555)555-1999&lt;br /&gt;
 dial-peer voice 1 voip&lt;br /&gt;
  incoming called-number 5555551...&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte &lt;br /&gt;
 &lt;br /&gt;
 !This dial peer is for outgoing calls and matches anything.&lt;br /&gt;
 !Finish dialing with a # to immediately route the call.&lt;br /&gt;
 dial-peer voice 2 voip&lt;br /&gt;
  destination-pattern T&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte&lt;br /&gt;
  session protocol sipv2&lt;br /&gt;
  session transport udp&lt;br /&gt;
  session target sip-server &lt;br /&gt;
 end&lt;br /&gt;
 copy run start&lt;/div&gt;</summary>
		<author><name>Dereksky</name></author>	</entry>

	<entry>
		<id>https://wiki.voip.ms/article/PBXs</id>
		<title>PBXs</title>
		<link rel="alternate" type="text/html" href="https://wiki.voip.ms/article/PBXs"/>
				<updated>2011-06-30T02:15:47Z</updated>
		
		<summary type="html">&lt;p&gt;Dereksky: /* extensions.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==FreePBX / Trixbox / PBX in a Flash (SIP)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxsiptrunk.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]] &lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
canreinvite=nonat&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; nat=yes ; uncomment if behind nat&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;; allow=g729 ; uncomment if you purchased g.729 from Digium&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
fromuser=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
trustrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
sendrpid=yes&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FreePBX / Trixbox / PBX in a Flash (IAX2)==&lt;br /&gt;
&lt;br /&gt;
https://www.voip.ms/m/samples/images/freepbxiax.gif&lt;br /&gt;
[[File:Pbx-left.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
type=friend&amp;lt;br&amp;gt;&lt;br /&gt;
username=100000 ;your account&amp;lt;br&amp;gt;&lt;br /&gt;
secret=johnspassword ;your password&amp;lt;br&amp;gt;&lt;br /&gt;
context=from-trunk&amp;lt;br&amp;gt;&lt;br /&gt;
host=atlanta.voip.ms&amp;lt;br&amp;gt;&lt;br /&gt;
disallow=all&amp;lt;br&amp;gt;&lt;br /&gt;
allow=ulaw&amp;lt;br&amp;gt;&lt;br /&gt;
insecure=port,invite&amp;lt;br&amp;gt;&lt;br /&gt;
requirecalltoken=no&amp;lt;br&amp;gt;&lt;br /&gt;
qualify=yes&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Register String&lt;br /&gt;
{|style=&amp;quot;border-collapse: collapse; border:1px solid #000; width:500px&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
100000:johnspassword@atlanta.voip.ms:4569&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;overflow:hidden;clear:both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[general]                &lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms:5060&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=no&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; Uncomment if you support G729&lt;br /&gt;
fromuser=100000 ;your account&lt;br /&gt;
trustrpid=yes&lt;br /&gt;
sendrpid=yes&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; Uncomment this if your box is behind a NAT&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
; Make sure to include inbound prior to outbound cause the _NXXNXXXXXX handler will fetch the incoming call and create a loop&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,1,Dial(SIP/1${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk IP Auth. (SIP)==&lt;br /&gt;
&lt;br /&gt;
===sip.conf===&lt;br /&gt;
&lt;br /&gt;
Note: You'll need to create a sub account to use IP Auth&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[voipms]&lt;br /&gt;
canreinvite=nonat&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
type=friend&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support g729&lt;br /&gt;
insecure=port,invite&lt;br /&gt;
; nat=yes ; uncommment if behind a nat&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
include =&amp;gt; voipms-outbound&lt;br /&gt;
include =&amp;gt; voipms-inbound&lt;br /&gt;
&lt;br /&gt;
[voipms-outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(SIP/${EXTEN}@voipms)&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Asterisk (IAX2)==&lt;br /&gt;
&lt;br /&gt;
===iax.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
register =&amp;gt; 100000:johnspassword@atlanta.voip.ms&lt;br /&gt;
&lt;br /&gt;
[voipms]&lt;br /&gt;
type=friend&lt;br /&gt;
username=100000 ;your account&lt;br /&gt;
secret=johnspassword ;your password&lt;br /&gt;
context=mycontext&lt;br /&gt;
host=atlanta.voip.ms&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&lt;br /&gt;
; allow=g729 ; uncomment if you support it&lt;br /&gt;
insecure=port,invite &lt;br /&gt;
requirecalltoken=no&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===extensions.conf===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
[mycontext]&lt;br /&gt;
include =&amp;gt; inbound&lt;br /&gt;
include =&amp;gt; outbound&lt;br /&gt;
&lt;br /&gt;
[outbound]&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,1,Dial(IAX2/109799@voipms/${EXTEN})&lt;br /&gt;
exten =&amp;gt; _1NXXNXXXXXX,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _011.,1,Dial(IAX2/109799@voipms/${EXTEN})&lt;br /&gt;
exten =&amp;gt; _011.,n,Hangup()&lt;br /&gt;
exten =&amp;gt; _00.,1,Dial(IAX2/109799@voipms/${EXTEN})&lt;br /&gt;
exten =&amp;gt; _00.,n,Hangup()&lt;br /&gt;
&lt;br /&gt;
; inbound context example for your DID numbers, do not add the number 1 in front&lt;br /&gt;
&lt;br /&gt;
[voipms-inbound]&lt;br /&gt;
exten =&amp;gt; 7863643011,1,Answer() ;your DID&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cisco IOS==&lt;br /&gt;
&lt;br /&gt;
===SIP Trunk (Username/Password Authentication)===&lt;br /&gt;
For the configuration below to work, you must have DNS name lookups properly configured on your router.&lt;br /&gt;
The example below is based on IOS 15.1(3)T.  Minor adjustments may be necessary for ealier IOS revisions.&lt;br /&gt;
Note that the dial plan shown below will allow you to dial anything and will pass those digits directly to voip.ms, but will take a few seconds to route the call unless you finish the number with a #.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 configure terminal&lt;br /&gt;
 &lt;br /&gt;
 voice service voip&lt;br /&gt;
  gcid&lt;br /&gt;
  clid substitute name&lt;br /&gt;
  allow-connections sip to sip&lt;br /&gt;
  no supplementary-service sip moved-temporarily&lt;br /&gt;
  no supplementary-service sip refer&lt;br /&gt;
  sip&lt;br /&gt;
   e911&lt;br /&gt;
   transport switch udp tcp&lt;br /&gt;
   asserted-id ppi&lt;br /&gt;
   localhost dns:dns.name.of.your.device&lt;br /&gt;
   midcall-signaling passthru&lt;br /&gt;
   no call service stop&lt;br /&gt;
 &lt;br /&gt;
 sip-ua&lt;br /&gt;
  credentials username your_account password 0 your_password realm voip.ms&lt;br /&gt;
  authentication username your_account password 0 your_password&lt;br /&gt;
  registrar 1 dns:newyork.voip.ms  !Pick your preferred first server&lt;br /&gt;
  registrar 2 dns:montreal.voip.ms !Pick the next best here&lt;br /&gt;
  !You can configure up to 6 registrar servers for fault-tolerance&lt;br /&gt;
 &lt;br /&gt;
 !This dial peer will match all incoming calls for DIDs in the range (555)555-1000 to  (555)555-1999&lt;br /&gt;
 dial-peer voice 1 voip&lt;br /&gt;
  incoming called-number 5555551...&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte &lt;br /&gt;
 &lt;br /&gt;
 !This dial peer is for outgoing calls and matches anything.&lt;br /&gt;
 !Finish dialing with a # to immediately route the call.&lt;br /&gt;
 dial-peer voice 2 voip&lt;br /&gt;
  destination-pattern T&lt;br /&gt;
  voice-class sip asserted-id ppi&lt;br /&gt;
  no voice-class sip block 180&lt;br /&gt;
  no voice-class sip block 181&lt;br /&gt;
  no voice-class sip block 183&lt;br /&gt;
  voice-class sip pass-thru headers unsupp&lt;br /&gt;
  voice-class sip pass-thru content unsupp&lt;br /&gt;
  voice-class sip pass-thru content sdp&lt;br /&gt;
  dtmf-relay rtp-nte&lt;br /&gt;
  session protocol sipv2&lt;br /&gt;
  session transport udp&lt;br /&gt;
  session target sip-server &lt;br /&gt;
 end&lt;br /&gt;
 copy run start&lt;/div&gt;</summary>
		<author><name>Dereksky</name></author>	</entry>

	</feed>