Broadvoice setup

I have found that there are many configuration ideas for the provider broadvoice and most of them do not work. Here is my settings that work. I hope it helps people out.

[Broadvoice]
username=your phone number
type=peer
secret=the secret they gave you
nat=yes
insecure=very
host=sip.broadvoice.com
fromuser=your phone number
fromdomain=sip.broadvoice.com
dtmfmode=rfc2833
disallow=all
context=from-pstn
canreinvite=no
allow=ulaw

[from-pstn]
username=your phone number
user=your phone number
type=friend
secret=the secret they gave you
nat=yes
insecure=very
host=sip.broadvoice.com
fromdomain=sip.broadvoice.com
dtmfmode=rfc2833
dtmf=rfc2833
context=from-pstn

your phone [email protected]:the secret they gave you:your phone [email protected]/an extension on your system (don’t think this matters because the extension I was using was deleted and it still worked)

Well this config worked with trixbox but I am using it with pbx in a flash and can not get incoming calls to route for the life of me. If anyone sees anything please let me know. If I correct the problem and it is with my config I will let everyone know.

Outgoing settings:

pedantic=no
username=XXXXXXXXXX
user=phone
type=peer
secret=PASSWORD
insecure=very
host=sip.broadvoice.com
fromuser=XXXXXXXXXX
fromdomain=sip.broadvoice.com
dtmfmode=inband
dtmf=inband
disallow=all
context=from-asterisk
;if you have a nat, set canreinvite=no
canreinvite=no
allow=ulaw

User Context

sip.broadvoice.com

Incoming Settings

username=XXXXXXXXXX
user=phone
type=peer
secret=PASSWORD
insecure=very
host=sip.broadvoice.com
fromuser=XXXXXXXXXX
fromdomain=sip.broadvoice.com
dtmfmode=inband
dtmf=inband
disallow=all
context=from-pstn
allow=ulaw
qualify=yes
nat=no
canreinvite=no

Registration string:

[email protected]:PASSWORD:[email protected]/NNNNNNNNNN

Notes:

Of course, you replace XXXXXXXXX’s with your MAIN broadvoice phone number

If you notice, I have a couple more config lines than broadvoice posts on there site; I’m not saying which ones but some allow unlimited inbound channels. I did have it where I had unlimited outbound channels until broadvoice caught up to my “tweak”.

The NNNNNNNNN in the registration string should be your phone number but doesn’t have to be. A lot of people are saying that this is the extension that you want the calls to go to but they have the wrong idea. THIS SPECIFIES THE DID for you to use when routing calls. So, when you go in freepbx and add a new inbound route, this is the what you would put for the DID number. Basically, this is how asterisk references the incoming calls for this particular registration so you can route them how you want; you could put [email protected]/johnsmith instead of a number and put johnsmith as the DID number on an inbound route.

set nat=yes and canreinvite=no on BOTH config groups if you don’t have the ports 69,5060,5061 forwarded OR DMZ.

You can also set canreinvite=no when you don’t have a nat if you want all call operations to stay on your asterisk server; for instance, if I transfer someone to an external number with canreinvite=yes, this will cause the call to go away from my asterisk server and will send their caller id to wherever I transfer them to. With canreinvite=no, it will stay on my server and, when transferred, it will show up my main broadvoice number on the party’s phone i’m transferring the other one too; this also allows operations such as chanspy and other for the calls you have transferred.

IF YOU HAVE A NAT, there is more setup you need to do otherwise you may have problems with incoming calls;

Go to dyndns.org and get a dynamic ip to static host name. Install their windows client on your windows machine OR
most linksys and d-link routers support their service and you can just configure it there.

Once you get this hostname, edit the general section in /etc/asterisk/sip.conf:

bindaddr=0.0.0.0.0
externip=yourhostname
externaddr=yourhostname

I have a more complex code for distincitve ring inbound routing that allows asterisk to separate my alternate numbers as if they were real did’s and they allow me to route them to different parts of asterisk If you would like help in setting this up, e-mail me at [email protected]. I can’t just post the code here as it is a different configuration for each box but same principles.