AT&T SIP Trunking

We are working on deploying a system with FreePBX 2.10.1.2 & Asterisk 1.8.16.0 using AT&T as the SIP Trunks provider. They are not sure about the compatibility on those versions of FreePBX and Asterisk with their network. AT&T states that they the versions compatible with their system are Asterisk Business Edition C.1.6.2 & Asterisk 1.4.15. However, they are not sure about the versions we are using. Does anyone have any experience with this type of product with that provider. I have Googled this issue with no success, we would appreciate any input.

Thank you,

Francisco.

I am working on this now as well. I was able to make calls just fine, and receive calls (but with no audio). I am playing with the codecs, and let you know what I find.

It’s not your CODEC’s. That’s would generate an immediate fail. You have a NAT issue. More than likely you don’t have the AT&T gateway in the same network as your PBX or you missed the localnet setting in SIP settings.

Thanks for the info Skyking, but it wasn’t NAT. I had the codec settings in the trunk config as well as in the “Asterisk SIP settings” section. As soon as I removed the codes settings from the trunk config, everything works! I will post my config later for Franco177. I have FreePBX behind a Cisco ASA, so I can post that config as well if anyone wants it.

Certainly I can be wrong however I don’t want anyone to think that having a CODEC setting wrong will cause one way or no audio.

The CODEC is offered in the SDP of the SIP negotiation. If the CODEC’s don’t match the call fails.

I can’t imagine AT&T would setup a call with an invalid CODEC.

Skyking - you are correct. I did a bunch of things at the same time, so I kinda assumed the codec fixed it since that is the last thing I did to make it work.

Here you go Franco. Hope it helps!  I took it from my install guide, and works well for us.

General Settings

1. Trunk Name = ATT
2. Outbound CallerID = Whatever you want to display as your main number
3. CID Options = Allow Any CID
4. Maximum Channels= However many SIP lines you bought from AT&T
5. Disable Trunk=Nothing checked
6. Monitor Trunk Failures= Nothing Checked

Dialed Number Manipulation Rules
Leave at default settings

Outgoing Settings
TrunkName=ATT

PEER Details:
type=peer
qualify=2000
dtmfmode=rfc2833
host=Whatever AT&T gives you
insecure=very
context=from-pstn
canreinvite=no
nat=yes

Incoming Settings
Leave Blank 

Register String
Leave Blank

NAT Settings

Nat=Yes

IP Configuration:
Select Static IP
Click Auto Configure and check the values it enters ensures that the following are entered (tweak it if you need to):

External IP=The public IP address AT&T is sending the SIP to
Local Neworks=Your local network address E.G. 192.168.1.0/255.255.255.0 (Don’t forget any VPN addresses)

Now click Public IP

Audio Codecs
Codecs (only check the following):

ulaw
G729

Non-Standard g726=No
T38 Pass-Through=No

Video Codecs

Video Support=Disabled
All codecs unchecked

Media & RTP Settings

Reinvite Behavior=Yes

RTP Timers:
Rtptimeout=300
Rtpholdtimeout=300
Rtpkeepalive=30

Notifications & MWI

MWI Pollling Freq=10
Notify Ringing=Yes
Notify Hold=Yes

Registration Settings

Registrations
Registertimeout=20
Registerattempts=0

Registration Times
Minexpiry=60
Maxexpiry=3600
Defaultexpiry=120

Jitter Buffer=Disabled

Advanced General Settings

Language=en
Default Context=Leave Blank
Bind Address=Leave Blank
Bind Port=5060
Allow SIP Guests=Yes
SRV Lookup=Disabled
Call Events=No
Other SIP Settings=Leave Blank

1 Like

insecure=very is deprecated. The correct format is insecure=port,invite

For now both formats are acceptable, however you should use the right syntax.

What variable did you determine was the issue?

Skyking - I had the following as the first three lines in my SIP trunk config:
disallow=all
allow=ulaw
allow=G729

I had both codecs there as well as in my SIP config section. After I removed the settings from my trunk config, all was well. Now that I think about it, I had to add “NAT=yes” to my trunk settings as well.

Ok, and as a last point I want to make sure you have g.729 licenses installed?

You know, that is a good question. Based on that answer I am assuming no.

Unless you remember paying for it , you will not have it. So don’t try to use it until you do. :wink:

I am not familiar with the licensing aspect of the codec. Now that I have selected the G729 codec, my assumption is that it will not use it until it has been purchased and downloaded? I did a quick search and it appears you need to purchase it based on concurrent calls. Given that we have 6 SIP trunks am I correct in that I need 6 licenses of G729?

Not really, it is as you deduced based on concurrent calls, for example if you land g729 call on an IVR and then send it to a g729 phone, you will need two to transcribe the call, if you accept a call from your carrier in g729 and send it to a phone which has a g729 license you will need none. If you have 6 SIP trunks that send g729 and land on an IVR that sends back to 6 phones that use g729, you will need 12 licenses.

So, maybe a dumb question here. What is the advantage of using G729 vs. ulaw?

It uses less bandwidth. Disadvantage is it costs money and uses more processing. GSM comes close to bandwidth saving and is free. For good quality phonecalls use g711 where you can, like on your LAN, only transcode to a lower bandwidth codec when you need to for bandwidth limitation, but seriously, did you ever think of consulting auntie google? she has all your answers for you already . . .

I did consider google, but since you were engaging in the conversation I figured I would go straight to the source :slight_smile:

Although I am not by any means a “source” I just have just RTFM.

I do understand where you come from though, for many it is just too easy for someone else to do their own work for themselves.

This can be not such a good idea in the long run :wink: