<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hurlster.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Asterisk</id>
	<title>Asterisk - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://hurlster.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Asterisk"/>
	<link rel="alternate" type="text/html" href="https://hurlster.com/wiki/index.php?title=Asterisk&amp;action=history"/>
	<updated>2026-08-23T17:32:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://hurlster.com/wiki/index.php?title=Asterisk&amp;diff=2365&amp;oldid=prev</id>
		<title>Gqwill69 at 17:49, 21 February 2011</title>
		<link rel="alternate" type="text/html" href="https://hurlster.com/wiki/index.php?title=Asterisk&amp;diff=2365&amp;oldid=prev"/>
		<updated>2011-02-21T17:49:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Asterisk 1.8 Google Voice ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;/etc/apt/sources.list.d/asterisk.list&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 # apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1EE8660B &lt;br /&gt;
 deb http://ppa.launchpad.net/dajhorn/pkg-voip/ubuntu lucid main &lt;br /&gt;
 deb-src http://ppa.launchpad.net/dajhorn/pkg-voip/ubuntu lucid main&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;/etc/asterisk/&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;gtalk.conf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 [general]&lt;br /&gt;
 context=default&lt;br /&gt;
 ;bindaddr=192.168.0.100&lt;br /&gt;
 ;externip=99.99.99.99&lt;br /&gt;
 allowguest=yes&lt;br /&gt;
 &lt;br /&gt;
 [guest]&lt;br /&gt;
 disallow=all&lt;br /&gt;
 allow=ulaw&lt;br /&gt;
 context=asterisk&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;jabber.conf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 [general]&lt;br /&gt;
 debug=no&lt;br /&gt;
 autoprune=no&lt;br /&gt;
 autoregister=yes&lt;br /&gt;
 &lt;br /&gt;
 [asterisk]&lt;br /&gt;
 type=client&lt;br /&gt;
 serverhost=talk.google.com&lt;br /&gt;
 username=&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;username&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;@gmail.com/gmail&lt;br /&gt;
 secret=&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;password&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 port=5222&lt;br /&gt;
 usetls=yes&lt;br /&gt;
 usesasl=yes&lt;br /&gt;
 statusmessage=&amp;quot;I am available&amp;quot;&lt;br /&gt;
 timeout=100&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;sip.conf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 [general]&lt;br /&gt;
 context=default&lt;br /&gt;
 allowoverlap=no&lt;br /&gt;
 udpbindaddr=0.0.0.0&lt;br /&gt;
 tcpenable=no&lt;br /&gt;
 tcpbindaddr=0.0.0.0&lt;br /&gt;
 ;srvlookup=yes&lt;br /&gt;
 ;localnet=192.168.0.0/255.255.255.0&lt;br /&gt;
 ;externaddr=99.99.99.99&lt;br /&gt;
 &lt;br /&gt;
 [222]&lt;br /&gt;
 type=friend&lt;br /&gt;
 context=default&lt;br /&gt;
 username=222&lt;br /&gt;
 secret=&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;password&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 host=dynamic&lt;br /&gt;
 canreinvite=no&lt;br /&gt;
 dtfmode=rfc2833&lt;br /&gt;
 disallow=all&lt;br /&gt;
 allow=ulaw&lt;br /&gt;
 subscribecontext=default&lt;br /&gt;
 mailbox=222@internal&lt;br /&gt;
 nat=yes&lt;br /&gt;
 directmedia=no&lt;br /&gt;
 &lt;br /&gt;
 [333]&lt;br /&gt;
 type=friend&lt;br /&gt;
 context=default&lt;br /&gt;
 username=333&lt;br /&gt;
 secret=&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;password&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 host=dynamic&lt;br /&gt;
 canreinvite=no&lt;br /&gt;
 dtfmode=rfc2833&lt;br /&gt;
 disallow=all&lt;br /&gt;
 allow=ulaw&lt;br /&gt;
 subscribecontext=default&lt;br /&gt;
 mailbox=333@internal&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;extensions.conf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 [general]&lt;br /&gt;
 static=yes&lt;br /&gt;
 writeprotect=no&lt;br /&gt;
 clearglobalvars=no&lt;br /&gt;
 &lt;br /&gt;
 [globals]&lt;br /&gt;
 CONSOLE=Console/dsp&lt;br /&gt;
 IAXINFO=guest&lt;br /&gt;
 TRUNK=DAHDI/G2&lt;br /&gt;
 TRUNKMSD=1&lt;br /&gt;
 &lt;br /&gt;
 [default]&lt;br /&gt;
 ; INBOUND calls&lt;br /&gt;
 exten =&amp;gt; s,1,Answer()               ; Pickup GV calling, pending pressing option #1 or #2&lt;br /&gt;
 exten =&amp;gt; s,n,Dial(SIP/222,23,D(:1)) ; When answered fire a #1 to GV only(:1)&lt;br /&gt;
 exten =&amp;gt; s,n,SendDTMF(2)            ; Else fall through to tell GV to goto voicemail #2&lt;br /&gt;
 &lt;br /&gt;
 ; OUTBOUND calls&lt;br /&gt;
 ; Long Distance dialing 1+&lt;br /&gt;
 exten =&amp;gt; _1XXXXXXXXXX,1,dial(Gtalk/asterisk/+${EXTEN}@voice.google.com,,)&lt;br /&gt;
 ; Long Distance add +1&lt;br /&gt;
 exten =&amp;gt; _NXXNXXXXXX,1,dial(Gtalk/asterisk/+1${EXTEN}@voice.google.com,,)&lt;br /&gt;
 ; Local dialing&lt;br /&gt;
 exten =&amp;gt; _NXXXXXX,1,dial(Gtalk/asterisk/+1515${EXTEN}@voice.google.com,,)&lt;br /&gt;
 &lt;br /&gt;
 exten =&amp;gt; 222,1,Dial(SIP/222,,)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;extensions_custom.conf&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
This is for utilizing FreePBX and still using google voicemail&lt;br /&gt;
 [from-google]&lt;br /&gt;
  exten =&amp;gt; s,1,Answer()&lt;br /&gt;
  ;exten =&amp;gt; s,n,Wait(2)&lt;br /&gt;
  ;exten =&amp;gt; s,n,SendDTMF(1)&lt;br /&gt;
  exten =&amp;gt; s,n,Set(CALLERID(num)=${CUT(CALLERID(name),@,1)})&lt;br /&gt;
  exten =&amp;gt; s,n,Set(CALLERID(name)=${CUT(CALLERID(name),/,1)})&lt;br /&gt;
  exten =&amp;gt; s,n,Goto(from-trunk,15159781570,1)&lt;br /&gt;
  exten =&amp;gt; s,n,SendDTMF(2)            ; Else fall through to tell GV to goto voicemail #2&lt;br /&gt;
  ;exten =&amp;gt; s,h,Hangup&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;manager.d/admin.conf&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 [admin]&lt;br /&gt;
 secret = SuPeRsEcReTpAsSwOrD&lt;br /&gt;
 read = system,call,log,verbose,command,agent,config,read,write,originate&lt;br /&gt;
 write = system,call,log,verbose,command,agent,config,read,write,originate&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SNMP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use IO::Socket;&lt;br /&gt;
use Getopt::Long;&lt;br /&gt;
$|=1;&lt;br /&gt;
&lt;br /&gt;
my $host = &amp;quot;localhost&amp;quot;;&lt;br /&gt;
my $username = &amp;quot;admin&amp;quot;;&lt;br /&gt;
my $password = &amp;quot;SuPeRsEcReTpAsSwOrD&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
my (&lt;br /&gt;
        $version, $response, $message, $line, $chan1, $chan2,&lt;br /&gt;
        $verbose, $help, $command,&lt;br /&gt;
        $warning, $critical, &lt;br /&gt;
        %warnval, %critval,&lt;br /&gt;
        %channels,&lt;br /&gt;
        $sock,&lt;br /&gt;
        $key,&lt;br /&gt;
        $s,&lt;br /&gt;
        $i,&lt;br /&gt;
);&lt;br /&gt;
my $stop = 0;&lt;br /&gt;
my $port = 5038;&lt;br /&gt;
my $exitcode = 0;&lt;br /&gt;
my $cause = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub warning {&lt;br /&gt;
        $s = shift;&lt;br /&gt;
        $s =~ s/[\r\n]//g;&lt;br /&gt;
        print &amp;quot;WARNING: $s\n&amp;quot; if ($verbose);&lt;br /&gt;
        exit(1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub error {&lt;br /&gt;
        $s = shift;&lt;br /&gt;
        $s =~ s/[\r\n]//g;&lt;br /&gt;
        print &amp;quot;ERROR: $s\n&amp;quot; if ($verbose);&lt;br /&gt;
        exit(2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub unknown {&lt;br /&gt;
        $s = shift;&lt;br /&gt;
        $s =~ s/[\r\n]//g;&lt;br /&gt;
        print &amp;quot;UNKNOWN: $s\n&amp;quot; if ($verbose);&lt;br /&gt;
        exit(3);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub syntax {&lt;br /&gt;
        $s = shift;&lt;br /&gt;
        unless ($s =~ m/Help:/) {&lt;br /&gt;
                $s = &amp;quot;Error: (&amp;quot;.$s.&amp;quot;)&amp;quot; or $s = &amp;#039;Unknown&amp;#039;;&lt;br /&gt;
        }&lt;br /&gt;
        print &amp;quot;$s\n&amp;quot; unless ($help);&lt;br /&gt;
        print &amp;quot;Syntax: $0 -h &amp;lt;host&amp;gt; -u &amp;lt;username&amp;gt; -p &amp;lt;password&amp;gt; [-cwv]\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;* --username -u       Username\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;* --password -p       Password\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;* --host -h           Host\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;  --port -P n         Port (if not using $port)\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;  --chan1 -1 xxx      Display channel xxx as 1.\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;  --chan2 -2 xxx      Display channel xxx as 2.\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;  --verbose -v        Verbose\n&amp;quot;;&lt;br /&gt;
        print &amp;quot;  --help -H           This help\n&amp;quot;;&lt;br /&gt;
        exit(3);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Getopt::Long::Configure(&amp;#039;bundling&amp;#039;);&lt;br /&gt;
GetOptions&lt;br /&gt;
        (&amp;quot;p=s&amp;quot;        =&amp;gt; \$password, &amp;quot;password=s&amp;quot; =&amp;gt; \$password,&lt;br /&gt;
         &amp;quot;u=s&amp;quot;        =&amp;gt; \$username, &amp;quot;username=s&amp;quot; =&amp;gt; \$username,&lt;br /&gt;
         &amp;quot;h=s&amp;quot;        =&amp;gt; \$host,     &amp;quot;host=s&amp;quot;     =&amp;gt; \$host,&lt;br /&gt;
         &amp;quot;P=s&amp;quot;        =&amp;gt; \$port,     &amp;quot;port=s&amp;quot;     =&amp;gt; \$port,&lt;br /&gt;
         &amp;quot;H&amp;quot;          =&amp;gt; \$help,     &amp;quot;help&amp;quot;       =&amp;gt; \$help,&lt;br /&gt;
         &amp;quot;v&amp;quot;          =&amp;gt; \$verbose,  &amp;quot;verbose&amp;quot;    =&amp;gt; \$verbose,&lt;br /&gt;
         &amp;quot;chan1=s&amp;quot;    =&amp;gt; \$chan1,    &amp;quot;1=s&amp;quot;        =&amp;gt; \$chan1,&lt;br /&gt;
         &amp;quot;chan2=s&amp;quot;    =&amp;gt; \$chan2,    &amp;quot;2=s&amp;quot;        =&amp;gt; \$chan2);&lt;br /&gt;
&lt;br /&gt;
syntax(&amp;quot;Help:&amp;quot;) if ($help);&lt;br /&gt;
syntax(&amp;quot;Missing username&amp;quot;) unless (defined($username));&lt;br /&gt;
syntax(&amp;quot;Missing password&amp;quot;) unless (defined($password));&lt;br /&gt;
syntax(&amp;quot;Missing host&amp;quot;) unless (defined($host));&lt;br /&gt;
syntax(&amp;quot;Missing channels&amp;quot;) if (!defined($chan1) or !defined($chan2));&lt;br /&gt;
if (defined($warning)) {&lt;br /&gt;
        foreach $s (split(/,/, $warning)) {&lt;br /&gt;
                syntax(&amp;quot;Warning value given, $s, is invalid&amp;quot;)&lt;br /&gt;
                        unless ($s =~ /^(\w+)=(\d+)$/);&lt;br /&gt;
                $warnval{$1} = $2;&lt;br /&gt;
                print &amp;quot;Clear to give WARNING after $2 connections on $1\n&amp;quot; if ($verbose);&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
if (defined($critical)) {&lt;br /&gt;
        foreach $s (split(/,/, $critical)) {&lt;br /&gt;
                syntax(&amp;quot;Critical value given, $s, is invalid&amp;quot;)&lt;br /&gt;
                        unless ($s =~ /^(\w+)=(\d+)$/);&lt;br /&gt;
                $critval{$1} = $2;&lt;br /&gt;
                print &amp;quot;Clear to give CRITICAL after $2 connections on $1\n&amp;quot; if ($verbose);&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
unless ($sock = IO::Socket::INET-&amp;gt;new(PeerAddr =&amp;gt; $host, PeerPort =&amp;gt; $port, Proto =&amp;gt; &amp;#039;tcp&amp;#039;)) {&lt;br /&gt;
        print(&amp;quot;Could not connect to asterisk server &amp;quot;.$host.&amp;quot;:&amp;quot;.$port.&amp;quot;\n&amp;quot;) if ($verbose);&lt;br /&gt;
        exit(2);&lt;br /&gt;
}&lt;br /&gt;
$version = &amp;lt;$sock&amp;gt;;&lt;br /&gt;
print $version if ($verbose);&lt;br /&gt;
&lt;br /&gt;
print $sock &amp;quot;Action: Login\r\nUsername: $username\r\nSecret: $password\r\nEvents: off\r\n\r\n&amp;quot;;&lt;br /&gt;
print &amp;quot;Action: Login\r\nUsername: $username\r\nSecret: $password\r\n\r\n&amp;quot; if ($verbose);&lt;br /&gt;
$response = &amp;lt;$sock&amp;gt;;&lt;br /&gt;
$message = &amp;lt;$sock&amp;gt;;&lt;br /&gt;
$s = &amp;lt;$sock&amp;gt;;&lt;br /&gt;
print $response.$message if ($verbose);&lt;br /&gt;
print $s if ($verbose);&lt;br /&gt;
&lt;br /&gt;
exit(1) unless ($response =~ m/^Response:\s+(.*)$/i);&lt;br /&gt;
exit(1) unless ($1 =~ m/Success/i);&lt;br /&gt;
&lt;br /&gt;
print $sock &amp;quot;Action: Status\r\n\r\n&amp;quot;;&lt;br /&gt;
print &amp;quot;Action: Status\r\n\r\n&amp;quot; if ($verbose);&lt;br /&gt;
&lt;br /&gt;
$response = &amp;lt;$sock&amp;gt;;&lt;br /&gt;
$message = &amp;lt;$sock&amp;gt;;&lt;br /&gt;
print $response.$message if ($verbose);&lt;br /&gt;
&lt;br /&gt;
&amp;amp;unknown(&amp;quot;Unknown answer $response (wanted Response: something)&amp;quot;) unless ($response =~ m/^Response:\s+(.*)$/i);&lt;br /&gt;
&amp;amp;unknown(&amp;quot;$response didn&amp;#039;t say Success&amp;quot;) unless ($1 =~ m/Success/i);&lt;br /&gt;
&amp;amp;unknown(&amp;quot;Unknown answer $response (wanted Message: something)&amp;quot;) unless ($message =~ m/^Message:\s+(.*)$/i);&lt;br /&gt;
&amp;amp;unknown(&amp;quot;didn&amp;#039;t understand message $message&amp;quot;) unless ($1 =~ m/Channel status will follow/i);&lt;br /&gt;
&lt;br /&gt;
$stop=0;&lt;br /&gt;
while (($stop == 0) &amp;amp;&amp;amp; ($line = &amp;lt;$sock&amp;gt;)) {&lt;br /&gt;
        print &amp;quot;$line&amp;quot; if ($verbose);&lt;br /&gt;
        if ($line =~ m/Channel:\s+(\w+)\//) {&lt;br /&gt;
                $channels{$1}++;&lt;br /&gt;
                print &amp;quot;Found $1 channel\n&amp;quot; if ($verbose);&lt;br /&gt;
        }&lt;br /&gt;
        if ($line =~ m/Event:\s*StatusComplete/i) {&lt;br /&gt;
                $stop++;&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Log out&lt;br /&gt;
print $sock &amp;quot;Action: Logoff\r\n\r\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
undef($s);&lt;br /&gt;
&lt;br /&gt;
for ($i=0;$i&amp;lt;2;$i++) {&lt;br /&gt;
        if (defined($channels{$chan1})) {&lt;br /&gt;
                print $channels{$chan1} . &amp;quot;\n&amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
                print &amp;quot;0\n&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        if (defined($channels{$chan2})) {&lt;br /&gt;
                print $channels{$chan2} . &amp;quot;\n&amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
                print &amp;quot;0\n&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== FreePBX ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SipGate Trunk Behind NAT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
host=sipgate.com&lt;br /&gt;
fromdomain=sipgate.com&lt;br /&gt;
username=10599999&lt;br /&gt;
secret=s3cr3t&lt;br /&gt;
type=peer&lt;br /&gt;
insecure=very&lt;br /&gt;
defaultuser=10599999&lt;br /&gt;
fromuser=10599999&lt;br /&gt;
qualify=yes&lt;br /&gt;
disallow=all&lt;br /&gt;
allow=ulaw&amp;amp;alaw&lt;br /&gt;
dtmfmode=rfc2833&lt;br /&gt;
caninvite=no&lt;br /&gt;
canreinvite=no&lt;br /&gt;
nat=yes&lt;br /&gt;
context=from-trunk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= OLD INFORMATION =&lt;br /&gt;
&lt;br /&gt;
== SipGate Configuration ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;FreePBX&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
*SIP Trunk&lt;br /&gt;
**Trunk Name&lt;br /&gt;
***SipGate&lt;br /&gt;
**PEER Details&lt;br /&gt;
***allow=ulaw&amp;amp;alaw&lt;br /&gt;
***caninvite=no&amp;lt;br /&amp;gt;&lt;br /&gt;
***canreinvite=no&amp;lt;br /&amp;gt;&lt;br /&gt;
***context=from-trunk&amp;lt;br /&amp;gt;&lt;br /&gt;
***disallow=all&amp;lt;br /&amp;gt;&lt;br /&gt;
***fromdomain=sipgate.com&amp;lt;br /&amp;gt;&lt;br /&gt;
***fromuser=12345678e&amp;lt;br /&amp;gt;&lt;br /&gt;
***host=sipgate.com&amp;lt;br /&amp;gt;&lt;br /&gt;
***insecure=invite&amp;lt;br /&amp;gt;&lt;br /&gt;
***nat=no&amp;lt;br /&amp;gt;&lt;br /&gt;
***secret=MYPASSWD&amp;lt;br /&amp;gt;&lt;br /&gt;
***type=peer&amp;lt;br /&amp;gt;&lt;br /&gt;
***username=12345678e&amp;lt;br /&amp;gt;&lt;br /&gt;
**USER Details&lt;br /&gt;
***Delete ALL&lt;br /&gt;
**Register String&lt;br /&gt;
***9999999e0:LK8K3O@sipgate.com/9999999999&lt;br /&gt;
*Inbound Route&lt;br /&gt;
**Description&lt;br /&gt;
***SipGate&lt;br /&gt;
**DID Number&lt;br /&gt;
***9999999999&lt;br /&gt;
**Set Destination&lt;br /&gt;
***Extension(Pre-created)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Google Voice ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;gvoice setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 [root@voice ~]# asterisk-gvoice-setup &lt;br /&gt;
 This script installs Google Voice support on your PBX.&lt;br /&gt;
 You must have a system that is compatible with PBX in a Flash.&lt;br /&gt;
 WARNING: No error checking is provided.&lt;br /&gt;
 By using this script, you agree to assume ALL RISK.&lt;br /&gt;
 NO WARRANTY, EXPRESS OR IMPLIED, OF ANY KIND IS PROVIDED.&lt;br /&gt;
 &lt;br /&gt;
 If you make a typo while entering values below, press Ctrl-C and start over.&lt;br /&gt;
 Before starting, make sure you have removed any original [custom-gv] context&lt;br /&gt;
 &lt;br /&gt;
 Asterisk dialplan configuration file&lt;br /&gt;
     [Default /etc/asterisk/extensions_custom.conf]: &lt;br /&gt;
 &lt;br /&gt;
 Your Google Voice entries are stored in /etc/asterisk/extensions_custom.conf&lt;br /&gt;
 Edit that file and reload your Asterisk dialplan if you make future changes.&lt;br /&gt;
 &lt;br /&gt;
 10-digit Google Voice phone number (e.g. 9871234567): 1234567891&lt;br /&gt;
 Google Voice email address: cashmoney@gmail.com&lt;br /&gt;
 Google Voice password: &lt;br /&gt;
 11-digit Ring Back DID (e.g. 16781234567): 11234567891&lt;br /&gt;
 Parking Lot Magic Number: 75&lt;br /&gt;
 &lt;br /&gt;
 We are now ready to begin the installation.&lt;br /&gt;
 Confirm your entries below or press Ctrl-C to abort and try again.&lt;br /&gt;
 &lt;br /&gt;
 CONFIG: /etc/asterisk/extensions_custom.conf&lt;br /&gt;
 GVNUM: 1234567891&lt;br /&gt;
 ACCTNAME: cashmoney@gmail.com&lt;br /&gt;
 RINGBACK: 11234567891&lt;br /&gt;
 CALLPARK: 75&lt;br /&gt;
 &lt;br /&gt;
 Hit Enter key to proceed&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Installing Google Voice support for your PBX. One moment please...&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Installation script is finished. Do NOT run it again on this system!&lt;br /&gt;
 &lt;br /&gt;
 You can now reload your Asterisk dialplan configuration with the following command&lt;br /&gt;
 &lt;br /&gt;
    asterisk -rx &amp;quot;dialplan reload&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 For complete documentation, see the following Nerd Vittles article:&lt;br /&gt;
 &lt;br /&gt;
 http://nerdvittles.com/?p=635 &lt;br /&gt;
 &lt;br /&gt;
 [root@voice ~]# asterisk -rx &amp;quot;dialplan reload&amp;quot;&lt;br /&gt;
 Dialplan reloaded.&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Gqwill69</name></author>
	</entry>
</feed>